0% found this document useful (0 votes)
13 views

chapter 2

The document discusses advancements in microprocessor speed and performance, highlighting techniques such as pipelining, superscalar execution, branch prediction, and speculative execution. It emphasizes the importance of balancing performance across different components, particularly between memory and processors, and outlines approaches to improve efficiency. Additionally, it introduces new performance improvement strategies like multicore processors and Graphics Processing Units (GPUs).

Uploaded by

ahmed.waasel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

chapter 2

The document discusses advancements in microprocessor speed and performance, highlighting techniques such as pipelining, superscalar execution, branch prediction, and speculative execution. It emphasizes the importance of balancing performance across different components, particularly between memory and processors, and outlines approaches to improve efficiency. Additionally, it introduces new performance improvement strategies like multicore processors and Graphics Processing Units (GPUs).

Uploaded by

ahmed.waasel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Performance

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.

Techniques built into contemporary processors to


increase performance include

Superscalar Branch Speculative Data flow


Pipelining
execution prediction execution analysis
Microprocessor 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

The functionalities of pipelining in


the computer networks:
•High Performance
•Efficient use of resources
•Time Efficiency
•Fast Data Delivery
•Reduces the process waiting-time
Microprocessor Speed

Superscalar execution

•The ability to issue multiple


independent instructions in
parallel in every processor clock
cycle.
•Multiple parallel pipelines are
used.
Microprocessor Speed

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.

Data flow analysis


The processor analyzes which instructions are
dependent on each other’s results, or data, to
create an optimized schedule of instructions.
Performance

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.

This is why CPU The overall balance


computer in the system is
benchmarks are more important
used to compare than the raw
system performance of any
one component.
performance.
Performance

Performance Balance
To overcome the imbalance between memory and processor
speeds there are several approaches

Increase the number of bits that Change the DRAM interface to


are retrieved at one time by make it more efficient by
making DRAMs “wider” rather including a cache or other
than “deeper” and by using buffering scheme on the DRAM
wide bus data paths – 8, 16, 32, chip.
and 64-bit systems. Increase the interconnect
Reduce the frequency of bandwidth between processors
memory access by and memory by using higher-
incorporating increasingly speed buses and a hierarchy of
complex and efficient cache buses to buffer and structure
structures between the data flow.
processor and main
memory(memory hierarchy).
Performance

Improvements in Chip Organization and


Architecture
• Increase hardware speed of processor
• Fundamentally due to shrinking logic gate size
• More gates, packed more tightly, increasing
clock rate
• Propagation time for signals reduced
• Increase size and speed of caches
• Dedicating part of processor chip
• Cache access times drop significantly
• Change processor organization and architecture
• Increase effective speed of instruction execution
• Parallelism
Problems with Clock Speed and Login
Density
•Power
•RC delay
•Memory latency
New approach to improving performance

•Multicore: multiple processors on the


same chip, with a large shared cache.
•Many Integrated Core (MIC)
•Graphics Processing Unit (GPU)
Many Integrated Core (MIC)
Graphics Processing Unit (GPU)

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.

You might also like