chapter 2
chapter 2
Microprocessor Speed
The development of computers continues. Due to the
application of Moore's Law, chip makers can release a new
generation of chips every three years - with four times the
number of transistors. This leads to an increase in speed.
Pipelining
• Pipelining is the process of sending multiple data
packets serially without waiting for the previous
acknowledgment.
• This technique is beneficial when the amount of data
to be transferred is very large, and we send the data by
dividing them into various parts.
• It facilitates parallelism in execution at the hardware
level.
• “Common” instructions (arithmetic, load/store,
conditional branch) can be executed independently.
• Pipelining does not reduce the execution time of
individual instructions but reduces the overall
execution time required for a program.
Microprocessor Speed
Pipelining
Superscalar execution
Branch prediction
• The processor looks ahead in the instruction code
fetched from memory and predicts which branches, or
groups of instructions, are likely to be processed next.
• The purpose of the branch predictor is to improve the
flow in the instruction pipeline.
• The prediction is executed and the results are kept
temporarily, and if it is later detected that the guess
was wrong, the speculatively executed or partially
executed instructions are discarded .The pipeline
starts over with the correct branch, causing a delay.
Microprocessor Speed
Speculative execution
Using branch prediction and data flow
analysis, some processors speculatively
execute instructions before their actual
appearance in the program execution, holding
the results in temporary locations, and keeping
execution engines as busy as possible.
Performance Balance
One difficulty in designing
an efficient system is that It is necessary to
different components adjust the
operate at different speeds. organization and
➢ For example, DRAM is architecture to
generally much slower than
the processor compensate for this
mismatch.
Performance Balance
To overcome the imbalance between memory and processor
speeds there are several approaches
MIC GPU
• A large number of cores per • A chip with multiple general-
chip. purpose processors plus graphics
• Leap in performance as well processing units (GPUs) and
as the challenges in specialized cores for video
developing software to processing and other tasks.
exploit such a large number • Traditionally found on a plug-in
of cores. graphics card, it is used to
• The multicore and MIC encode and render 2D and 3D
strategy involves a graphics as well as a process
homogeneous collection of video.
general purpose processors • Used as vector processors for a
on a single chip. variety of applications that
require repetitive computations.
Basic Measures of Computer Performance
• Performance is one of the key parameters to consider,
along with cost, size, security, reliability, and, in some
cases, power consumption.
• Traditional measures of processor speed:
➢Clock Speed:
oThe speed of a processor is dictated by the pulse frequency
produced by a system clock.
oClock speed is measured in cycles per second (Hertz)
➢Instruction Execution Rate:
oThe processor will have many different instructions it can
perform and each will take a fixed number of cycles.