0% found this document useful (0 votes)
6 views11 pages

Notes 21

Superscalar architecture enhances the performance of scalar instruction execution by allowing multiple instructions to be executed independently and concurrently across different pipelines. This approach utilizes multiple functional units, each functioning as a pipeline, to achieve parallelism. However, it faces constraints such as true data dependency and resource conflicts that can limit instruction-level parallelism.

Uploaded by

manavlund5
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)
6 views11 pages

Notes 21

Superscalar architecture enhances the performance of scalar instruction execution by allowing multiple instructions to be executed independently and concurrently across different pipelines. This approach utilizes multiple functional units, each functioning as a pipeline, to achieve parallelism. However, it faces constraints such as true data dependency and resource conflicts that can limit instruction-level parallelism.

Uploaded by

manavlund5
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/ 11

Computer Architecture

and Organization
BECSE-IV
Superscalar Architecture
• The term superscalar, first coined in 1987 [AGER87], refers to a machine
that is designed to improve the performance of the execution of scalar
instructions.
• In most applications, the bulk of the operations are on scalar quantities
• Accordingly, the superscalar approach represents the next step in the
evolution of high-performance general-purpose processors.

Lecture notes: Dr Mumtaz Ali Kaloi CSE Deptt. 2


Superscalar Architecture…
• The essence of the superscalar approach is the ability to execute instructions
independently and concurrently in different pipelines.
• The concept can be further exploited by allowing instructions to be executed
in an order different from the program order.

Lecture notes: Dr Mumtaz Ali Kaloi CSE Deptt. 3


Superscalar Architecture…
• Figure compares, in general
terms, the scalar and
superscalar approaches.
• In a traditional scalar
organization, there is a single
pipelined functional unit for
integer operations and one
for floating-point operations.
Lecture notes: Dr Mumtaz Ali Kaloi CSE Deptt. 4
Superscalar Architecture…
• Parallelism is achieved by enabling multiple instructions to be at different
stages of the pipeline atone time.
• In the superscalar organization, there are multiple functional units, each of
which is implemented as a pipeline.
• Each individual functional unit provides a degree of parallelism by virtue of
its pipelined structure.

Lecture notes: Dr Mumtaz Ali Kaloi CSE Deptt. 5


Superscalar Architecture…
• The use of multiple functional units enables the processor to execute
streams of instructions in parallel, one stream for each pipeline.
• It is the responsibility of the hardware, in conjunction with the compiler, to
assure that the parallel execution does not violate the intent of the program.

Lecture notes: Dr Mumtaz Ali Kaloi CSE Deptt. 6


Superscalar versus Superpipelined
• In superpipelined implementation that is capable of performing two
pipeline stages per clock cycle
• The lowest part of the diagram shows a superscalar implementation capable
of executing two instances of each stage in parallel.
• Higher-degree superpipeline and superscalar implementations are of course
possible.

Lecture notes: Dr Mumtaz Ali Kaloi CSE Deptt. 7


Lecture notes: Dr Mumtaz Ali Kaloi CSE Deptt. 8
Constraints
• The superscalar approach depends on the ability to execute multiple
instructions in parallel.
• The term instruction-level parallelism refers to the degree to which, on
average, the instructions of a program can be executed in parallel.
• A combination of compiler-based optimization and hardware techniques can
be used to maximize instruction-level parallelism.

Lecture notes: Dr Mumtaz Ali Kaloi CSE Deptt. 9


Constraints…
• Before examining the design techniques used in superscalar machines to increase
instruction-level parallelism, we need to look at the fundamental limitations to
parallelism with which the system must cope.
• There are five limitations:
• True data dependency;
• Procedural dependency;
• Resource conflicts;
• Output dependency;
• Antidependency

Lecture notes: Dr Mumtaz Ali Kaloi CSE Deptt. 10


Thanks…

Lecture notes: Dr Mumtaz Ali Kaloi CSE Deptt. 11

You might also like