aboutsummaryrefslogtreecommitdiff
path: root/src/zihintpause.tex
diff options
context:
space:
mode:
Diffstat (limited to 'src/zihintpause.tex')
-rw-r--r--src/zihintpause.tex15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/zihintpause.tex b/src/zihintpause.tex
index bd9270f..c739e61 100644
--- a/src/zihintpause.tex
+++ b/src/zihintpause.tex
@@ -1,17 +1,16 @@
-\chapter{``Zihintpause'' Pause Hint, Version 2.0}
+\chapter{``Zihintpause'' Pause Hint, Version 1.0}
\label{chap:zihintpause}
-{\bf Warning! This draft specification is likely to change before being
-accepted as standard by the RISC-V Foundation.}
-
The PAUSE instruction is a HINT that indicates the current hart's rate of
-instruction retirement should be temporarily reduced. The duration of its
-effect must be bounded.
+instruction retirement should be temporarily reduced or paused. The duration of its
+effect must be bounded and may be zero. No architectural state is changed.
\begin{commentary}
Software can use the PAUSE instruction to reduce energy consumption while
executing spin-wait code sequences. Multithreaded cores might temporarily
relinquish execution resources to other harts when PAUSE is executed.
+It is recommended that a PAUSE instruction generally be included in the code
+sequence for a spin-wait loop.
A future extension might add primitives similar to the x86 MONITOR/MWAIT
instructions, which provide a more efficient mechanism to wait on writes to
@@ -31,8 +30,8 @@ other implementations, or even on some executions on the same implementation.
PAUSE is encoded as a FENCE instruction with {\em pred}=W and {\em succ}=0.
\begin{commentary}
-We encoded PAUSE as a hint within the FENCE opcode because we expect some
-implementations to deliberately stall the PAUSE instruction until outstanding
+PAUSE is encoded as a hint within the FENCE opcode because some
+implementations are expected to deliberately stall the PAUSE instruction until outstanding
memory transactions have completed.
Because the successor set is null, however, PAUSE does not {\em mandate} any
particular memory ordering---hence, it truly is a HINT.