Difference between revisions of "Ce"

From Vlsiwiki
Jump to: navigation, search
Line 78: Line 78:
 
   Reg. File
 
   Reg. File
 
|}
 
|}
 
+
== BUNIT ==
 
{| border="1" width="300pt" cellspacing="0"
 
{| border="1" width="300pt" cellspacing="0"
  |+ BUNIT Module
 
 
   |- style="height:150px; vertical-align:top"
 
   |- style="height:150px; vertical-align:top"
 
   !bunit_stage1
 
   !bunit_stage1
Line 93: Line 92:
 
   Reg. File
 
   Reg. File
 
|}
 
|}
 
+
== CUNIT ==
 
{| border="1" width="300pt" cellspacing="0"
 
{| border="1" width="300pt" cellspacing="0"
  |+ CUNIT Module
 
 
   |- style="height:150px; vertical-align:top"
 
   |- style="height:150px; vertical-align:top"
 
   !cunit_stage1
 
   !cunit_stage1
Line 108: Line 106:
 
   Reg. File
 
   Reg. File
 
|}
 
|}
 
+
== MUNIT ==
 
{| border="1" width="300pt" cellspacing="0"
 
{| border="1" width="300pt" cellspacing="0"
  |+ MUNIT Module
 
 
   |- style="height:150px; vertical-align:top"
 
   |- style="height:150px; vertical-align:top"
 
   !munit_stage1
 
   !munit_stage1

Revision as of 18:24, 30 March 2009

== 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.

  1. AUNIT is responsible for all the "simple arithmetic operations" of the CPU.(Single Port)
  2. BUNIT is responsible for branch operations. (Dual Port)
  3. CUNIT handles all floating point operations. (Single Port)
  4. 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

SELECT
SELECT
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

aunit_stage1
 -Local/Ext/Imm Src Sel. Logic
 -Reset/Busy Logic
aunit_stage2
 -Reservation Station Logic
 -Forwarding Logic
 -Update Logic
salu 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 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 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 write_back
 Reg. File

--Rigo Dicochea 09:47, 30 March 2009 (PDT)