
PSP's Virtual Mobile Engine: more than a simple DSP, a reconfigurable hardware architecture
Hello, I'm sharing this with you. I recently figured out how to work with the VME2, a type of CGRA implemented on Sony PSP hardware. This page is an attempt to document its datapath flow, opcodes, DSP capabilities, and the structure of the related Processing Elements.
It's a sort of vector-like engine to which we provide context / a small configuration bitstream. In this sense, it is a coarse-grained reconfigurable architecture with the ability to be dynamically reconfigured at the level of individual datapath nodes, allowing runtime per-node updates (such as modifying operands or PE behavior) without reloading the full context.
I still have a lot to do on it, but processing streams of data through its pipeline has been confirmed. You'll be able to find a library and a first related sample code on my GitHub.
Thanks for reading!