You are on page 1of 106

CHAPTER Two

THE CENTRAL PROCESSING


UNIT (CPU)
1

1
OUTLINE
 2.1 Introduction
 What is an Instruction Set ?
 2.2 Machine Instruction Characteristics
 Elements of Machine Instruction
 Operand Locations
 Instruction Representation
 Instruction Types
 2.3 Instruction Set Design
 Types of Operands
 Types of Operations
 Addressing Mode
 Instruction Format
 2.4 Instruction Cycle
 2.5 Interrupts
 2.6 Instruction Cycle Data Flow
 2.7 Processor Structure and Function
 Processor Organization
 Register Organization

22
2.1 INTRODUCTION
 Much of the computer architecture/organization
is hidden from a high level language programmer
 Shouldn’t care what the underlying architecture really is

 What is an instruction set?


 the collection of different instructions that are understood
by a CPU or that the CPU can execute

 Machine Code
 encoded in binary – for machines to work with

 For people: represent by assembly 35


codes
 text – for people to work with
INTRODUCTION…
 Instruction set is a boundary where
 Computer designer and computer programmer can
view
the same machine

 From Designer’s
 It provides the Point of view
functional requirements for the CPU.
Implementing the CPU is a task that in large part involves
implementing the machine instruction set.

 From Assembly Language Programmer’s Point


of view
 It enables to be aware of the register and
memory
structure, 46
 the types of data directly supported by the machine and
 the functioning of the ALU
2.2 MACHINE INSTRUCTION CHARACTERISTICS
 The operation of the CPU is determined by
the instructions it executes

 We will investigate
 the design of the instruction set
 The impact of the set on the design of the
overall computer system

57
ELEMENTS OF A MACHINE INSTRUCTION
 Each instruction must contain all the information
required by the CPU for execution

 These elements are :


 Operation code (Op code)
 Specifies the operation to be performed
 Do this operation

 Source Operand(s) reference(s)


 Specifies a register or memory location of operand data
 With this/these operands

 An operation may involve one or more source operands


68
 Inputs for the operation specified
ELEMENTS OF A MACHINE INSTRUCTION…
 Result Operand reference
 Where the result of the operation should be placed ?
 Put the answer here

 Next Instruction reference


 From where to fetch the next instruction
 When you have done that, do this...

 In most cases not explicitly stated in the instruction

 Implicitly the next instruction, the one that


logically follows the current one in the program

7
OPERAND LOCATIONS
 Where Can Operands Be?
 Source and result operands can be in one of the three
areas:
 Main memory
 Memory address must be supplied

 CPU register

 Implicitly referenced, if only one register exist

 Explicitly using its unique number, if


more than one register exists
 I/O device

 Specify the I/O device for the operation

8
INSTRUCTION REPRESENTATION
 With in a computer, each instruction is
represented by sequence of bits
 Each instruction has a unique bit pattern

 E.g 0001 – load, 0010- store and 0101- add

 Instruction divided into fields


 Corresponding to the constituent elements
of the
instruction
 E.g. A simple instruction format

 With most instruction set, more than one format is used 9


SIMPLE INSTRUCTION FORMAT

10
INSTRUCTION REPRESENTATION…
 Difficult for the programmers to deal
with binary representation of machine
instruction
 Hence, it is common to use a symbolic
representation of machine instruction
 Opcodes
Represented by abbreviations called mnemonics --- that

indicate the operation
 Operands
 Also represented symbolically

 Example
 ADD R, Y

13
11
INSTRUCTION REPRESENTATION…

 Itis possible to write a machine language


program in symbolic form. How?
A simple program accepts this symbolic input ,convert
opcode and operand references to binary form and
construct binary machine instruction

