Professional Documents
Culture Documents
CA Classes-76-80
CA Classes-76-80
References:
Hwang, K. (1993) Advanced Computer Architecture. McGraw-Hill, 1993.
D. A. Godse & A. P. Godse (2010). Computer Organization. Technical
Publications. pp. 3–9.
John L. Hennessy, David A. Patterson, David Goldberg (2002)
"Computer Architecture: A Quantitative Approach", Morgan Kaufmann;
3rd edition.
Dezsö Sima, Terry J. Fountain, Péter Kacsuk (1997) Advanced
computer architectures - a design space approach. Addison-Wesley-
Longman: I-XXIII, 1-766.
E-references:
http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/
mips.html http://www.withfriendship.com/user/servex/mips-architecture.
php
http://en.wikipedia.org/wiki/File:CDC_Cyber_170_CPU_architecture.png
4.1 Introduction
In the previous unit, you studied about the changing face of computing.
Also, you studied the meaning and tasks of a computer designer. We also
covered the technology trends and the quantitative principles in computer
design. In this unit, we will introduce you to pipelining processing, the
pipeline hazards, structural hazards, control hazards and techniques to
handle them. We will also examine the performance improvement with
pipelines and understand the effect of hazards on performance.
A parallel processing system can carry out concurrent data processing to
attain quicker execution time. For example, as an instruction is being
executed in the ALU, the subsequent instruction can be read from memory.
The system may have more than one ALU and be able to execute two or
more instructions simultaneously. Additionally, the system may have two or
more processors operating at the same time. The rationale of parallel
processing is to speed up the computer processing potential and increase it
all through.
4.2 Pipelining
An implementation technique by which the execution of multiple instructions
can be overlapped is called pipelining. This pipeline technique splits up the
sequential process of an instruction cycle into sub-processes that operates
concurrently in separate segments. As you know computer processors can
execute millions of instructions per second. At the time one instruction is
getting processed, the following one in line also gets processed within the
same time, and so on. A pipeline permits multiple instructions to get
executed at the same time. Without a pipeline, every instruction has to wait
for the previous one to be complete. The main advantage of pipelining is
that it increases the instruction throughput, which is defined as the number
of instructions completed per unit time. Thus, a program runs faster.
In pipelining, several computations can run in distinct segments at the same
time. A register is associated with each segment in the pipeline to provide