aboutsummaryrefslogtreecommitdiff
path: root/src/m.tex
diff options
context:
space:
mode:
Diffstat (limited to 'src/m.tex')
-rw-r--r--src/m.tex20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/m.tex b/src/m.tex
index fb3ac6a..5551a9b 100644
--- a/src/m.tex
+++ b/src/m.tex
@@ -14,6 +14,7 @@ attached accelerators.
\end{commentary}
\section{Multiplication Operations}
+\label{multiplication-operations}
\vspace{-0.2in}
\begin{center}
@@ -166,3 +167,22 @@ unsigned divider implementations. Signed division is often
implemented using an unsigned division circuit and specifying the same
overflow result simplifies the hardware.
\end{commentary}
+
+\section{Zmmul Extension, Version 0.1}
+
+The Zmmul extension implements the multiplication subset of the M extension.
+It adds all of the instructions defined in Section~\ref{multiplication-operations},
+namely: MUL, MULH, MULHU, MULHSU, and (for RV64 only) MULW.
+The encodings are identical to those of the corresponding M-extension instructions.
+
+\begin{commentary}
+The Zmmul extension enables low-cost implementations that require
+multiplication operations but not division.
+For many microcontroller applications, division operations are too
+infrequent to justify the cost of divider hardware.
+By contrast, multiplication operations are more frequent, making the cost of
+multiplier hardware more justifiable.
+Simple FPGA soft cores particularly benefit from eliminating division but
+retaining multiplication, since many FPGAs provide hardwired multipliers
+but require dividers be implemented in soft logic.
+\end{commentary}