Professional Documents
Culture Documents
Computer Organization
Lecture 2
Register Transfer
Language
Mostafa I. Soliman
Professor of Computer Engineering
CSE Department
mostafa.soliman@ejust.edu.eg
mossol@yahoo.com
1
REGISTER TRANSFER AND
MICROOPERATIONS
• Register Transfer Language
• Register Transfer
• Arithmetic Microoperations
• Logic Microoperations
• Shift Microoperations
2
Register Transfer & -operations
• Typically,
– What operations are performed on the data in the registers
– What information is passed between registers
3
Register Transfer & -operations Register Transfer Language
MICROOPERATIONS (1)
4
Register Transfer & -operations Register Transfer Language
MICROOPERATION (2)
R f(R, R)
- Microoperations set
6
Register Transfer & -operations Register Transfer Language
7
Register Transfer & -operations Register Transfer Language
8
Register Transfer & -operations Register Transfer Language
DESIGNATION OF REGISTERS
MAR
9
Register Transfer & -operations Register Transfer Language
DESIGNATION OF REGISTERS
• Designation of a register
- a register
- portion of a register
- a bit of a register
15 0 15 8 7 0
R2 PC(H) PC(L)
Numbering of bits Subfields
10
Register Transfer & -operations Register Transfer
REGISTER TRANSFER
R2 R1
11
Register Transfer & -operations Register Transfer
REGISTER TRANSFER
R3 R5
– the data lines from the source register (R5) to the destination
register (R3)
– Parallel load in the destination register (R3)
– Control lines to perform the action
12
Register Transfer & -operations Register Transfer
CONTROL FUNCTIONS
• Often actions need to only occur if a certain condition is true
• This is similar to an “if” statement in a programming language
• In digital systems, this is often done via a
control signal, called a control function
– If the signal is 1, the action takes place
• This is represented as:
P: R2 R1
13
Register Transfer & -operations Register Transfer
Load
Transfer occurs here
• The same clock controls the circuits that generate the control function
and the destination register
• Registers are assumed to use positive-edge-triggered flip-flops
14
Register Transfer & -operations Register Transfer
SIMULTANEOUS OPERATIONS
P: R3 R5, MAR IR
if (P = 1) then
(R3 R5)
(MAR IR)
15
Register Transfer & -operations Register Transfer
16
Register Transfer & -operations Register Transfer
CONNECTING REGISTRS
• Bus Connections
– Have one centralized set of circuits for data transfer
– Have control circuits to select which register is the source, and
which is the destination
17
Register Transfer & -operations Bus and Memory Transfers
Bus lines
0 0 A
B1 C1 D 1 B2 C2 D 2 B3 C3 D 3 B4 C4 D 4
0 1 B
1 0 C 0
4 x1
0
4 x1
0
4 x1
0
4 x1
MUX MUX MUX MUX
1 1 D
x
select
y
4-line bus
18
From/to Register to/from Bus
Bus lines Register A Register B Register C Register D
R BUS BUS R
Register A Register B Register C Register D
Register A Register B Register C Register D
0 0 A
0 1 B D3 C3 B3 A3 D2 C2 B2 A2 D1 C1 B1 A1 D0 C0 B0 A0
1 0 C 3
4 x1
0 3
4 x1
0 3
4 x1
0 3
4 x1
0
MUX MUX MUX MUX
1 1 D
x
select
y
4-line bus
19
Register Transfer & -operations Bus and Memory Transfers
S0 0
Select
S1
Enable
? 1
2
3
20
Register Transfer & -operations Bus and Memory Transfers
21
Register Transfer & -operations Bus and Memory Transfers
MEMORY (RAM)
• Memory (RAM) can be thought as a sequential circuits
containing some number of registers
• These registers hold the words of memory
• Each of the r registers is indicated by an address
• These addresses range from 0 to r - 1
• Each register (word) can hold n bits of data
• Assume the RAM contains r = 2k words. It needs the
following
– n data input lines data input lines
– n data output lines
n
– k address lines
address lines
– A Read control line
k
– A Write control line RAM
Read
unit
Write
n
data output lines
22
Register Transfer & -operations Bus and Memory Transfers
MEMORY TRANSFER
• Collectively, the memory is viewed at the register level as
a device, M.
• Since it contains multiple locations, we must specify
which address in memory we will be using
• This is done by indexing memory references
M
Memory Read
AR
unit Write
Data Data
out in
23
Register Transfer & -operations Bus and Memory Transfers
MEMORY READ
Read: R1 M[MAR]
24
Register Transfer & -operations Bus and Memory Transfers
MEMORY WRITE
M[MAR] R1
Write: M[MAR] R1
25
Register Transfer & -operations Bus and Memory Transfers
AR Address register
DR Data register
M[R] Memory word specified by reg. R
M Equivalent to M[AR]
DR M Memory read operation: transfers content of
memory word specified by AR into DR
M DR Memory write operation: transfers content of
DR into memory word specified by AR
26
References
28
29