== Compute Engine Design Specifications ==
The COMPUTE ENGINE of SCOORE is responsible for all the calculations of the processor. SCOORE is a clustered architecture, we have FOUR main units which comprise the COMPUTE ENGINE.
- AUNIT is responsible for all the "simple arithmetic operations" of the CPU.(Single Port)
- BUNIT is responsible for branch operations. (Dual Port)
- CUNIT handles all floating point operations. (Single Port)
- MUNIT handles all Load and Store operations. (Dual Port)
A more detailed description of each individual block is given below.
Overall Interface for INPUT to Compute Engine & OUTPUT from Compute Engine
|
COMPUTE ENGINE
AUNIT
|
BUNIT
|
CUNIT
|
MUNIT
|
|
RAT/ROB - SELECT
RAT/ROB - SELECT
|
|
Individual Unit Descriptions
Each of the four clusters in the CE holds 128 registers in its Register File. There are a total of 512 registers. A 9-bit binary number is assigned to each register. Since there are only 512 registers, the highest 2-bits are indicative of the CE cluster/unit to which they belong.
Register Numbers and Corresponding Units
Register Number
|
Highest 2 bits
|
Compute Engine (CE)
|
0 - 127 |
00 |
A Unit RF
|
128 - 255 |
01 |
B Unit RF
|
256 - 383 |
10 |
C Unit RF
|
384 - 511 |
11 |
M Unit RF
|
AUNIT
border="1" width="300pt" cellspacing="0"
aunit_stage1
-Local/Ext/Imm Src Sel. Logic
-Reset/Busy Logic
|
aunit_stage2
-Reservation Station Logic
-Forwarding Logic
-Update Logic
|
salu
-Execution Stage
|
write_back
Reg. File
|
BUNIT
bunit_stage1
-Local/Ext/Imm Src Sel. Logic
-Reset/Busy Logic
|
bunit_stage2
-Reservation Station Logic
-Forwarding Logic
-Update Logic
|
balu/salu
-Execution Stage
|
write_back
Reg. File
|
CUNIT
cunit_stage1
-Local/Ext/Imm Src Sel. Logic
-Reset/Busy Logic
|
cunit_stage2
-Reservation Station Logic
-Forwarding Logic
-Update Logic
|
FPU
-Execution Stage
|
write_back
Reg. File
|
MUNIT
munit_stage1
-Local/Ext/Imm Src Sel. Logic
-Reset/Busy Logic
|
munit_stage2
-Reservation Station Logic
-Forwarding Logic
-Update Logic
|
CACHE
-Execution Stage
|
write_back
Reg. File
|
--Rigo Dicochea 09:47, 30 March 2009 (PDT)
|