X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=shakti%2Fm_class%2Flibre_riscv_chennai_2018.tex;h=b21f3f1b907ad589edd6a1fb4a76148bb80ae691;hb=86917b64118181dff74134264872be3b2b26dde7;hp=632ae21d0bf1a4a8346ac31a3d0805e05fb24207;hpb=12dd30e271bc588e21acb1e43be36c9e6af73bec;p=libreriscv.git diff --git a/shakti/m_class/libre_riscv_chennai_2018.tex b/shakti/m_class/libre_riscv_chennai_2018.tex index 632ae21d0..b21f3f1b9 100644 --- a/shakti/m_class/libre_riscv_chennai_2018.tex +++ b/shakti/m_class/libre_riscv_chennai_2018.tex @@ -78,13 +78,121 @@ former motto "don't be evil" is clearly (unintentionally) unethical} } + +\frame{\frametitle{Does what we want already exist?} + \begin{center} + \includegraphics[height=2.4in]{nolibresocs.jpg}\\ + {\bf Analysis of SoCs over the past 7+ years (answer: no)} + \end{center} +} + + +\frame{\frametitle{What's the problem?} + + \begin{itemize} + \item {\bf iMX6}: Libre bootable, Vivante 3D GPU (libre etnaviv) + but proprietary VPU (and a power-hungry Cortex A9) + \item {\bf Allwinner SoCs}: mostly Libre bootable, + VPU reverse engineered; GPU: MALI or PowerVR (i.e. proprietary) + \item {\bf Rockchip SoCs}: good but using MALI or PowerVR. + \item {\bf TI OMAP}: good but using PowerVR. and expensive. + \item {\bf Samsung}: good but using MALI. + \item {\bf Ingenic jz4775}: GREAT! performance + sucks (1ghz MIPS32). + \item {\bf Broadcom SoCs}: Cartelled. and boots from the GPU + \end{itemize} + {\it Basically there does not exist one single commercial SoC that + provides full source code for all functions (CPU, GPU, VPU) + with modern performance. Which is kinda bizarre if you think about it} +} + + +\frame{\frametitle{So what's needed? What would a good (Libre) SoC have?} + + \begin{itemize} + \item Cover a lot of different scenarios (embedded, tablets, industrial, + netbooks, crypto-currency mining). + \item Decent performance with high efficiency. RISC-V: 40 \% + more efficient than ARM / Intel. Shakti a good + candidate: 2.5ghz and 120mW per core @ 22nm. + \item 1080p video: y'all gotta watch cute kittens on youtube, right? + \item 3D GPU: y'all gotta play Angri Burds, right? (or Minecraft) + \item No spying back-door co-processors (to steal crypto-wallets) + \item No Spectres, no Meltdowns. + \end{itemize} + {\it Basically quite boring and mundane. No Monster Performance, + no AI stuff, no special sauce. Just a plain-old SoC, + 40\% more power efficient than ARM/Intel, + and not spying on end-users, that's all} +} + + +\frame{\frametitle{How on earth does an ethical Libre SoC make money???} + + \begin{itemize} + \item Simple answer: Mask Rights. + \item Without Mask Rights: by having a desirable + product, and packaging it for a customer (i.e. by being a middle-man + a service is still being provided for which payment etc. etc.) + \item Without a desirable product or customer(s): err... you don't.\\ + (cf: definition of Business) + \item By not having high NREs (leveraging back-to-back deals, + and helping others fulfil their needs) + \end{itemize} + {\it Detachment from the goal also helps. If someone else makes this + product then GREAT! I can go do something else} + +} + +\frame{\frametitle{Things wot are "off-limits"} + + \begin{itemize} + \item Customer entrapment (through proprietary software).\\ + Strong business case for not entrapping customers:\\ + https://tinyurl.com/most-productive-meeting-ever + \item Funding, endorsing, supporting or otherwise empowering + unethical Companies, Organisations and Individuals.\\ + (cf: definition of an ethical act). + \item Being totally inflexible / unrealistic. Goals have + to be met: it's no good being an idiot about that. e.g. if + a Libre 3D GPU really can't be made, use Vivante GC800 + (with etnaviv). + \end{itemize} + {\it Still no real show-stoppers to making money (or product): + it's just slightly harder, that's all. Ultimately it's about + confidence. } +} + + \frame{\frametitle{Interfaces, Block Diagram, of the Libre-RISCV SoC} \begin{center} - \includegraphics[height=2.5in]{../shakti_libre_riscv.jpg}\\ - {\bf Complexity is in the power management } + \includegraphics[height=2.1in]{../shakti_libre_riscv.jpg}\\ + {\bf Separate Power Domains for GPIO banks, Variable voltages + required, low-power sleep states etc. Quite involved} \end{center} } + +\frame{\frametitle{Hardware / Development Complexity Comparison} + + \begin{itemize} + \item {\bf Server}: relatively easy. PCIe, RapidIO, XAUI, SATA, GbE, 10GE, + DDR3/4 (or HMC) etc. etc. No multiplexing: all interfaces dedicated + and high-speed differential pairs. + \item {\bf Desktop}: really just a variant of Server. + Graphics is a PCIe Card (except if integrated). Peripherals + often done in dedicated external ICs ("Southbridge" concept) + \item {\bf Embedded}: also pretty easy. Really needs a pinmux. Low clock + rate, low power mode. e.g. SiFive Freedom U310. + \item {\bf Mobile}: HARD. Performance/Watt matters $=>$ variable core + voltage domains {\it per core}. Number of pins matters (affects + yield and package cost). Cost + matters. Pinmux critical. + \end{itemize} + {\it Bottom line: Mobile-class processors are challenging!} +} + + \frame{\frametitle{TODO} \begin{itemize}