heat sink normally not required (simplifies overall design)
\vspace{3pt}
\item Fully-integrated peripherals (not Northbridge/Southbridge)\\
- USB, HDMI, RGB/TTL, SD/MMC, I2C, UART, SPI, GPIO etc. etc.
+ USB, HDMI, RGB/TTL, SD/MMC, I2C, UART, SPI, GPIO etc. etc.
\vspace{3pt}
\item Built-in GPU (shared memory bus, 3rd party licensed) \vspace{3pt}
\item Built-in VPU (likewise, proprietary)\vspace{3pt}
\begin{itemize}
\item Positional popcount adds up the totals of each bit set to 1 in each bit-position, of an array of input values.
\item Notoriously difficult to do in SIMD assembler: typically 550 lines
+ \item https://github.com/clausecker/pospop
\end{itemize}
\lstinputlisting[language={}]{pospopcount.c}
+
}
\frame{\frametitle{Pospopcount}
\begin{center}
- \includegraphics[width=0.6\textwidth]{pospopcount.png}
+ \includegraphics[width=0.5\textwidth]{pospopcount.png}
\end{center}
-
+ \begin{itemize}
+ \item The challenge is to perform an appropriate transpose of the data (the CPU can only work on registers, horizontally),
+ in blocks that suit the processor and the ISA capacity.
+
+
+ \end{itemize}
}
\frame{\frametitle{Pospopcount}
\end{center}
\begin{itemize}
- \item The challenge is to perform an appropriate transpose of the data (the CPU can only work on registers, horizontally),
- in blocks that suit the processor and the ISA capacity.
- \item The draft gbbd instruction implements the transpose,
- preparing the data to use the standard popcount instruction.
+ \item The draft gbbd instruction implements the transpose (shown above),
+ preparing the data to use standard popcount.
+ (gbbd is based on Power ISA vgbbd, v3.1 p445)
\end{itemize}
development costs for customers
\item It also happens to be fascinating, deeply rewarding technically
challenging, and funded by NLnet
-
+
\end{itemize}
}
Questions?\vspace{12pt}
}
\end{center}
-
+
\begin{itemize}
\item Discussion: http://lists.libre-soc.org
\item Freenode IRC \#libre-soc