13
12
Consider a high-level language instruction that could be
expressed in a language such as BASIC or FORTRAN.
For example, X=X+Y
This statement instructs the computer to add the value stored in
Y to the value stored in X and put the result in X. How might
this be accomplished with machine instructions?
Let us assume that the variables X and Y correspond to locations
513 and 514. If we assume a simple set of machine instructions,
this operation could be accomplished with three instructions:
1. Load a register with the contents of memory location 513.
2. Add the contents of memory location 514 to the register.
3. Store the contents of the register in memory location 513.

13
INSTRUCTION TYPES
 An instruction set must be functionally complete
 Sufficient enough to express any of the instructions
from a high level language

 Categories of instruction types


 Data processing
 Arithmetic and logic instructions
 Data storage
 Memory instructions
 Data movement
 I/O instructions
 Control
 Test and
14
branch
instructions
 Program flow
2.3 INSTRUCTION SET DESIGN
 One of the most interesting and analyzed aspects
of computer design
 A very complex task

 Because it affects so many aspects of the


computer system
 Instruction set
 Boundary where computer designer
Computer programmer can and view
machine the
 same
Programmer’s means of controlling the CPU
 Programmers requirement must be considered in designing
the instruction set
15
INSTRUCTION SET DESIGN …
 Most important issues related the design of
instruction
to set includes:
 Operation repertoire/list
 How many ops?
 What can they do?
 How complex are they?
 Data Types
 Built-In Data types supported
 Instruction formats
 How to encode as binary values
 Length of op code field
 Number of addresses
 Registers
 Number of CPU registers available
 Which operations can be performed on which registers? 16
 Addressing modes
TYPES OF OPERAND
 Machine instructions operate on data
 Categories of data
 Numbers
 Signed Integer / Unsigned Integer / Floating Point

 Characters

 ASCII, Unicode etc.

 Logical Data

 Bits or flags

 A group of bit where each bit has information

17
TYPES OF OPERATIONS
 Different machines support different opcodes:
 Data Transfer
 Arithmetic
 Logical
 Conversion
 I/O
 System Control
 Transfer of Control

18
DATA TRANSFER
 Most fundamental type of instructions
 Must specify the following things
 Location of source and destination operands
 memory, register …
 Length of data to be transferred
 Full word, half word …
 E.g.
 Move, Store, Load, Push, Pop
 In terms of CPU action
 data transfer operations are the simplest type

19
ARITHMETIC
 Performed by ALU
 Basic arithmetic operations provided by
most
machines are:
 Add, Subtract, Multiply, Divide
 Signed Integer
 Floating point

 May include
 Increment
 Decrement

 Negate
Absolute
20
LOGICAL
 Operations that manipulate individual bits of a word
 Bitwise operations
 AND, OR, exclusive-OR (XOR)
 NOT (one’s complement)
 In addition a variety of shifting and rotating functions
 Logical shift
 Shifts bits of word either to the left or right
 On one end the bit shifted out is lost
 Arithmetic shift
 Treats the data as a signed integer and does not shift the sign bit
 Rotate/Cyclic shift
 Preserves all of the bits being operated on

21
SHIFT AND ROTATE OPERATIONS
0

logical
shift
shift in 0

arithme
tic
shift
keep sign !

rotate
22
CONVERSION
 Change the format of data or operate on
the format of data
 Binary to Decimal
 ASCII to EBCDIC

 E.g. Binary to BCD


 binary 00001111 (1510)
 packed BCD 0001 0101
1

23
INPUT/OUTPUT
 Transfer data
 from the computer to peripheral devices
 From peripheral devices to the computer system

24
SYSTEM CONTROL
 Reserved for use by the operating system
 Instructions executed while the processor is in
certain privileged mode
 Privileged instructions
 CPU needs to be in specific state

25
TRANSFER OF CONTROL
 Alter the flow of program
 i.e. change the sequence of instruction execution
 Update the PC to a specific address
 Most common such type of operations are:
 Branch, Skip, Procedure call

26
TRANSFER OF CONTROL…
 Branch
 Also called jump instruction
 Its operand is the address of the next instruction to be fetched
