Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 35

Faculty of Computer and Mathematical

Sciences

Assembly Level Machine


Organization
CHAPTER 3 (B)
CPU Processing Methods

July 3, 2024 CSC159 - COMPUTER ORGANIZATION 1


Faculty of Computer and Mathematical
Sciences

CPU Processing Methods


• In this topic, you will be introduced to the different and
interrelated CPU processing methods.
• The common methods used to increase the
performance of the CPU are:
– Separate Fetch/Execute Unit
– Pipelining
– Superscalar
– Multiprocessing
– RISC
Faculty of Computer and Mathematical
Sciences

CPU Processing Methods


• Performance – number of instructions executed in a
given amount of time.
• To increase computer performance, these techniques
are used:
– Separating the fetch unit / execute unit
• Allows independent, concurrent operation of the
two units of the fetch-execute cycle
Faculty of Computer and Mathematical
Sciences

CPU Processing Methods


– Overlapping between the fetch-execute cycles of
sequences of instructions (pipelining)
• This reduce the average time needed to complete
an instruction.
– Executing more than one instruction in a clock
cycle (superscalar)
Faculty of Computer and Mathematical
Sciences

CPU Processing Methods


1) Separating the fetch unit/ execute unit
– Previously – instruction cycles are executed one by
one. A new instruction enters the instruction cycle
after the previous instruction has completed
execution.
– In the instruction cycle, two phases are involved –
Fetch phase and Execute phase.
– To increase performance, it is possible to separate
the two phase and perform them concurrently.
Faculty of Computer and Mathematical
Sciences

Separate Fetch unit and


Execute Unit

7-6
Faculty of Computer and Mathematical
Sciences

CPU Processing Methods


• Fetch unit - retrieves and decodes the instructions
– Fetches the instructions in parallel
– Holds them in a buffer until it can be decoded and
executed.
– How many instructions in a buffer?
• Size of instruction
• Width of memory bus
• Size of buffer
Faculty of Computer and Mathematical
Sciences

CPU Processing Methods


• Execute unit – performs actual instruction execution
– Contains ALU and a portion of CU
– Identifies and controls the steps that comprise the
execution part of the instruction.
Faculty of Computer and Mathematical
Sciences

CPU Processing Methods


2) Overlapping the instruction cycle of instructions.
– fetch the next instruction while executing the
current instruction.
– Concept of pipelining
Faculty of Computer and Mathematical
Sciences

Concept of Pipelining
• Example: Laundry
• Ann, Brian, Cathy, Dave
each have one load of clothes A B C D
to wash, dry, and fold
• Washer takes 30 minutes

• Dryer takes 40 minutes

• “Folding” takes 20 minutes


Faculty of Computer and Mathematical
Sciences

Without Pipeline Concept


6 PM 7 8 9 10 11 Midnight

Time
30 40 20 30 40 20 30 40 20 30 40 20

Sequential laundry takes 6


hours for 4 loads
A
If they learned pipelining,
how long would laundry
B
take?
C

D
Faculty of Computer and Mathematical
Sciences

Concept of Pipelining
6 PM 7 8 9 10 11 Midnight

Time
T
a 30 40 40 40 40 20
s
 Pipelined laundry takes 3.5 hours for 4 loads
k A
Multiple tasks operating simultaneously
using different resources
O B
r
d C
e
r D
Faculty of Computer and Mathematical
Sciences

7-13
Faculty of Computer and Mathematical
Sciences
Faculty of Computer and Mathematical
Sciences

7-15
Faculty of Computer and Mathematical
Sciences

CPU Processing Methods


3) Executing more than one instruction in a
clock cycle.
– Process more than one instruction per clock
cycle
– Instructions processed in parallel, with an
average rate of more than 1 instruction per
clock cycle through multiple execution units
– Concept of superscalar
Faculty of Computer and Mathematical
Sciences

7-17
Faculty of Computer and Mathematical
Sciences

7-18
Faculty of Computer and Mathematical
Sciences

Concept of superscalar
Faculty of Computer and Mathematical
Sciences

7-20
Faculty of Computer and Mathematical
Sciences

CPU Processing Methods


4) Increase power of a computer system by
adding more computers.
– 2 or more CPUs may be interconnected to
form a multiprocessing system because:
• Adding additional CPUs is cheap and within
limits
• Programs can be divided & the parts executed
simultaneously on multiple CPUs
– Concept of Multiprocessing
7-21
Faculty of Computer and Mathematical
Sciences

CPU Processing Methods


• Adding more CPUs is relatively
inexpensive
• 2 different approaches:
– Tightly coupled system
– Loosely coupled system

7-22
Faculty of Computer and Mathematical
Sciences

7-23
Faculty of Computer and Mathematical
Sciences

7-24
Faculty of Computer and Mathematical
Sciences

7-25
Faculty of Computer and Mathematical
Sciences

7-26
Faculty of Computer and Mathematical
Sciences

7-27
Faculty of Computer and Mathematical
Sciences

7-28
Faculty of Computer and Mathematical
Sciences

7-29
Faculty of Computer and Mathematical
Sciences

7-30
Faculty of Computer and Mathematical
Sciences

CPU Processing Methods


5) Simplify instructions (do less but execute fast).
• Increase the number of register set and increase
internal parallelism using ILP/TLP.
• Uniform instruction format (use single word)  less
coding
• Simple addressing modes
• Few data types in hardware
• Concept of RISC (Reduced Instruction Set
Computer)
7-31
Faculty of Computer and Mathematical
Sciences

7-32
Faculty of Computer and Mathematical
Sciences

7-33
Faculty of Computer and Mathematical
Sciences

7-34
Faculty of Computer and Mathematical
Sciences

7-35

You might also like