Computer Organization & Architecture
Computer Organization & Architecture
ORGANIZATION &
ARCHITECTURE
Hardware
• This is a course about what’s inside the
box(computer).
• How does the hardware run the software?
• How do hardware design features impact
software execution?
• How does the software interface with the
hardware?
Computer Architecture – What is it?
• “The architecture of a computer is the interface
between the machine and the software
• Computer architecture refers to those attributes
of a system visible to a programmer and this
attributes that have a direct impact on the logical
execution of a program.
• Example: instuction set,number of bits used to
represent various data type(e.g
num,char,floting),i/o mechanism.
Architecture – the building
blocks
• Structure -static arrangement of the parts
(plan)
• Organization - dynamic interaction of
these parts and their management
(design)
• Implementation - the design of specific
building blocks (construction)
• Performance evaluation - the behavior
study of the system (decorative treatment)
Computer Organization – What is
it?
• “Computer organization refers to the operational
units and their interconnection that realize the
architecture specification” .
• Examples of organization attributes include
those hardware details transparent to the
programmer, such as control signals, interfaces
between the computer and peripherals, and the
memory technology used .
Architecture and Organization
• Architecture is the design of the system
visible to the assembly level programmer.
– How many registers
– What instructions
– Memory addressing scheme
• Organization is how the architecture is
• implemented.
– How much cache memory
– Microcode or direct hardware
– Implementation technology
UNIT 1
Overview of register transfer and micro
operations:
register transfer language
Bus and memory transfer
Arithmetic microoperations
Logic macro operations
Shift Microoperations
Arithmatic logic Shift Unit
What is RTL ?
Digital Logic
Circuits
Register C
Why Should We Care About RTL ?
A lot of work in the back-end depends on RTL. Like,
• loop dependence, common sub expression elimination,
etc
• Instruction scheduling
• Register Allocation
• Register Movement
RTL Objects
RTL objects are of the following types:
• Expressions
• Integers
• Wide Integers
• Strings
• Vectors
Bus and Memory transfer
What is bus?
Bus: A shared group of wires used for
communicating signals among devices.
• A bus, is a set of physical connections (cables,
printed circuits, etc.) which can be shared by multiple
hardware components in order to communicate with
one another.
Bus lines
Bus Transfer
• The content of register C is placed on the bus, and the
content of the bus is loaded into register R1 by
activating its load control input
Bus
Bus C , R1 Bus R1 Register C Register
R1 C n
MEMORY TRANSFERS
AR MEMORY Read
UNIT Write
DR
1010 Content of R1
1100 Content of R2
0110 Content of R1
Type of LOGIC MICROOPERATIONS
x0011 Boolean
y0101 Micr
Function
Logic Micr
0000 F0 = 0 F <- 0 Clear
0001 F1 = xy F <- A Ù B AND
0010 F2 = xy’ F <- A Ù B’
0011 F3 = x F <- A Transfer A
0100 F4 = x'y F <- A’Ù B
0101 F5 = y F <- B Transfer B
0110 F6 = x Å y F <- A Å B Exclusive-OR
0111 F7 = x + y F <- A Ú B OR
1000 F8 = (x + y)‘ F <- (A Ú B)’ NOR
1001 F9 = (x Å y)‘ F <- (A Å B)’ Exclusive-NOR
1010 F10 = y‘ F <- B’ Complement B
1011 F11 = x + y‘ F <- A Ú B
1100 F12 = x' F <- A’ Complement A
1101 F13 = x' + y F <- A’Ú B
1110 F14 = (xy)' F <- (A Ù B)’ NAND
Shift micro operations
Shift micro operations
• Shift micro operations are used for serial transfer of data.
They are also used in conjunction with arithmetic, logic,
and other data-processing operations.
• The contents of a register can be shifted to the left or the
right.
• At the same time that the bits are shifted, the first flip-flop
receives its binary information from the serial input.
• During a shift-right operation the serial input transfers
a bit into the leftmost position. The information
transferred through the serial input determines the
type of shift
There are three types of shifts:
a) logical
b) circular
c)arithmetic.
Logical shifts
• A logical shift is one that transfers 0 through the serial
input.
• We will adopt the symbols shl and shr for logical shift-left
and shift-right micro operations.
For example:
• R1 shl R1 …Specify a 1-bit shift to the left of the content
of register .
• R2 shr R2 specify a 1-bit shift to the right of the content of
register R2.
R1 shl R1 0 0
R 2 shr R 2
Circular Shift(Rotate)
R1 cil R1
R 2 cir R 2
Arithmetic Shift
• An arithmetic shift is a microoperation that shifts a
signed binary number to the left or right.
• An arithmetic shift-left multiplies a signed binary
number by 2
• An arithmetic shift-right divides the number by 2
Shift Microoperations