Control Units
Control units provide instruction control for the entire computing process. They function as the command center of AI Core and are responsible for the running of AI Core. Table 2-6 shows the control units of AI Core.
A control unit prefetches subsequent instructions during instruction execution and reads multiple instructions into the cache at a time, improving instruction execution efficiency. Multiple instructions are transmitted from the system memory to the instruction cache module (I-Cache) of AI Core through the BIU, waiting to be decoded or computed by hardware. After being decoded, instructions are imported to the scalar queue to implement address decoding and operation control.
Control Unit |
Description |
---|---|
System Control |
It externally controls the Task Scheduler and sets parameters for AI Core initialization, for example, configuring PC, para_base, and BlockID registers. This unit offers functions such as controlling block execution, reporting the interrupt and status after block execution, and reporting the execution error. |
I-Cache |
As internal instruction cache memory of AI Core, I-Cache enables instruction prefetch. |
Scalar PSQ |
It holds scalar instructions for processing. |
Instr. Dispatch |
With cube, vector, and MTE instructions processed by Scalar PSQ and elements such as addresses and parameters configured, Instr. Dispatch dispatches the instructions to the corresponding instruction queues based on the instruction types and waits for the corresponding execution units to schedule and execute the instructions. |
Cube Queue |
Cube instruction queue. Instructions in the same queue are executed in sequence, and instructions in different queues can be executed concurrently. |
Vector Queue |
Vector instruction queue. Instructions in the same queue are executed in sequence, and instructions in different queues can be executed concurrently. |
MTE Queue |
MTE instruction queue. Instructions in the same queue are executed in sequence, and instructions in different queues can be executed concurrently. |
Event Sync |
It controls the dependency and synchronization between instructions across queues. |