Professional Documents
Culture Documents
Outline
Registers
User Visible Register
Control and Status register
Register Files
Introduction
CPU must have some working space (temporary
storage)
Called registers
Number and function vary between processor designs
One of the major design decisions
Top level of memory hierarchy
UserVisible register
Control and Status register
User visible register
Programmer to minimize the memory reference by optimizing the
use of registers.
General Purpose
Data
Address
Condition Codes
General Purpose Registers (1)
May be true general purpose
Data
Accumulator
Addressing
Segment, Indexed addressing
General Purpose Registers (2)
Make them general purpose
Increase flexibility and programmer options
Increase instruction size & complexity
Make them specialized
Smaller (faster) instructions
Less flexibility
How Many GP Registers?
Between 8 - 32
Fewer = more memory references
More does not reduce memory references and takes up
processor real state
How big to be the GP register?
Large enough to hold full address
Large enough to hold full word
Often possible to combine two data registers.
Condition Code Registers
Bits set by hardware processor as a result of some
operations.
Register File
RF
2 Port B 2 Address B
Address A Port A
16 16
Data out A Data out B
A Register File with three access ports – logic diagram
Data in C
Ex: R3 ← R1 + R2
16
Read Address A = 01
Write 11 2 4-way 16-bit
Read Address B = 10
address C S demultiplexer Write Address C =
16 16 16 16 11
1011
Data in C
Ex: R3 ← R1 + R2
16
Read Address A = 01
2 4-way 16-bit
Read Address B = 10
Write
address C
11 S demultiplexer Write Address C =
16 16 16 16 11