|
|
|
|
|
by AlyssaRowan
4310 days ago
|
|
The RasPi is a particularly unusual example here; the BCM2835 has a tiny ARM1176JZF-S taking a piggyback ride on a comparatively huge (and, despite some releases from Broadcom, still only very lightly documented) 2D vector processor, the Broadcom VideoCore IV, and it's the VC4 which actually runs the show (the proprietary firmware uses the commercial ThreadX microkernel, but fully open firmware is being developed) and boots it - it's actually a SoC made out of a GPU, and the ARM is broadly-speaking a coprocessor, posting requests to the VC4's kernel to please do stuff. The video encoder/decoder has a little fixed-function logic, but the VC4 is rather good at vector operations itself, particularly 2D 16x16 and 32x32 ones, and probably has at least as much general compute muscle as the ARM, I'd say? It is not easy to program efficiently, however, and its pipeline doesn't seem to like branches very much. And trying to do ChaCha20 on it is tricky because I can't seem to find a way to address the diagonals... |
|