Professional Documents
Culture Documents
CA Classes-126-130
CA Classes-126-130
CA Classes-126-130
Structure:
6.1 Introduction
Objectives
6.2 Dynamic Scheduling
Advantages of dynamic scheduling
Limitations of dynamic Scheduling
6.3 Overcoming Data Hazards
6.4 Dynamic Scheduling Algorithm – The Tomasulo Approach
6.5 High performance Instruction Delivery
Branch target buffer
Advantages of branch target buffer
6.6 Hardware-based Speculation
6.7 Summary
6.8 Glossary
6.9 Terminal Questions
6.10 Answers
6.1 Introduction
In pipelining, two or more instructions that are independent of each other
can overlap. This possibility of overlap is known as ILP (instruction-level
parallelism). It is addressed as ILP because the instructions may be
assessed parallelly. Parallelism level is quite small in straight-line codes
where there are no branches except the entry or exit. The easiest and most
widely used methodology to enhance parallelism is by exploiting parallelism
among the loop iterations. This is termed as “loop-level parallelism”.
In the previous unit, you studied design space of pipelines. You studied
various aspects such as pipelined execution of integer and Boolean
instructions and pipelined processing of loads and stores. In this unit, we will
throw light on the process of overcoming hazards with dynamic schedule, its
examples and algorithm. We will also examine the High performance
instruction delivery and hardware based speculation.
Objectives:
After studying this unit, you should be able to:
describe the process of overcoming the data hazards with dynamic
scheduling
give examples of dynamic scheduling
describe the Tomasulo approach of dynamic scheduling algorithm
identify techniques of overcoming data hazards with dynamic scheduling
analyse the concept of high performance instruction delivery
explain hardware based speculation
Here F0, F1, F2….F14 are the floating point registers (FPRs) and DIVD,
ADDD and SUBD are the floating point operations on double
precision(denoted by D). The dependence of ADDD on DIVD causes a stall
in the pipeline; and thus, the SUBD instruction cannot execute. IF the
instructions are not executed in same sequence then this limitation could be
ruled out.
In case of DLX (DLX is a RISC processor architecture) pipeline, the
structural & data hazards are examined during the instruction decode (ID). If
any instruction can carry out appropriately, it is issued from ID. To
commence with the execution of the SUBD, we need to examine the
following two issues separately:
Firstly we need to analyse the any type of structural hazards
Secondly, we need to wait for the non-occurrence of any data hazard.
Structural hazards must be checked at the time of issuance. Therefore, in-
order instruction issuance is still used. Moreover, instruction implementation
must initiate at the instant when the data operands are available for access.
In this example you can see that ADDD and SUBD are interdependent. If
SUBD is executed before ADDD, then the data interdependence will be
violated resulting in wrong execution. Similarly, to refrain output
dependencies violation, it is essential to detect WAW (Write after Write)
data hazards Scoreboard technique helps to minimize or remove both the
structural as well as the data hazards. Scoreboard stalls the later instruction
that is engaged in the interdependence. Scoreboard’s goal is to execute an
instruction in each clock cycle (in situation where no structural hazards
exist). Therefore, when any instruction is stalls, some other independent
instructions may be executed. The scoreboard technique takes complete
accountability for issuing and executing the instruction together with all
hazards detection. To take advantage of executing instructions out-of-order
necessarily requires several instructions to be executed simultaneously. We
can achieve this by use of either of the two ways:
1. By utilizing pipelined functional units
2. By using multiple functional units
Manipal University of Jaipur B1648 Page No. 130