The scalar unit contains the following functional blocks.
- Register files and special registers
- Arithmetic and logical unit (ALU)
- Non-linear functions – fixed-point and floating-point precision
- Data type conversions
Integer add, subtract, compare, and shift functions are one-cycle operations. The integer multiplication operation has a three-cycle latency. Non-linear functions take one or four cycles to produce scalar results. The throughput of the aforementioned operations is one cycle.