Morris Mano - Computer Architecture PPT Chapter 4

Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

CECSC07 Computer Architecture and Organization

Chapter 4

Register Transfer and Microoperations


Digital Systems

Digital system: an interconnection of digital hardware modules that accomplish a specific


information processing task.

Digital systems vary in term of size and complexity.

Digital computers are sophisticated digital systems.

Digital systems use modular design.

The different modules are connected through common data and control paths.
Microoperations

Digital systems are best defined by the registers they contain and the operations that are
performed on the data stored in them.

The operations performed on data stored in registers are called microoperations.

Microoperation: an elementary operation performed on data stored in one or more registers.

The result may be stored in a register.

Examples: add, shift, clear, etc.


Register Transfer Language

Register transfer language: a symbolic notation to describe microoperation transfers among


registers.

Circuits are available to perform microoperations and data transfers.

Register transfer language can be used to represent internal organization of a computer.


Registers

MAR: Memory address register: It holds the address of the location to be accessed from memory. MAR and MDR
(Memory Data Register) together facilitate the communication of the CPU and the main memory.
Memory Data Registers (MDR):It contains data to be written into or to be read out from the addressed location.

PC: Program counter: keep the track of execution of the program. It contains the memory address of the next instruction to
be fetched.
IR: Instruction register: It is the register which holds the instruction which is currently been executed.
Accumulator/ processor register: General purpose register

The bits are numbered 0-7 or 0-15.

PC(L) = PC(0-7)
PC(H) = PC(8-15)
Register Transfer

Copy R1 to R2
R2  R1

If P = 1, then copy R1 to R2
P: R2  R1
P is a control function

Simultaneous transfers
T: R2  R1, R1  R2
Bus

There are many registers in a computer. paths must be provided to transfer information from one
register to another. The number of wires connecting all of the registers will be excessive if
separate lines are used between each register and all other registers in the system.

Efficient data transfer approach: a common data bus.

A bus consists of a set of common lines, one for each bit of register, through which binary
information is transferred one at a time. Control signals determine which register is selected by
the bus during a particular register transfer.
Implementing a Bus Using Multiplexers

four data inputs (0 through 3)


two selection inputs (S1 and S2)
Assume: k registers of n bits each

Bus: n-line
Number of multiplexers: n
Size of multiplexers: k x 1
Number of select lines: s, such that 2s > k

BUS  C, R1  BUS
Or, R1  C

https://forms.gle/s1wWXDFRKmycfen9A
Implementing a Bus Using Three-state Buffers

States:
Logic high (1)
Logic low (0)
High-impedance (Z) //tri-stated
Assume: k registers of n bits each

Bus: n-line
Number of three-state buffers: k x n
Number of decoders: n
Size of decoders: s x k
Number of select lines: s, such that 2s > k
Memory Transfer Microoperations

Read
DR  M[AR]

Write
M[AR]  DR
Arithmetic Microoperations
Binary Adder

We use n full-adders to construct one n-bit binary adder.


Binary Adder-Subtractor

If M=0, then the circuit behaves as an adder


Else the circuit behaves as a subtractor
A-B = A+B’+1
Arithmetic Circuit
Logic Microoperations

-used for bit manipulation of binary data and for making logical decisions.
Logic Circuit
Logic Microoperations

APPLICATIONS: Manipulating individual bits or a portion of word stored in a register.


Register A-> processor register
Register B-> logic operand extracted from memory and placed in register B.

• Selective set
• Selective complement
• Selective clear
• Mask
• Insert
• Clear
Shift Microoperations
-for serial transfer of data
-serial input is used

ashl: R0  0 //multiply by 2
ashr: Rn-2  Rn-1 //divide by 2
Arithmetic Logic Shift Unit

Arithmetic logic unit (ALU)


End of Chapter

You might also like