Priest of the Order of the Butterfly
Posts: 641 from 2004/1/25
From: Prague, The Cz...
AltiVec is a G4's vector unit. Like other units, it runs paralelly with each other, it means, that your CPU can process (iirc) four integer mathematical instructions, one float mathematical instruction, one load/store instruction, one branch instruction, and for more four altivec instructions. This means, that the G4 can process upto 11 instructions at a single CPU cycle at ideal state, ofcourse.
The altivec itself contains four units (as above), vector permute unit, two integer and one float unit. As the AltiVec instruction works only with 128 bit data, it can operate with 4 32 bit floats through single instruction, 4 32 bit integers, 8 16 bit integers, and 16 8 bit integers. In practice it's far more complicated, that I explain here. Simply, to process, say, 16 bytes, each alone, it's enough to use a single instruction. Without altivec, You would require atleast 15 more instructions and so more CPU cycles