and executed
 Two types of branches
 Conditional and Unconditional
 Conditional Branch
 A branch is made if certain condition is met
 E.g.
 BRP X
 Branch to instruction at location X if result is positive
 BRZ X
 Branch to instruction at location X if result is zero
 BRE R1,R2,X
 Branch to X if contents of R1 is equal to contents of
R2
 Unconditional branch
 E.g. 27
 BR X
 Branch to instruction at location X
TRANSFER OF CONTROL…
Branch Instructions

28
TRANSFER OF CONTROL …
 Skip
 Implies that the next instruction be skipped
 Contains an implied address
 Can be of two types:
 Unconditional
 Skip (i.e. unconditionally increment PC to skip the next

instruction)
 Conditional

 Test some condition and skip if met/satisfied

 E.g. Increment and skip next instruction if result is

zero ISZ R1  increment & skip if zero

29
ADDRESSING MODES
 The manner in which each address field
specify operand location

 Notations:
 A = Contents of an address field in the instruction
 R = Contents of an address field in the instruction that refers to a
register
 (X) = Contents of memory location X or register X
 EA =Effective address of the location containing the referenced
operand

30
ADDRESSING MODES…
 Types of addressing modes
 Immediate
 Direct
 Indirect
 Register
 Register Indirect
 Displacement
 Stack

31
IMMEDIATE ADDRESSING
 The instruction itself contains the operands value
 Operand is part of instruction

 Operand = A
 E.g. ADD 5
 Add 5 to contents of accumulator
 5 is operand

 No additional memory reference required


after the fetch of the instruction itself
 The value that can be specified is limited
 Size/value of the operand is limited/limited range
 Fast 32
IMMEDIATE ADDRESSING DIAGRAM

Opcode Operand

33
DIRECT ADDRESSING
 Address field contains address of operand
 Effective address EA = A
 Operand = (A)
 E.g. ADD A
 Add contents of memory location A to accumulator
 One more memory access needed to fetch the operand
 No additional calculations required to work out
effective address
 Number of memory locations can be referenced,
that limited, due to limited width of
the field
 Common
 Limited addressgeneration
on earlier space of computers
34
DIRECT ADDRESSING DIAGRAM
Opcode A
Memory

Operand

35
INDIRECT ADDRESSING
 A (the address field) refers to a memory location
which contains the address of operand
 Multiple (two) memory accesses to find
operand
 Fetch EA
 Fetch operand
 Access the memory twice, hence slower
 EA = (A)
 Operand = ((A))
 E.g. ADD (A)
 Look in A, find address (A) and look there for operand
 Range of EA increased
36
 Large address space
 2n ,where n = word length
INDIRECT ADDRESSING DIAGRAM

Opcode A
Memory

Operand

37
REGISTER ADDRESSING
 Similar to direct addressing
 The address field refers to a register than a main memory address
 EA = R
 Operand = (R )
 Very small address field needed
 Shorter instructions
 Faster instruction fetch
 No memory access required
 Very fast execution
 Very limited address space
 Small number of registers can be referenced
38
REGISTER ADDRESSING DIAGRAM

Opcode R
Registers

Operand

39
39
REGISTER INDIRECT ADDRESSING
 Similar to indirect addressing mode
 Operand is in memory pointed to by contents
of
register R
 EA = (R)

 Operand =((R ))

 Large address space (2n)


 Where n is the width of the register
 Address space limitation overcome
 Uses one less memory access than
indirect addressing 40
REGISTER INDIRECT ADDRESSING
DIAGRAM
Opcode R
Memory

Registers

Operand

41
DISPLACEMENT ADDRESSING
 Very powerful addressing mode
 Combines
 direct addressing and
 Register indirect addressing
 Instruction needs to have two address fields
 At least one of which is explicit
 EA = A + (R)
 Address field hold two values
 A = base value
 R = register that holds displacement
 or vice versa 41
42
DISPLACEMENT ADDRESSING DIAGRAM

