From: Luke Kenneth Casson Leighton Date: Tue, 26 Oct 2021 10:43:53 +0000 (+0100) Subject: update openpower 2021 slides X-Git-Tag: opf_rfc_ls005_v1~3526 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3bdd3714dc8a5053ccd8afd2a5cbc222dac69e5c;p=libreriscv.git update openpower 2021 slides --- diff --git a/conferences/openpower2021/openpower_2021.tex b/conferences/openpower2021/openpower_2021.tex index 138a6ef08..b6da77501 100644 --- a/conferences/openpower2021/openpower_2021.tex +++ b/conferences/openpower2021/openpower_2021.tex @@ -82,24 +82,197 @@ \frametitle{Reminder of Simple-V} \begin{semiverbatim} +https://libre-soc.org/openpower/sv/overview/ Greatly simplified (like x86 "REP" instruction):  for (i = 0; i < VL; i++) -    ireg[RT+i] <= ireg[RA+i] + ireg[RB+i]; +    GPR[RT+i] <= GPR[RA+i] + GPR[RB+i]; -function op\_add(rd, rs1, rs2, predr) # add not VADD! +function op\_add(RT, RA, RB, predr) # add not VADD!  int i, id=0, irs1=0, irs2=0;  for (i = 0; i < VL; i++) -   if (ireg[predr] & 1< A: 3x5 B: 3x4 + => C: 3x3 +svremap (enable) (F)RS, (F)RT, (F)RA, (F)RB, (F)RC +sv.fmadds: uses fp0 as accumulator + product[i][j] += A[i][v] * B[v][j] +\end{semiverbatim} + +\end{frame} + +\frame{\frametitle{Ehm that's all Folks} + +\vspace{15pt} + + \begin{itemize} + \item Really is that straightforward: no actual Vector ops\\ + - Does not dictate or limit micro-architectural detail\\ + - Issues Scalar FMACs into existing back-end hardware\\ + - Can use any 4-operand instruction (GF, INT, Bitmanip)\\ + - Any operand width (8/16/32/64), up to 127 ops\vspace{8pt} + \item Specialise by making Matrix Multiply "setup" quick/easy\\ + - two 32-bit instructions to set up A, B, C sizes\\ + - one 64-bit SVP64 FMAC instruction.\\ + - Nothing else needed. Saves on I-Cache\vspace{8pt} + \item Hardware turns out to be near-identical to ZOLC\\ + https://opencores.org/projects/hwlu\\ + https://libre-soc.org/openpower/sv/remap/\vspace{15pt} + \end{itemize} +} + \frame{\frametitle{Summary} @@ -116,7 +289,7 @@ function op\_add(rd, rs1, rs2, predr) # add not VADD! \item Combination of which is that Board Support Package is 100\% upstream, app and product development by customer is hugely simplified and much more attractive - + \end{itemize} } @@ -128,7 +301,7 @@ function op\_add(rd, rs1, rs2, predr) # add not VADD! Questions?\vspace{15pt} } \end{center} - + \begin{itemize} \item Discussion: Libre-SOC-dev mailing list \item Freenode IRC \#libre-soc