AAST-CC312-Fall 21 - Lec 02
AAST-CC312-Fall 21 - Lec 02
AAST-CC312-Fall 21 - Lec 02
Fall 2021
Lecture 2
Introduction
Transfer Microoperation
introduction
Digital systems are composed of modules
Register Transfer
Register Transfer Language
Language
Transfer Microoperation
RTL
Rather than specifying a digital system in words, a specific notation is used,
Register Transfer Language
RTL is a symbolic notation to describe the microoperation transfers among registers
Example
If (P = 1) then (R1 R2) else If (Q = 1) then (R1R3)
P: RI R2
P’Q: R1R3
Register transfer language
❑ A symbolic language
❑ A convenient tool for describing the internal organization of digital computers
❑ Can also be used to facilitate the design process of digital systems
Three basic components:
❑ set of registers
❑ microopertions
❑ control of operations
RTL
Registers are designated by capital letters, sometimes followed by numbers
(e.g., A, R13, IR)
Often the names indicate function:
MAR - memory address register
PC - program counter
IR - instruction register
Registers and their contents can be viewed and represented in various ways
MAR 7 6 5 4 3 2 1 0
15 0 15 8 7 0
PC Upper byte PC(H) PC(L) Lower byte
Numbering of bits
Partitioned into two parts
RTL
8
RTL
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
Which means “if P = 1, then transfer the contents of register R1 into register R2”, i.e.,
if (P = 1) then (R2 R1)
Example:
R1
t t+1
Timing diagram
Clock
Synchronized
Load
with the clock
Transfer occurs here
Types of microoperations
❑ Transfer
❑ move data from one set of registers to another
❑ Arithmetic
❑ perform arithmetic on data in registers
❑ Example + - / …..etc
❑ Logic
❑ manipulate data or use bitwise logical operations
❑ Example AND OR
❑ Shift
❑ shift data in registers (left, right, circulate)
Introduction
Transfer
TransferMicrooperation
Microoperation
Registers transfer
In a digital system with many registers, it is impractical to have data and control
lines to directly allow each register to be loaded with the contents of every
Have control circuits to select which register is the source, and which is the destination
Registers transfer
A bus: set of common lines, one for each bit of a register, through which binary information is
The bus is connected to the inputs of all destination registers and will activate the
load control of the selected register when it is ready to transfer data. This can be
written as:
R2 BUS, BUS R1 or R2 R1
Ways of selecting a common bus system include multiplexers, decoders and tri state buffer
Bus Transfer
Multiplexers can be used to construct a common bus
Multiplexers select the source register whose binary information is then placed on the bus
The select lines are connected to the selection inputs of the multiplexers and choose the bits of one
register
In general, a bus system will multiplex k registers of n bits each to produce an n-line common bus
To transfer information from the bus to a register, the bus lines are connected to the inputs of all
destination registers and the corresponding load control line must be activated
Bus Transfer
Decoders are used to ensure that no more than one control input is active at any given time
This circuit can replace the multiplexer in Figure 4.3
To construct a common bus for m registers of n bits each using three-state buffers,
we need m x n buffers
Only one decoder is necessary to select between the four registers
Bus Transfer
Since memory contains multiple locations, we must specify which address in memory will be used
Memory is usually accessed in computer systems by putting the desired address in a special
register, the Memory Address Register (MAR, or AR)
The contents of the specified address are put on the memory’s output data lines
M[MAR] R1 AR
address Memory Read
unit Write
AR
x0C 19
x12 x0E 34
R1 x10 45
100 x12 66
x14 0
x16 13
R1←M[AR] x18 22
RAM
R1 R1
100 66
Example
Show the block diagram of the hardware that implements the following register
transfer statement:
P: M[AR] R1, R2 R1
P’T: R1 R2
Thank you