Instruction
Opcode R A
Memory
Registers

+
Operand

43
RELATIVE ADDRESSING
 A version of displacement addressing mode
 Implicitly references the PC register
 R = Program counter, PC
 EA = A + (PC)
 Saves bits

44
BASE-REGISTER ADDRESSING
 Referenced register contains memory address
 R holds pointer to base address

 Address field contains the displacement


from that address
 A holds displacement

 Exploits locality of memory references

45
INDEXED ADDRESSING
 Address field contains memory address
 A = base
 The referenced register contains a
displacement from that address
 R = displacement
 EA = A + ( R )
 Good for arrays and performing accessing
iterative operations
 Auto indexing
 increment and decrement

46
INDEXED ADDRESSING…
 Combinations
 Indirect addressing with
indexing
 Post indexing
 The indexing performed after the indirection
 EA = (A) + (R)
 Good to access a block of data of a fixed format
 Pre indexing
 The indexing performed before the indirection
 EA = (A+(R))
 Used to construct a multiway branch table 47
STACK ADDRESSING
 A stack
 The stack mode of addressing is a form of implied
addressing
 The machine instructions need not include a memory
reference but implicitly operate on the top of the
stack

48
numerical example
Address Memory
Addressing Mode Effective Address Content of AC
PC = 200 200 Load to AC Mode
Immediate Address Mode 201 500
201 Address = 500
Direct Address Mode 500 800
Indirect Address Mode 800 300 R1 = 400 202 Next instruction
Register Mode 400
Register Indirect Mode 400 700 XR = 100
Relative Address Mode 702 325
399 450
Indexed Address Mode 600 900
Autoincrement Mode 400 700 AC 400 700

Autodecrement Mode 399 450


Numerical Example 500 800

R1 = 400
600 900
500 + 202 (PC)
R1 = 400 (after) 702 325
500 + 100 (XR)
R1 = 400 -1 (prior)
800 300
CPU design plan
 RISC- reduced instruction set computer
 This is small or reduced set of instructions.

 every instruction is expected to attain very small


jobs
 instruction sets are modest and simple

 CISC- complex instruction set computer


 have small programs.
 It has a huge number of compound instructions, which
takes a long time to perform
 single set of instruction is protected in several steps
50
Comparison b/n CISC and RISC

51
INSTRUCTION FORMAT
 It defines the layout of the bits of an instruction, in
terms of its constituent parts
 More than one format used in a given instruction set
with respect to the operand fields in the instructions.

Opcode Operand(s) or Address(es)

52
Instruction Formats
 Three-Address Instructions
● ADD R1, R2, R3 R1 ← R2 + R3
 Two-Address Instructions
● ADD R1, R2 R1 ← R1 + R2
 One-Address Instructions
● ADD M AC ← AC + M[AR]
 Zero-Address Instructions
● ADD TOS ← TOS + (TOS – 1)
 RISC Instructions
● Lots of registers. Memory is restricted to Load & Store

Opcode Operand(s) or Address(es)


53
Instruction Formats

Example: Evaluate (A+B)  (C+D)


 Three-Address
1. ADD R1, A, B ; R1 ← M[A] +
M[B]
2. ADD R2, C, D ; R2 ← M[C] +
M[D]
3. MUL X, R1, R2 ; M[X] ← R1 
R2

54
Instruction Formats

Example: Evaluate (A+B)  (C+D)


 Two-Address
1. MOV R1, A ; R1 ← M[A]
2. ADD R1, B ; R1 ← R1 +
M[B]
3. MOV R2, C ; R2 ← M[C]
4. ADD R2, D ; R2 ← R2 +
M[D]
5. MUL R1, R2 ; R1 ← R1  R2
6. MOV X, R1 ; M[X] ← R1

55
Instruction Formats

Example: Evaluate (A+B)  (C+D)


 One-Address
