Skip to content

Commit

Permalink
Update zihintpause.tex
Browse files Browse the repository at this point in the history
  • Loading branch information
gfavor authored and aswaterman committed Oct 10, 2020
1 parent 5878bd3 commit 90d48fd
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions src/zihintpause.tex
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -31,8 +30,8 @@ \chapter{``Zihintpause'' Pause Hint, Version 2.0}
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.
Expand Down

0 comments on commit 90d48fd

Please sign in to comment.