From 90d48fd863686dbb014f50862947704f43db4f42 Mon Sep 17 00:00:00 2001 From: gfavor <47677210+gfavor@users.noreply.github.com> Date: Fri, 9 Oct 2020 20:38:09 -0700 Subject: [PATCH] Update zihintpause.tex --- src/zihintpause.tex | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/zihintpause.tex b/src/zihintpause.tex index bd9270ff7..c739e617e 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 @@ \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.