From: Luke Kenneth Casson Leighton Date: Sun, 15 Jul 2018 11:11:33 +0000 (+0100) Subject: slides update X-Git-Tag: convert-csv-opcode-to-binary~5041 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5949780868ec7a5465baa4b730bc52801450e088;p=libreriscv.git slides update --- diff --git a/shakti/m_class/libre_riscv_chennai_2018.tex b/shakti/m_class/libre_riscv_chennai_2018.tex index eb0ee3a4c..91aa96060 100644 --- a/shakti/m_class/libre_riscv_chennai_2018.tex +++ b/shakti/m_class/libre_riscv_chennai_2018.tex @@ -375,13 +375,27 @@ } -\frame{\frametitle{} +\frame{\frametitle{Which Processor Cores to use?} \begin{itemize} - \item - \item - \item + \item Shakti RV64 at the top of the list, not just for technical + reasons, but for the Shakti Group's goals and vision. + \vspace{6pt} + \item Libre 3D GPGPU (SMP RV64 plus accelerated custom ISA) + would make things interesting\\ + (3D app pinned to a non-uniform but SMP architecture) + \vspace{6pt} + \item Video Processing again is reasonable to be a different + RV32/64 Core (SMP or otherwise), possibly not even RV + at all (MIPS, OR1200) + \vspace{6pt} + \item RV32 (PicoRV32?) always-on definitely needed (sleep mode) + \vspace{6pt} \end{itemize} + {\it Ultimately, decisions are flexible, heavily weighted + towards "what does good and doesn't do bad" as + well as cost vs risk + } } diff --git a/simple_v_extension/simple_v_chennai_2018.tex b/simple_v_extension/simple_v_chennai_2018.tex index 902f7cc22..6401ef90b 100644 --- a/simple_v_extension/simple_v_chennai_2018.tex +++ b/simple_v_extension/simple_v_chennai_2018.tex @@ -103,7 +103,7 @@ \frame{\frametitle{What's the value of SV? Why adopt it even in non-V?} \begin{itemize} - \item memcpy becomes much smaller (higher bang-per-buck) + \item memcpy has a much higher bang-per-buck ratio \item context-switch (LOAD/STORE multiple): 1-2 instructions \item Compressed instrs further reduces I-cache (etc.) \item Reduced I-cache load (and less I-reads) @@ -471,10 +471,10 @@ def get\_pred\_val(bool is\_fp\_op, int reg): \begin{semiverbatim} function op\_add(rd, rs1, rs2) # add not VADD!  int i, id=0, irs1=0, irs2=0; +  predval = get\_pred\_val(FALSE, rd);  rd = int\_vec[rd ].isvector ? int\_vec[rd ].regidx : rd;  rs1 = int\_vec[rs1].isvector ? int\_vec[rs1].regidx : rs1;  rs2 = int\_vec[rs2].isvector ? int\_vec[rs2].regidx : rs2; -  predval = get\_pred\_val(FALSE, rd);  for (i = 0; i < VL; i++) if (predval \& 1<