1. LOAD A ; AC ← M[A]
2. ADD B ; AC ← AC +
M[B]
3. STORE T ; M[T] ← AC
4. LOAD C ; AC ← M[C]
5. ADD D ; AC ← AC +
M[D]
6. MUL T ; AC ← AC 
M[T]
56
7. STORE X ; M[X] ← AC
Instruction Formats

Example: Evaluate (A+B)  (C+D)


 Zero-Address
1. PUSH A ; TOS ← A
2. PUSH B ; TOS ← B
3. ADD ; TOS ← (A +
B)
4. PUSH C ; TOS ← C
5. PUSH D ; TOS ← D
6. ADD ; TOS ← (C +
D)
7. MUL ; TOS ←
57
(C+D)(A+B)
Instruction Formats

Example: Evaluate (A+B)  (C+D)


 RISC
1. LOAD R1, A ; R1 ← M[A]
2. LOAD R2, B ; R2 ← M[B]
3. LOAD R3, C ; R3 ← M[C]
4. LOAD R4, D ; R4 ← M[D]
5. ADD R1, R1, R2 ; R1 ← R1 + R2
6. ADD R3, R3, R4 ; R3 ← R3 + R4
7. MUL R1, R1, R3 ; R1 ← R1  R3
8. STORE X, R1 ; M[X] ← R1
58
2.4 INSTRUCTION CYCLE
 Basic Function
 Execution of a program--- a set of instructions
 Processing of Instruction consists of two steps
 Fetch
 Execute
 Together called an Instruction cycle
59
INSTRUCTION CYCLE
 Two steps:
 Fetch
 Execute

60
FETCH CYCLE
 Program Counter (PC) holds address of next
instruction to be fetched
 Processor fetches instruction from memory
location pointed by PC
 Increment PC

 Unless told otherwise


 Instruction loaded into Instruction Register (IR)

61
EXECUTE CYCLE
 Processor interprets instruction and performs required
actions
 Processor-memory
 data transfer between CPU and main
memory
 Processor -I/O
 Data transfer between CPU and I/O
module
 Data processing
 Some arithmetic or logical operation on
data
 Control
Alteration of sequence of execution

 e.g. jump
 Execution of an instruction may involve a combination of 19
62
above actions
EXAMPLE OF PROGRAM
EXECUTION

20
63
2.5 INSTRUCTION CYCLE DATA FLOW

 The exact sequence of events during an instruction


cycle depends on the design of the CPU
 Ingeneral terms, assuming a CPU that employs
the following registers
 MAR
 MBR
 PC
 IR
64
 The possible Data Flow is indicated next
DATA FLOW (INSTRUCTION FETCH)
 Fetch
 PC contains address of next instruction
 Address moved to MAR
 Address placed on address bus
 Control unit requests memory read
 Result placed on data bus, copied to MBR, then to IR
 Meanwhile PC incremented by 1

65
DATA FLOW (FETCH DIAGRAM)

66
DATA FLOW (EXECUTE)
 May take many forms
 Depends on instruction being executed

 May include
 Memory read/write
 Input/Output
 Register transfers
 ALU operations

67
Instruction pipeline
 organizational approach, which improve the processer
performance
 various stages can be worked on simultaneously

 breaks the instruction cycle up into n tasks, which occur in


sequence.
 There are times during the execution of an instruction when
main memory is not being accessed. This time could be
used to fetch the next instruction in parallel with the execution
of the current one
 Let us consider the following decomposition of the instruction
processing

68
 • Fetch instruction (FI): Read the next expected instruction into a
buffer.
• Decode instruction (DI): Determine the opcode and the operand
specifiers.
• Calculate operands (CO): Calculate the effective address of each
source operand. This may involve displacement, register indirect,
indirect, or other forms of address calculation.
• Fetch operands (FO): Fetch each operand from memory.
Operands in registers need not be fetched.
• Execute instruction (EI): Perform the indicated operation and
store the result, if any, in the specified destination operand
location.
• Write operand (WO): Store the result in memory
69
Instruction pipeline

