From de72062b6b37b3fe5bdc703c4bb24f0b798c6d7b Mon Sep 17 00:00:00 2001 From: Paul Donahue <48959409+pdonahue-ventana@users.noreply.github.com> Date: Tue, 6 Feb 2024 16:33:37 -0800 Subject: Don't conflate hart and system (#1215) * Add clarifying non-normative comments about [m]time Text contributed by @gfavor * Don't conflate hart and system * Don't conflate hart and system * Remove text that mysteriously appeared on my branch. --------- Co-authored-by: Andrew Waterman --- src/counters.adoc | 16 ---------------- 1 file changed, 16 deletions(-) (limited to 'src/counters.adoc') diff --git a/src/counters.adoc b/src/counters.adoc index 2011386..cf646c6 100644 --- a/src/counters.adoc +++ b/src/counters.adoc @@ -147,22 +147,6 @@ As with other architectural mandates, it suffices to appear "as if" harts are synchronized to within one tick of the real-time clock, i.e., software is unable to observe that there is a greater delta between the real-time clock values observed on two harts. - -If, for example, the real-time clock increments at a frequency of 1 GHz, then -all harts must appear to be synchronized to within 1 nsec. -But it is also acceptable for this example implementation to only update the -real-time clock at, say, a frequency of 100 MHz with increments of 10 ticks. -As long as software cannot observe this seeming violation of the above -synchronization requirement, and software always observes time across harts to -be monotonically nondecreasing, then this implementation is compliant. - -A platform spec may then, for example, specify an apparent real-time clock -tick frequency (e.g. 1 GHz) and also a minimum update frequency (e.g. 100 MHz) -at which updated time values are guaranteed to be observable by software. -Software may read time more frequently, but it should only observe -monotonically nondecreasing values and it should observe a new value at least -once every 10 ns (corresponding to the 100 MHz update frequency in this -example). ==== The RDINSTRET pseudoinstruction reads the low XLEN bits of the `instret` CSR, which counts the number of instructions retired by this -- cgit v1.1