Professional Documents
Culture Documents
1. Vector registers: There are many vector registers that can perform
different vector operations in an overlapped manner. Every vector
register is a fixed-length bank that consists of one vector with multiple
elements and each element is 64-bit in length. There are also many
read and write ports. A pair of crossbars connects these ports to the
inputs/ outputs of functional unit.
2. Scalar registers: The scalar registers are also linked to the functional
units with the help of the pair of crossbars. They are used for various
purposes such as computing addresses for passing to the vector
load/store unit and as buffer for input data to the vector registers.
3. Vector functional units: These units are generally floating-point units
that are completely pipelined. They are able to initiate a new operation
on each clock cycle. They comprise all operation units that are utilised
by the vector instructions.
4. Vector load and store unit: This unit can also be pipelined and perform
an overlapped but independent transfer to or from the vector registers.
5. Control unit: This unit decodes and coordinates among functional units.
It can detect data hazards as well as structural hazards. Data hazards
are the conflicts in register accesses while functional hazards are the
conflicts in functional units.
Figure 9.1 gives you a clear picture of the above mentioned functional units
of vector processor.
Main
FP add/subtract
Memory
FP multiply
Vector
Load/Store FP divide
Logical
Vector
Integer
Registers
Scalar
Registers
Vector
Unit
VM
RTC FP Units
T00-T63
16-way Interleaved Memory
Scalar
Unit
VL
B00-B63
Address
Registers Address
Unit
PC
Instruction
Buffers
NIP CIP
LIP