70
2.6 INTERRUPTS
 Mechanism by which other modules (e.g. I/O)
may
interrupt normal processing of the processor
 Interruption of the normal sequence of execution
 Provided to improve processing efficiency
 Common classes of interrupts
 Program
 e.g. overflow, division by zero
 Timer
 Generated by internal processor timer
 Used in pre-emptive multi-tasking
 I/O
 from I/O controller
 Hardware failure
 e.g. power failure, memory parity error 21
71
 Instructioncycle so far consists of the
following sub cycles:
 Fetch
 Execute
 Interrupt

72
INTERRUPT CYCLE
 Added to instruction cycle
 Processor checks for interrupt
 Indicated by an interrupt signal
 If no interrupt, fetch next instruction
 If interrupt pending:
 Suspend execution of current program
 Save context
 Set PC to starting address of interrupt handler
routine
 Process interrupt
 Restore context and continue interrupted 22
73

program
INSTRUCTION CYCLE WITH INTERRUPTS

74
TRANSFER OF CONTROL VIA INTERRUPTS

75
MULTIPLE INTERRUPTS
 Two approaches to deal with multiple interrupts
 Disable interrupts
 Processor will ignore further interrupts
whilst processing one interrupt
 Interrupts remain pending and are checked after first
interrupt has been processed
 Interrupts handled in sequence as they occur
 Define priorities
 Low priority interrupts can be interrupted by higher
priority interrupts
 When higher priority interrupt has been
processed, processor returns to previous interrupt 25
MULTIPLE INTERRUPTS – SEQUENTIAL
DISABLE INTERRUPTS

77
MULTIPLE INTERRUPTS – NESTED
PRIORITIZED INTERRUPTS

78
TIME SEQUENCE OF MULTIPLE INTERRUPTS

79
DATA FLOW (INTERRUPT)
 Simple and Predictable
 Current PC saved to resumption after
allow interrupt
 Contents of PC copied to MBR
 Special memory location (e.g. stack
pointer) loaded to MAR
 MBR written to memory
 PC loaded with address of interrupt
handling routine
 Next instruction (first of interrupt handler)
can
be fetched 80
DATA FLOW (INTERRUPT DIAGRAM)

81
2.7 Processor structure and Function
 Processor Organization
 To understand the organization of the CPU,
recall the requirements placed on the CPU:
 Fetch instruction
 Interpret instruction

 Fetch data

 Process data

 Write data

 To do all these things


 Processor needs to store data temporarily
 Temporary data storage locations --- Registers
--- are needed
60
PROCESSOR ORGANIZATION…
 Simplified view of a CPU
 Indicates its connection to the system via the system
bus

83
83
PROCESSOR ORGANIZATION…
 Detailed view of a CPU
 Indicates
 Data transfer and logic control paths
 Internal processor bus

 Used to transfer data b/n the ALU and various registers

84
84
REGISTER ORGANIZATION
 Registers
 CPU must have some working space
 Temporary storage
 Top level of memory hierarchy
 Number and function vary between processor
designs
 One of the major design decisions

85
85
REGISTER ORGANIZATION…
 Registers classified into two groups:
 User visible registers:
 Can be referenced by assembly language
 instructions

 Control and status registers:


 Used by control unit to control the operation of
the CPU

86
86
USER VISIBLE REGISTERS
 Can be categorized as follows:
 General purpose registers
 Data registers
 Address registers
 Condition codes

87
87
USER VISIBLE REGISTERS…
 General Purpose Registers
 Can be assigned variety of function by the
programmer
 May be true general purpose
 May be restricted
 May be used for data or addressing

 Data Registers
 Used only to hold data
 Accumulator
88
88
USER VISIBLE REGISTERS…
 Address registers
 Hold addresses
 Can be
 General purpose or
 Devoted to particular addressing mode

 Index registers, stack pointer, segment register

