*** Welcome to piglix ***

VideoCore


VideoCore is a low-power mobile multimedia processor architecture originally developed by Alphamosaic Ltd and now owned by Broadcom. Its two-dimensional DSP architecture makes it flexible and efficient enough to decode (as well as encode) a number of multimedia codecs in software while maintaining low power usage. The semiconductor intellectual property core (SIP core) has been found so far only on Broadcom SoCs.

Mobile multimedia devices require a lot of high-speed video processing, but at low power for long battery life. The ARM processor core has a high IPS per watt figure (and thus dominates the mobile phone market), but requires video acceleration coprocessors and display controllers for a complete system. The amount of data passing between these chips at high speed results in higher power consumption. Specialised co-processors may be optimised for throughput over latency (more cores and data parallelism, but at a lower clock speed), and have instruction-sets and memory architectures designed for media processing (e.g. saturation arithmetic, and handling of specialised data formats).

At least the VideoCoreIV-AG100-R found e.g. in the Raspberry Pi 1, 2 and 3, is documented to fully support OpenGL ES 2.0 and OpenVG 1.1.

The 3D engine is composed out of various subsystems, the most abundant being the QPUs. A QPU is a 16-way Single instruction, multiple data (SIMD) (or Single instruction, multiple threads (SIMT)?) processor, being composed of two vector floating-point ALUs; these carry out multiply and non-multiply operations in parallel (with single instruction cycle latency). Internally, the QPU is a 4-way SIMD processor multiplexed 4× over four cycles, making it particularly suited to processing streams of quads of pixels. QPUs are organized into groups of up to four ( termed "slices"), which share certain common resources. cf. Vertex and shader.


...
Wikipedia

...