Question about the PS2 cpu - ee

DOGMA1138

Regular
as we all know the 128bit cpu of the PS2 is composed of smaller units, and the smallest of them operates in a native fp32bit precision.
the PS2 can operate at 1x128bit, 2x64bit, and 32x4bit modes which i understand, but it can allso work in a 16bit(int)x8 mode which i dont get.
if the smallest unit is 32bit, how can it get process and out put two 16bit targets?
 
The vast majority of processing on the EE is done in a standard single 32-bit int and single 32-bit float style. If you want to do some hard-core integer processing (mostly usefull for image-processing functionality) you can write some special assembly language code to use the 128-bit registers with special integer SIMD instructions similar to Intel's MMX.

Basically you load 16 bytes (which may contain 8 16-bit ints) into a big register and use the instruction that says "Add all 8 of the 16-bit integers in this register to the 8 16-bit integers in this other register." Then you store the results back to memory. It is only usefull for certain techniques (such as DVD video decoding) but it makes those techniques 2-8x faster.
 
Back
Top