89
89
USER VISIBLE REGISTERS…
CONDITION CODES
 Sets of individual bits , also called flags
 Each bit set by CPUhardware as the result
of operations:
 E.g. Arithmetic operation results could be
 Positive, negative, zero, overflow
 Can be read (implicitly) by programs
 e.g. Jump if zero
 Can not (usually) be set by programs
90
90
CONTROL & STATUS REGISTERS
 Refers to different registers employed to
control the operation of the CPU
 Most not visible to the user
 Register essential during instruction cycle are
 Program Counter (PC)
 Instruction Register (IR)
 Memory Address Register (MAR)
 Memory Buffer Register (MBR)

91
91
CONTROL & STATUS REGISTERS…
 Program Status Word (PSW)
 A register that contain status information
 Usually contains
 Condition codes
 Status information
 Common fields or flags include
 Sign, zero, carry, equal, overflow, supervisor,
interrupt enable/disable
 Note that CPU design and Operating
system design are closely linked

92
92
2.8 INTERCONNECTION STRUCTURES
 A computer consists of a set of components
 All the units must be connected
 The collection of paths connecting various units
 Interconnection structure
 Different type of connection for different type of
unit
 Memory
 Input / Output
 CPU
 There are a number of possible interconnection
structures, the most common are: 29
93
 Single and multiple BUS structures
MEMORY CONNECTION
 Receives and sends data
 Receives addresses (of locations)

 Receives control signals


 Read
 Write
 Timing

94
INPUT/OUTPUT CONNECTION
 Similar to memory from computer’s viewpoint
 Output
 Receive data from computer
 Send data to peripheral
 Input
 Receive data from peripheral
 Send data to computer

95
CPU CONNECTION
 Reads instruction and data
 Writes out data (after processing)

 Sends control signals to other units

 Receives (& acts on) interrupts

96
BUS INTERCONNECTION
 What is a BUS ?
 A communication pathway connecting two or more
devices
 Consists of multiple lines, each line capable of transmitting
signals representing binary 1 or binary 0

 Multiple devices can be connected to the same bus


 A shared transmission medium
 A bus that connects major computer components
 System bus

97

34
DATA BUS

 Carries data
 Remember that there is no difference
between “data” and “instruction” at this
level
 Widthis a key determinant of
performance
 8, 16, 32, 64 bit

98
ADDRESS BUS
 Identify the source or destination of data
 e.g. CPU needs to read an instruction (data) from a
given location in memory
 Buswidth determines maximum memory
capacity of system
 e.g. 8080 has 16 bit address bus giving 64k address
space

99
CONTROL BUS

 Control and timing information


 Memory read/write signal
 Interrupt request
 Clock signals

10
0
 Operation of bus
 If one module wishes to send data to another,
it must
 Obtain the use of the bus
 Transfer data via the bus

 Ifone module wishes to request data from


another, it must
 Obtain the use of the bus
 Transfer a request to the other module over the

appropriate control and address lines


 Wait for the second module to send the data

10
1
BUS INTERCONNECTION...
 Single Bus Problems
 If many number of devices are connected to a
single bus, performance will suffer:
Reason
 More devices, the greater the bus length, the
greater the propagation delay
 Co-ordination of bus use can adversely affect
performance
 The bus becomes a bottleneck as the aggregate
data transfer approaches the capacity of bus
 Solutions
• Increasing the data rate that the bus can carry
• Using the wider bus
 Most 39
10
systems use multiple buses to overcome 2
these problems
BUS INTERCONNECTION...
 Multiple Buses
 A Traditional Bus
Architecture

10
3
BUS INTERCONNECTION...
 Multiple Buses…
 A High-speed Bus
Architecture

10
4
Evaluate A*B using
a. 3-address format
b. 2-address format
2. Take 10011010
c. Logical right shift(2-bit)
d. Arthimetic left shift(2-bit)
e. Rotate left (2 bit)

10
5
END of Chapter Two

71
10
6

You might also like