COP2
Jump to navigation
Jump to search
COP2 is the nomenclature for PSP's CPU Vector Floating Point Unit, or shortly VFPU.
Specifications[edit  edit source]
 Functionality is similar to PS2's VU0 Macromode, but with less exposed pipeline and without own memory and DMA interface.
 It is designed for vector and matrix operations.
 It supports some trigonometric functions, binary logarithm, square root, and others.
 It has 128 32bit registers, and additional 16(?) 32 bits control registers.
 Reconfigurable as scalar, vector or matrix.
 It can handle these types of numbers:
 32bit IEEE 754 floatingpoint numbers
 Note: Unit is not fully IEEE 754 compliant. Denormals are treated as zero. Hardcoded nearest rounding mode. Some other not yet reversed math quirks which ends up with different results comparing to IEEE 754. While unit is much closer to IEEE 754 than FPU/VU in PS2, its behavior is still not fully understood.
 32bit integer numbers.
 16bit integer numbers.
 8bit integer numbers.
 16bit floatingpoint numbers (halfprecision float).
 32bit IEEE 754 floatingpoint numbers
Instructions[edit  edit source]
This table is not completed yet. 
Instruction  Operation  Time (in cycles) 

vmmul.q vd, vs, vt

4×4 matrix multiply  22 cycles 