more slides
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 19 May 2018 16:44:41 +0000 (17:44 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 19 May 2018 16:44:41 +0000 (17:44 +0100)
simple_v_extension/simple_v_chennai_2018.tex

index 3b07607443c1507e90aac5f3d2e0eefd763b5270..4fe915a8f50205e450714a0bfcf596c145554708 100644 (file)
@@ -1,10 +1,8 @@
-
 \documentclass[slidestop]{beamer}
 \usepackage{beamerthemesplit}
 \usepackage{graphics}
 \usepackage{pstricks}
 
-
 \title{Simple-V RISC-V Extension for Vectorisation and SIMD}
 \author{Luke Kenneth Casson Leighton}
 
   \end{itemize}
 }
 
+\begin{frame}[fragile]
+\frametitle{ADD pseudocode (or trap, or actual hardware loop)}
+
+\begin{semiverbatim}
+function op_add(rd, rs1, rs2, predr) \{
+  int i, id=0, irs1=0, irs2=0;
+  for (i=0; i < MIN(VL, vectorlen[rd]); i++)
+    if (predicate[predr][i]) # integer regfile: bitfield
+       x[rd+id] <= x[rs1+irs1] + x[rs2+irs2];
+    # now increment idxs: src/dest all vec/scalar
+    if (reg_is_vectorised[rd]) \{ id += 1; \}
+    if (reg_is_vectorised[rs1]) \{ irs1 += 1; \}
+    if (reg_is_vectorised[rs2]) \{ irs2 += 1; \}
+\}
+\end{semiverbatim}
+   \begin{itemize}
+   \item Scalar-scalar and scalar-vector and vector-vector now all in one
+   \item OoO may choose to push ADDs into instr. queue (v. busy!)
+  \end{itemize}
+\end{frame}
 
 \frame{\frametitle{How are SIMD Instructions Vectorised?}