Movatterモバイル変換


[0]ホーム

URL:


Pipeline Computing by S. M. Risalat Hasan Chowdhury

The document discusses pipeline computing and its various types and applications. It defines pipeline computing as a technique to decompose a sequential process into parallel sub-processes that can execute concurrently. There are two main types - linear and non-linear pipelines. Linear pipelines use a single reservation table while non-linear pipelines use multiple tables. Common applications of pipeline computing include instruction pipelines in CPUs, graphics pipelines in GPUs, software pipelines using pipes, and HTTP pipelining. The document also discusses implementations of pipeline computing and its advantages like reduced cycle time and increased instruction throughput.

Embed presentation

Download to read offline
A Simple StudyOnPipeline ComputingByS. M. Risalat Hasan ChowdhurySohan KhanUmma Habiba
Abstract:Computer is a magic box of modern world. Now a day it is not used in only arithmetic operations, it is used in spaceto earth everywhere. For this reasons engineers try to reduce the size of a computer and rapidly increase thecomputation (computing, networking, gaming, etc) power of a computer. Now people use the computer to entertainthemselves too. So, it is a challenge for engineers to give them a perfect device what they want. Pipeline computingis a technique to achieve a machine which can give satisfactory services to the users. Pipelining began in the late1970’s in Supercomputers as vector processors and array processors. This paper is about the pipeline computing andits works.1. Introduction:Pipelining what is a technique to decompose a sequential process into sub operations. Each sub process will beexecuted in a special dedicated segment that operates concurrently with all other segments. The registers give thefacility of isolation between each segment so that individual segment can operate on distinct data simultaneously. Ifone wants to do a simple arithmetic work A x B + C = ? , the technique will provide the service as follows-A BCFig. 1.1: Example of Pipeline arithmetic data processingThen the processor holds the value of A in register R1, B in R2 and C in R4 register. First multiply the values of Aand B and store the multiplied value in register R3. After that the processor takes the value of C from R4 registerand adds with the R3 register value with the help of adder. Finally the result of the problem will be hold in the R5register. In pipelining, the processor works in a serial way, it doesn’t do the work in parallel way. The processes willbe done in a serial way. Here, there is a reservation table for store the pipeline processes. The reservation tablemainly displays the time space flow of data through the pipeline for a function [1]. Pipelining is a technique forimproving processing performance of a micro-processor. This architecture allows the concurrent execution ofseveral instructions. For achieving pipelining, a task is subdivided into a sequence of subtasks and each of which canbe executed by a specialized hardware stage that operates concurrently with other stages in the pipeline.2. Types of Pipelining:There are two types of pipeline computing. Such as Linear and Nonlinear (Dynamic Pipelining). Each has its owncharacteristics and functions to do task. They use a reservation table (for Linear) or a set of reservation tables (forDynamic). A reservation table for a linear pipeline computing can be generated easily because data flow follows alinear stream. But Dynamic pipeline or non-linear pipeline uses a non-linear pattern, is followed so multiplereservation tables can be generated for different functions. The reservation table generally displays the time spaceflow of data through the pipeline for a function. Different functions in a reservation table follow different paths.R1 R2R4MultiplierR3AdderR5
Figure: Types of Pipeline ComputingLinear pipelining processor is a series of processing stages and memory access. It uses only one reservation table foraccessing processes without thinking the result of the processes. Reservation table is used for the data or processflow. But in the case of Nonlinear pipelining, it uses several reservation table. And it uses a table when it needs thattable to do a process. Tables are always there to help the nonlinear technique [2].3. Computer-related pipelines are:- Instruction pipelines: such as the classic RISC pipeline which are used in central processing units (CPUs)to allow overlapping execution of multiple instructions with the same circuitry. The circuitry is usuallydivided up into stages, including instruction decoding, arithmetic, and registers fetching stages, where ineach stage processes one instruction at a time.- Graphics pipelines: found in most graphics processing units (GPUs), which consist of multiple arithmeticunits, or complete CPUs, that implement the various stages of common rendering operations (perspectiveprojection, window clipping, color and light calculation, rendering, etc.).- Software pipelines: where commands can be written where the output of one operation is automaticallyfed to the next, following operation. The UNIX system call pipe is a classic example of this concept,although other operating systems do support pipes as well.- HTTP pipelining: where multiple requests are sent without waiting for the result of the first request [3].4.1. Instruction Pipelining:- First stage fetches the instruction and buffers it.- When the second stage is free, the first stage passes it the buffered instruction.- While the second stage is executing the instruction, the first stage takes advantages of any unusedmemory cycles to fetch and buffer the next instruction.- This is called instruction pre-fetch or fetches overlap.4.2. Inefficiency in two stage instruction pipelining:There are two reasons-- The execution time will generally be longer than the fetch time. Thus the fetch stage may have to waitfor some time before it can empty the buffer.- When conditional branch occurs, then the address of next instruction to be fetched becomes unknown.Then the execution stage has to wait while the next instruction is fetched.Fig-1: Two stage instruction pipelining4.3. Use the Idea of Pipelining in a Computer:PipelinecomputingLinear Pipelining Non-linear PipeliningFetch ExecuteInstruction Instruction Result
The speed of execution of programs is prejudiced by many factors and one way to get better performance is to usefaster circuit technology to build the processor and the main memory. Another option is to arrange the hardware sothat more than one operation can be performed at the same time. In this way, the number of operations performedper second is increased even though the elapsed time needed to perform any one operation is not changed. We haveencountered concurrent activities several times before. Chapter 1 in-traduced the concept of multiprogramming andexplained how it is possible for I/O transfers and computational activities to proceed simultaneously. DMA devicesmake this possible because they can perform I/O transfers independently once these transfers are initiated by theprocessor. Pipelining is a particularly effective way of organizing concurrent activity in a computer system. Thebasic idea is very simple. It is frequently encountered in manufacturing plants, where pipelining is commonly knownas an assembly-line operation. Readers are undoubtedly familiar with the assembly line used in car manufacturing.The first station in an assembly line may prepare the chassis of a car, the next station adds the body, and the next oneinstalls the engine, and so on. While one group of workers is installing the engine on one car, another group is fittinga car body on the chassis of another car, and yet another group is preparing a new chassis for a third car. It may takedays to complete work on a given car, but it is possible to have a new car rolling off the end of the assembly lineevery few minutes.Fig-2:Building a car using unpielined Fig-3:Building a car using pielinedConsider how the idea of pipelining can be used in a computer. The processor executes a program by fetching andexecuting instructions, one after the other. Let Fi and Ei refer to the fetch and execute steps for instruction. Executionof a program consists of a sequence of fetch and execute steps, as shown in Figure 3a.Now consider a computer thathas two separate hardware units, one for fetching instructions and another for executing them, as shown in Figure3b. The instruction fetched by the fetch unit is deposited in an intermediate storage buffer, B1. This buffer is neededto enable the execution unit to execute the instruction while the fetch unit is fetching the next instruction. The resultsof execution are deposited in the destination location specified by the instruction. For the purposes of thisdiscussion, we assume that both the source and the destination of the data operated on by the instructions are insidethe block labeled “Execution unit [4].
Fig 3: Basic idea of instruction pipelining [7]4.4. Decomposition of instruction processing- To gain further speedup, the pipeline have more stages(6 stages)- Fetch instruction(FI)- Decode instruction(DI)- Calculate operands (i.e. EAs)(CO)- Fetch operands(FO)- Execute instructions(EI)- Write operand(WO)Fig: Six-stage CPU instruction pipeline [7]
Fig 4: A 4 stage pipeline [7]Fetch Instruction (FI): Read the next expected instruction into a bufferDecode Instruction (DI): Determine the Opcode and the operand specifiers.Calculate Operands (CO): Calculate the effective address of each source operand.Fetch Operands (FO): Fetch each operand from memory. Operands in registers need not be fetched.Execute Instruction (EI) : Perform the indicated operation and store the resultWrite Operand (WO): Store the result in memory.4.5. Timing diagram for instruction pipeline operation:Fig 5: Timing diagram for instruction pipeline operation [7]4.6. High efficiency of instruction pipelining:- Assume all the below in diagram- All stages will be of equal duration.- Each instruction goes through all the six stages of the pipeline.- All the stages can be performed parallel.- No memory conflicts.- All the accesses occur simultaneously.In the previous diagram the instruction pipelining works very efficiently and give high performance4.7. Limits to performance enhancement:
The factors affecting the performance are1. If six stages are not of equal duration, then there will be some waiting time at various stages.2. Conditional branch instruction which can invalidate several instructions fetches.3. Interrupt which is unpredictable event.4. Register and memory conflicts.5. CO stage may depend on the contents of a register that could be altered by a previous instruction that is stillin pipeline.4.8. Effect of conditional branch on instruction pipeline operation:Fig 6: Effect of conditional branch on instruction pipeline operation [7]5. Implementations: Buffered, synchronous pipelines:Conventional microprocessors are synchronous circuits that use buffered, synchronous pipelines. In thesepipelines, "pipeline registers" are inserted in-between pipeline stages, and are clocked synchronously. Thetime between each clock signal is set to be greater than the longest delay between pipeline stages, so thatwhen the registers are clocked, the data that is written to them is the final result of the previous stage. Buffered, asynchronous pipelinesAsynchronous pipelines are used in asynchronous circuits, and have their pipeline registers clockedasynchronously. Generally speaking, they use a request/acknowledge system, where in each stage candetect when it's "finished". When the stage, Si, is ready to transmit, it sends a ready signal to stage Si+1.After stage Si+1, receives the incoming data, it returns an acknowledgement signal to Si. The AMULETmicroprocessor is an example of a microprocessor that uses buffered, asynchronous pipelines. Unbuffered pipelines:Unbuffered pipelines, called "wave pipelines", do not have registers in-between pipeline stages. Instead, thedelays in the pipeline are "balanced" so that, for each stage, the difference between the first stabilizedoutput data and the last is minimized. Thus, data flows in "waves" through the pipeline, and each wave iskept as short (synchronous) as possible. The maximum rate that data can be fed into a wave pipeline isdetermined by the maximum difference in delay between the first piece of data coming out of the pipe andthe last piece of data, for any given wave. If data is fed in faster than this, it is possible for waves of data tointerfere with each other [3].6. Applications of Pipeline Computing:6.1. RISC: A computer uses some instructions with simple constructs so they can execute faster within the CPU,often without memory. This technique simply known as Reduced Instruction Set Computer (RISC). RISC uses
fewer instructions set but works faster than others. Fewer instruction set reduces its execution cycle. RISC is a CPUdesign based on a simplified instruction set provides higher performance when combined with a microprocessorarchitecture capable of executing those instructions using fewer microprocessor cycles per instruction. Its majorcharacteristics are-- Mostly few instructions,- Relatively less addressing modes,- Memory access limited to load and store instructions,- Operations done within the registers of the CPU,- Single-cycle instruction execution.RISC uses pipelining to do its execution and other tasks. The RiSC-16 is an 8-register, 16-bit computer. Alladdresses are short word-addresses. The clock speeds are increased while the amounts of logic between successivelatches are decreased. If the full task is sliced up into smaller sub-tasks, the clock can run as fast as the largest sub-task. A pipeline theoretically of n stages must run with a clock that is n times faster than any sequentialimplementation. This theoretical limit is never reached because of latch overhead and sub-task of unequal length.Sometimes the clock rate may extremely fast. The process of slicing up the instruction execution is called pipelining.And this process is in every aspect of modern computer design; from processor core to DRAM sub-system, tooverlapping of transactions on memory and I/O buses etc [9].6.2. Graphical Pipeline Viewer:Figure: Graphical Pipeline ViewerFigure shows as a Graphical Pipeline Viewer. Here an architectural simulator is used to produce a pipetrace streamwhich contains a detailed description of the instruction flow through the machine and document the movement ofinstructions in the pipeline from start to end. Pipetrace stream denotes various other events and stage transitions thatoccur during an instruction’s lifetime. Generally, Pipetrace stream which comes from the architectural simulator canbe sent directly into GPV (Graphical Pipeline Viewer) or buffered in a file for further analysis or processes. GPVdigests this information or data and produces a graphical representation of the data. The graph generated by the GPVplots instructions in program order, showing the lifetime of an instruction what operation it was performing. Thedata or information which is the need of machine in a vision form always chooses pipelining computing. On a TVscreen or computer monitor, people see images one by one. After viewing one image people can see another becauseof pipelining. Next data have to wait for the previous one completed. Architectural Simulator controls the flow ofinformation to turn into vision format. After the pipelining process, any kind of display device can display the datain a vision format. Here is an example of CRT monitor and it’s inside elements.ArchitecturalSimulatorTextfileGPVPERL TKPipetrace streamScreen
ShadowmaskPhosphorsPhosphor screenElectrongunsBlueGreenRedFig.: Shadow masking in CRTCRT monitor has 3types of electron guns, control electrodes, focusing electrodes, horizontal deflection plates,vertical deflection plates, shadow mask and a phosphor screen. Electron guns shoot electrons; control electrode,focusing electrodes, horizontal deflection plates, vertical deflection plates, shadow mask are used to shoot theelectrons on exact point. Shadow mask also filters the electrons. While electrons hit the phosphor screen, it glowsand shows different dot colors and the dot color make a full image. RGB color coding is a common form of colorcoding. Using this technique display devices and other devices can frequently use color (how much and where themachine needs) [10].6.3. Pipeline and Unpipeline in CPU:Pipelining is a concept used in many fields, as well as in CPU architectures, to speed-up a job. The principle that liesbehind it is basically the following. Consider that a job J is completed by a sequential system in a time T. In this casethe latency is T and the throughput is Tseq=1/T. obviously, given the nature of the system, N jobs of the same kindof J are completed in a time N*T. It is likely though, that they can be divided in smaller stages and each stage beexecuted by a sub-system. Consider the following figure with J divided in 4 parts.In this scenario the system doesn't need to be strictly sequential. Indeed, when JobA (in the following figure) is inthe first stage just the sub-system in charge of executing J1 is busy. Consequently, is possible to execute other jobsin the same clock cycle. In fact, as in the example below, four jobs are executed in parallel in the fourth clock.
Ideally, if K is the number of stages, the throughput of a pipelined system is Tpip=K/T, hence K times biggerthan Tseq [11}.7. Advantages and Limitations of Pipelining:Pipelining does not help in all cases. There are several possible limitations. An instruction pipeline is said to be fullypipelined if it can accept a new instruction every clock cycle. A pipeline that is not fully pipelined has wait cyclesthat delay the progress of the pipeline.7.1. Advantages of Pipelining:- The cycle time of the processor is reduced, thus increasing instruction issue-rate in most cases.- Some combinational circuits such as adders or multipliers can be made faster by adding morecircuitry. If pipelining is used instead, it can save circuitry vs. a more complex combinationalcircuit.- Pipeline are most convenient ,efficient and economical mode of transporting liquids likepetroleum, petroleum products, nature gas, water, milk etc.- pipelines have relieved the increasing pressure on the exiting surface transport system(railwaysand roadways)- Pipeline is a safe and reliable mode of transport system.- It is an economical and dependable mode of transport system particularly to the sensitive andstrategic area.- In case of underground pipelines, the land in which pipeline is laid can still be used foragricultural use.7.2. Limitations of Pipelining:- First is its complexity and second is the inability to constantly run the pipeline at full speed.- A non-pipelined processor executes only a single instruction at a time. This prevents branch delays(in effect, every branch is delayed) and problems with serial instructions being executedconcurrently. Consequently the design is simpler and cheaper to manufacture.- The instruction latency in a non-pipelined processor is slightly lower than in a pipelinedequivalent. This is due to the fact that extra flip flops must be added to the data path of a pipelinedprocessor.- A non-pipelined processor will have a stable instruction bandwidth. The performance of apipelined processor is much harder to predict and may vary more widely between differentprograms [12}.
Contribution:S. M. Risalat Hasan Chowdhury Introduction, Types of Pipelining, Reservation Table, Application (RISC-16, Graphical Pipeline Viewer, CRT monitor basic).Sohan KhanInstruction Pipelining, Inefficiency in two stage instruction pipelining, Usethe Idea of Pipelining in a Computer, Decomposition of instructionprocessing, Timing diagram for instruction pipeline operation, Highefficiency of instruction pipelining, Limits to performance enhancement,Effect of conditional branch on instruction pipeline operation.Umma HabibaComputer-related pipelines, Implementations, Pipeline and Unpipeline inCPU, Advantages and Limitations of Pipelining.
References:1. https://app.box.com/shared/i3uj6z2y782. Performance Evaluation of Nonlinear Pipeline through UML by Dr. Vipin Saxena and Manish Shrivastava.3. Graphics pipeline. (n.d.). Computer Desktop Encyclopedia. Retrieved December 13, 2005,4. www.mhhe.com/engcs/electrical/hamacher/5e/.../ch08_453-510.pdf5. A.Bright,J.Fritts,andM.Gschwind. Decoupledfetch-executeengine withstaticbranchpredictionsupport.Technicalreport,IBMResearch Report RC23261, IBM Research Division, 1999.6. https://www.cs.auckland.ac.nz/~jmor159/363/html/pipelines.html7. http://www.slideshare.net/siddiqueibrahim37/pipelining-416086758. The SPARC Architecture Manual, Version 9, D. Weaver and T. Germond, ed., PTR Prentice Hall,Englewood Cliffs, New Jersey, 1994.9. ENEE 446: Digital Computer Design — The Pipelined RiSC-16 by Prof. Bruce Jacob.PerformanceAnalysis Using Pipeline Visualization by Chris Weaver, Kenneth C. Barr, Eric Marsman, Dan Ernst, andTodd Austin.10. Performance Analysis Using Pipeline Visualization by Chris Weaver and others; Advanced ComputerArchitecture Laboratory University of Michigan; Ann Arbor MI 4810411. https://www.quora.com/Processor-Architecture-In-a-CPU-what-is-the-benefit-of-having-many-pipeline-stages12. https://www.ukessays.com/essays/information-technology/pipelining-and-superscalar-architecture-information-technology-essay.php

Recommended

PPTX
Assembly p1
PPTX
Pipeline & Nonpipeline Processor
PDF
Comp archch06l01pipeline
PDF
Advanced pipelining
 
PDF
Comp architecture : branch prediction
PPT
Pipelining in computer architecture
PPT
pipelining
PPT
Pipelining
PPT
Pipelining In computer
PPTX
Design a pipeline
PPT
Chapter6 pipelining
PPTX
Loop parallelization & pipelining
DOC
Pipeline Mechanism
PPT
Lec18 pipeline
PPT
Instruction pipelining
PPT
Pipelining
PPTX
Pipeline processing - Computer Architecture
PPSX
Concept of Pipelining
PPTX
Pipelining, processors, risc and cisc
PPTX
Chapter 04 the processor
PPTX
pipelining
PPTX
3 Pipelining
PPSX
Pipelining_Computer Organization_TU(BIM)
PPT
Computer architecture pipelining
PPT
Pipeline hazard
PDF
Instruction pipeline
 
PPTX
INSTRUCTION PIPELINING
PPT
Piplining
PDF
A simple study on computer algorithms by S. M. Risalat Hasan Chowdhury
DOCX
TRABAJO INTEGRADOR ETICA

More Related Content

PPTX
Assembly p1
PPTX
Pipeline & Nonpipeline Processor
PDF
Comp archch06l01pipeline
PDF
Advanced pipelining
 
PDF
Comp architecture : branch prediction
PPT
Pipelining in computer architecture
PPT
pipelining
PPT
Pipelining
Assembly p1
Pipeline & Nonpipeline Processor
Comp archch06l01pipeline
Advanced pipelining
 
Comp architecture : branch prediction
Pipelining in computer architecture
pipelining
Pipelining

What's hot

PPT
Pipelining In computer
PPTX
Design a pipeline
PPT
Chapter6 pipelining
PPTX
Loop parallelization & pipelining
DOC
Pipeline Mechanism
PPT
Lec18 pipeline
PPT
Instruction pipelining
PPT
Pipelining
PPTX
Pipeline processing - Computer Architecture
PPSX
Concept of Pipelining
PPTX
Pipelining, processors, risc and cisc
PPTX
Chapter 04 the processor
PPTX
pipelining
PPTX
3 Pipelining
PPSX
Pipelining_Computer Organization_TU(BIM)
PPT
Computer architecture pipelining
PPT
Pipeline hazard
PDF
Instruction pipeline
 
PPTX
INSTRUCTION PIPELINING
PPT
Piplining
Pipelining In computer
Design a pipeline
Chapter6 pipelining
Loop parallelization & pipelining
Pipeline Mechanism
Lec18 pipeline
Instruction pipelining
Pipelining
Pipeline processing - Computer Architecture
Concept of Pipelining
Pipelining, processors, risc and cisc
Chapter 04 the processor
pipelining
3 Pipelining
Pipelining_Computer Organization_TU(BIM)
Computer architecture pipelining
Pipeline hazard
Instruction pipeline
 
INSTRUCTION PIPELINING
Piplining

Viewers also liked

PDF
A simple study on computer algorithms by S. M. Risalat Hasan Chowdhury
DOCX
TRABAJO INTEGRADOR ETICA
PPTX
Rainwater harvesting
PPTX
NCompass Live: Planning for Successfull Internships
PPTX
Lesson 02
PDF
ประสบการณ์การได้รับการสนับสนุนทางสังคมในผู้ป่วยไตวายเรื้อรังระยะสุดท้ายที่ได้...
PPTX
دليل استخدام المدونة
DOCX
Modelo de Examen de Reparación de Lengua y Literatura, Matemáticas y Sociales...
PDF
Diclofenac
PDF
¿Es segura la nube?
PDF
Fireworks MX
PPT
La conoscenza del corpo umano - didattica differenziata
PPTX
The 5 W’s of Behaviour
PPTX
How to Prepare for a FINRA Regulatory Inspection
PDF
John M. Fife "Pipeline Construction Explained"
PPTX
Pipeline Inspection Services
PDF
TMQC-Pipeline NDT2015
A simple study on computer algorithms by S. M. Risalat Hasan Chowdhury
TRABAJO INTEGRADOR ETICA
Rainwater harvesting
NCompass Live: Planning for Successfull Internships
Lesson 02
ประสบการณ์การได้รับการสนับสนุนทางสังคมในผู้ป่วยไตวายเรื้อรังระยะสุดท้ายที่ได้...
دليل استخدام المدونة
Modelo de Examen de Reparación de Lengua y Literatura, Matemáticas y Sociales...
Diclofenac
¿Es segura la nube?
Fireworks MX
La conoscenza del corpo umano - didattica differenziata
The 5 W’s of Behaviour
How to Prepare for a FINRA Regulatory Inspection
John M. Fife "Pipeline Construction Explained"
Pipeline Inspection Services
TMQC-Pipeline NDT2015

Similar to Pipeline Computing by S. M. Risalat Hasan Chowdhury

PPTX
pipeline in computer architecture design
PPT
Unit 3
PDF
A survey of paradigms for building and
 
PDF
Computer SAarchitecture Lecture 6_Pip.pdf
PPT
Coa.ppt2
PPT
Pipelining slides
PDF
INCREASING THE THROUGHPUT USING EIGHT STAGE PIPELINING
PPTX
Unit - 5 Pipelining.pptx
PDF
COA_Unit-3_slides_Pipeline Processing .pdf
PPTX
Instruction pipeline: Computer Architecture
PPTX
Computer organisation and architecture .
PPTX
COA Unit-5.pptx
PDF
Module 2 of apj Abdul kablam university hpc.pdf
PPTX
pipelining
PDF
Pipelining 16 computers Artitacher pdf
PDF
Pipelining computer organization btech engineering
 
PPT
Computer Organozation
PPTX
Pipelining
PPTX
Pipeline and Vector Processing Computer Org. Architecture.pptx
PPTX
Pipelining , structural hazards
pipeline in computer architecture design
Unit 3
A survey of paradigms for building and
 
Computer SAarchitecture Lecture 6_Pip.pdf
Coa.ppt2
Pipelining slides
INCREASING THE THROUGHPUT USING EIGHT STAGE PIPELINING
Unit - 5 Pipelining.pptx
COA_Unit-3_slides_Pipeline Processing .pdf
Instruction pipeline: Computer Architecture
Computer organisation and architecture .
COA Unit-5.pptx
Module 2 of apj Abdul kablam university hpc.pdf
pipelining
Pipelining 16 computers Artitacher pdf
Pipelining computer organization btech engineering
 
Computer Organozation
Pipelining
Pipeline and Vector Processing Computer Org. Architecture.pptx
Pipelining , structural hazards

Recently uploaded

PDF
Unit 2: Functions of Management (POSDC.)
PPT
n-1-PMES-Guidelines-for-SY-2025-2026.ppt
PPTX
Time Series Analysis - Weighted (Unequal) Moving Average Method
PPTX
Session 5 Overview of the PPST and Its Indicators (COI and NCOI).pptx
PDF
CXC-AD Associate Degree Handbook (Revised)
PDF
Photoperiod Classification of Vegetable Plants.pdf
PPTX
Time Series Analysis - Meaning, Definition, Components and Application
PDF
1. Doing Academic Research: Problems and Issues, 2. Academic Research Writing...
PPTX
Chapter 3. Pharmaceutical Aids (pharmaceutics)
PDF
Risk Management and Regulatory Compliance - by Ms. Oceana Wong
PDF
The invasion of Alexander of Macedonia in India
PPTX
Anatomy of the eyeball An overviews.pptx
PDF
Conferencia de Abertura_Virgilio Almeida.pdf
PDF
ASRB NET 2025 Paper GENETICS AND PLANT BREEDING ARS, SMS & STODiscussion | Co...
PDF
AI and ICT for Teaching and Learning, Induction-cum-Training Programme, 5th 8...
PPTX
Time Series Analysis - Least Square Method Fitting a Linear Trend Equation
PDF
DEFINITION OF COMMUNITY Sociology. .pdf
PPTX
kklklklklklklklk;lkpoipor[3rjdkjoe99759893058085
PPTX
Time Series Analysis - Method of Simple Moving Average 3 Year and 4 Year Movi...
PDF
Integrated Circuits: Lithography Techniques - Fundamentals and Advanced Metho...
Unit 2: Functions of Management (POSDC.)
n-1-PMES-Guidelines-for-SY-2025-2026.ppt
Time Series Analysis - Weighted (Unequal) Moving Average Method
Session 5 Overview of the PPST and Its Indicators (COI and NCOI).pptx
CXC-AD Associate Degree Handbook (Revised)
Photoperiod Classification of Vegetable Plants.pdf
Time Series Analysis - Meaning, Definition, Components and Application
1. Doing Academic Research: Problems and Issues, 2. Academic Research Writing...
Chapter 3. Pharmaceutical Aids (pharmaceutics)
Risk Management and Regulatory Compliance - by Ms. Oceana Wong
The invasion of Alexander of Macedonia in India
Anatomy of the eyeball An overviews.pptx
Conferencia de Abertura_Virgilio Almeida.pdf
ASRB NET 2025 Paper GENETICS AND PLANT BREEDING ARS, SMS & STODiscussion | Co...
AI and ICT for Teaching and Learning, Induction-cum-Training Programme, 5th 8...
Time Series Analysis - Least Square Method Fitting a Linear Trend Equation
DEFINITION OF COMMUNITY Sociology. .pdf
kklklklklklklklk;lkpoipor[3rjdkjoe99759893058085
Time Series Analysis - Method of Simple Moving Average 3 Year and 4 Year Movi...
Integrated Circuits: Lithography Techniques - Fundamentals and Advanced Metho...

Pipeline Computing by S. M. Risalat Hasan Chowdhury

  • 1.
    A Simple StudyOnPipelineComputingByS. M. Risalat Hasan ChowdhurySohan KhanUmma Habiba
  • 2.
    Abstract:Computer is amagic box of modern world. Now a day it is not used in only arithmetic operations, it is used in spaceto earth everywhere. For this reasons engineers try to reduce the size of a computer and rapidly increase thecomputation (computing, networking, gaming, etc) power of a computer. Now people use the computer to entertainthemselves too. So, it is a challenge for engineers to give them a perfect device what they want. Pipeline computingis a technique to achieve a machine which can give satisfactory services to the users. Pipelining began in the late1970’s in Supercomputers as vector processors and array processors. This paper is about the pipeline computing andits works.1. Introduction:Pipelining what is a technique to decompose a sequential process into sub operations. Each sub process will beexecuted in a special dedicated segment that operates concurrently with all other segments. The registers give thefacility of isolation between each segment so that individual segment can operate on distinct data simultaneously. Ifone wants to do a simple arithmetic work A x B + C = ? , the technique will provide the service as follows-A BCFig. 1.1: Example of Pipeline arithmetic data processingThen the processor holds the value of A in register R1, B in R2 and C in R4 register. First multiply the values of Aand B and store the multiplied value in register R3. After that the processor takes the value of C from R4 registerand adds with the R3 register value with the help of adder. Finally the result of the problem will be hold in the R5register. In pipelining, the processor works in a serial way, it doesn’t do the work in parallel way. The processes willbe done in a serial way. Here, there is a reservation table for store the pipeline processes. The reservation tablemainly displays the time space flow of data through the pipeline for a function [1]. Pipelining is a technique forimproving processing performance of a micro-processor. This architecture allows the concurrent execution ofseveral instructions. For achieving pipelining, a task is subdivided into a sequence of subtasks and each of which canbe executed by a specialized hardware stage that operates concurrently with other stages in the pipeline.2. Types of Pipelining:There are two types of pipeline computing. Such as Linear and Nonlinear (Dynamic Pipelining). Each has its owncharacteristics and functions to do task. They use a reservation table (for Linear) or a set of reservation tables (forDynamic). A reservation table for a linear pipeline computing can be generated easily because data flow follows alinear stream. But Dynamic pipeline or non-linear pipeline uses a non-linear pattern, is followed so multiplereservation tables can be generated for different functions. The reservation table generally displays the time spaceflow of data through the pipeline for a function. Different functions in a reservation table follow different paths.R1 R2R4MultiplierR3AdderR5
  • 3.
    Figure: Types ofPipeline ComputingLinear pipelining processor is a series of processing stages and memory access. It uses only one reservation table foraccessing processes without thinking the result of the processes. Reservation table is used for the data or processflow. But in the case of Nonlinear pipelining, it uses several reservation table. And it uses a table when it needs thattable to do a process. Tables are always there to help the nonlinear technique [2].3. Computer-related pipelines are:- Instruction pipelines: such as the classic RISC pipeline which are used in central processing units (CPUs)to allow overlapping execution of multiple instructions with the same circuitry. The circuitry is usuallydivided up into stages, including instruction decoding, arithmetic, and registers fetching stages, where ineach stage processes one instruction at a time.- Graphics pipelines: found in most graphics processing units (GPUs), which consist of multiple arithmeticunits, or complete CPUs, that implement the various stages of common rendering operations (perspectiveprojection, window clipping, color and light calculation, rendering, etc.).- Software pipelines: where commands can be written where the output of one operation is automaticallyfed to the next, following operation. The UNIX system call pipe is a classic example of this concept,although other operating systems do support pipes as well.- HTTP pipelining: where multiple requests are sent without waiting for the result of the first request [3].4.1. Instruction Pipelining:- First stage fetches the instruction and buffers it.- When the second stage is free, the first stage passes it the buffered instruction.- While the second stage is executing the instruction, the first stage takes advantages of any unusedmemory cycles to fetch and buffer the next instruction.- This is called instruction pre-fetch or fetches overlap.4.2. Inefficiency in two stage instruction pipelining:There are two reasons-- The execution time will generally be longer than the fetch time. Thus the fetch stage may have to waitfor some time before it can empty the buffer.- When conditional branch occurs, then the address of next instruction to be fetched becomes unknown.Then the execution stage has to wait while the next instruction is fetched.Fig-1: Two stage instruction pipelining4.3. Use the Idea of Pipelining in a Computer:PipelinecomputingLinear Pipelining Non-linear PipeliningFetch ExecuteInstruction Instruction Result
  • 4.
    The speed ofexecution of programs is prejudiced by many factors and one way to get better performance is to usefaster circuit technology to build the processor and the main memory. Another option is to arrange the hardware sothat more than one operation can be performed at the same time. In this way, the number of operations performedper second is increased even though the elapsed time needed to perform any one operation is not changed. We haveencountered concurrent activities several times before. Chapter 1 in-traduced the concept of multiprogramming andexplained how it is possible for I/O transfers and computational activities to proceed simultaneously. DMA devicesmake this possible because they can perform I/O transfers independently once these transfers are initiated by theprocessor. Pipelining is a particularly effective way of organizing concurrent activity in a computer system. Thebasic idea is very simple. It is frequently encountered in manufacturing plants, where pipelining is commonly knownas an assembly-line operation. Readers are undoubtedly familiar with the assembly line used in car manufacturing.The first station in an assembly line may prepare the chassis of a car, the next station adds the body, and the next oneinstalls the engine, and so on. While one group of workers is installing the engine on one car, another group is fittinga car body on the chassis of another car, and yet another group is preparing a new chassis for a third car. It may takedays to complete work on a given car, but it is possible to have a new car rolling off the end of the assembly lineevery few minutes.Fig-2:Building a car using unpielined Fig-3:Building a car using pielinedConsider how the idea of pipelining can be used in a computer. The processor executes a program by fetching andexecuting instructions, one after the other. Let Fi and Ei refer to the fetch and execute steps for instruction. Executionof a program consists of a sequence of fetch and execute steps, as shown in Figure 3a.Now consider a computer thathas two separate hardware units, one for fetching instructions and another for executing them, as shown in Figure3b. The instruction fetched by the fetch unit is deposited in an intermediate storage buffer, B1. This buffer is neededto enable the execution unit to execute the instruction while the fetch unit is fetching the next instruction. The resultsof execution are deposited in the destination location specified by the instruction. For the purposes of thisdiscussion, we assume that both the source and the destination of the data operated on by the instructions are insidethe block labeled “Execution unit [4].
  • 5.
    Fig 3: Basicidea of instruction pipelining [7]4.4. Decomposition of instruction processing- To gain further speedup, the pipeline have more stages(6 stages)- Fetch instruction(FI)- Decode instruction(DI)- Calculate operands (i.e. EAs)(CO)- Fetch operands(FO)- Execute instructions(EI)- Write operand(WO)Fig: Six-stage CPU instruction pipeline [7]
  • 6.
    Fig 4: A4 stage pipeline [7]Fetch Instruction (FI): Read the next expected instruction into a bufferDecode Instruction (DI): Determine the Opcode and the operand specifiers.Calculate Operands (CO): Calculate the effective address of each source operand.Fetch Operands (FO): Fetch each operand from memory. Operands in registers need not be fetched.Execute Instruction (EI) : Perform the indicated operation and store the resultWrite Operand (WO): Store the result in memory.4.5. Timing diagram for instruction pipeline operation:Fig 5: Timing diagram for instruction pipeline operation [7]4.6. High efficiency of instruction pipelining:- Assume all the below in diagram- All stages will be of equal duration.- Each instruction goes through all the six stages of the pipeline.- All the stages can be performed parallel.- No memory conflicts.- All the accesses occur simultaneously.In the previous diagram the instruction pipelining works very efficiently and give high performance4.7. Limits to performance enhancement:
  • 7.
    The factors affectingthe performance are1. If six stages are not of equal duration, then there will be some waiting time at various stages.2. Conditional branch instruction which can invalidate several instructions fetches.3. Interrupt which is unpredictable event.4. Register and memory conflicts.5. CO stage may depend on the contents of a register that could be altered by a previous instruction that is stillin pipeline.4.8. Effect of conditional branch on instruction pipeline operation:Fig 6: Effect of conditional branch on instruction pipeline operation [7]5. Implementations: Buffered, synchronous pipelines:Conventional microprocessors are synchronous circuits that use buffered, synchronous pipelines. In thesepipelines, "pipeline registers" are inserted in-between pipeline stages, and are clocked synchronously. Thetime between each clock signal is set to be greater than the longest delay between pipeline stages, so thatwhen the registers are clocked, the data that is written to them is the final result of the previous stage. Buffered, asynchronous pipelinesAsynchronous pipelines are used in asynchronous circuits, and have their pipeline registers clockedasynchronously. Generally speaking, they use a request/acknowledge system, where in each stage candetect when it's "finished". When the stage, Si, is ready to transmit, it sends a ready signal to stage Si+1.After stage Si+1, receives the incoming data, it returns an acknowledgement signal to Si. The AMULETmicroprocessor is an example of a microprocessor that uses buffered, asynchronous pipelines. Unbuffered pipelines:Unbuffered pipelines, called "wave pipelines", do not have registers in-between pipeline stages. Instead, thedelays in the pipeline are "balanced" so that, for each stage, the difference between the first stabilizedoutput data and the last is minimized. Thus, data flows in "waves" through the pipeline, and each wave iskept as short (synchronous) as possible. The maximum rate that data can be fed into a wave pipeline isdetermined by the maximum difference in delay between the first piece of data coming out of the pipe andthe last piece of data, for any given wave. If data is fed in faster than this, it is possible for waves of data tointerfere with each other [3].6. Applications of Pipeline Computing:6.1. RISC: A computer uses some instructions with simple constructs so they can execute faster within the CPU,often without memory. This technique simply known as Reduced Instruction Set Computer (RISC). RISC uses
  • 8.
    fewer instructions setbut works faster than others. Fewer instruction set reduces its execution cycle. RISC is a CPUdesign based on a simplified instruction set provides higher performance when combined with a microprocessorarchitecture capable of executing those instructions using fewer microprocessor cycles per instruction. Its majorcharacteristics are-- Mostly few instructions,- Relatively less addressing modes,- Memory access limited to load and store instructions,- Operations done within the registers of the CPU,- Single-cycle instruction execution.RISC uses pipelining to do its execution and other tasks. The RiSC-16 is an 8-register, 16-bit computer. Alladdresses are short word-addresses. The clock speeds are increased while the amounts of logic between successivelatches are decreased. If the full task is sliced up into smaller sub-tasks, the clock can run as fast as the largest sub-task. A pipeline theoretically of n stages must run with a clock that is n times faster than any sequentialimplementation. This theoretical limit is never reached because of latch overhead and sub-task of unequal length.Sometimes the clock rate may extremely fast. The process of slicing up the instruction execution is called pipelining.And this process is in every aspect of modern computer design; from processor core to DRAM sub-system, tooverlapping of transactions on memory and I/O buses etc [9].6.2. Graphical Pipeline Viewer:Figure: Graphical Pipeline ViewerFigure shows as a Graphical Pipeline Viewer. Here an architectural simulator is used to produce a pipetrace streamwhich contains a detailed description of the instruction flow through the machine and document the movement ofinstructions in the pipeline from start to end. Pipetrace stream denotes various other events and stage transitions thatoccur during an instruction’s lifetime. Generally, Pipetrace stream which comes from the architectural simulator canbe sent directly into GPV (Graphical Pipeline Viewer) or buffered in a file for further analysis or processes. GPVdigests this information or data and produces a graphical representation of the data. The graph generated by the GPVplots instructions in program order, showing the lifetime of an instruction what operation it was performing. Thedata or information which is the need of machine in a vision form always chooses pipelining computing. On a TVscreen or computer monitor, people see images one by one. After viewing one image people can see another becauseof pipelining. Next data have to wait for the previous one completed. Architectural Simulator controls the flow ofinformation to turn into vision format. After the pipelining process, any kind of display device can display the datain a vision format. Here is an example of CRT monitor and it’s inside elements.ArchitecturalSimulatorTextfileGPVPERL TKPipetrace streamScreen
  • 9.
    ShadowmaskPhosphorsPhosphor screenElectrongunsBlueGreenRedFig.: Shadowmasking in CRTCRT monitor has 3types of electron guns, control electrodes, focusing electrodes, horizontal deflection plates,vertical deflection plates, shadow mask and a phosphor screen. Electron guns shoot electrons; control electrode,focusing electrodes, horizontal deflection plates, vertical deflection plates, shadow mask are used to shoot theelectrons on exact point. Shadow mask also filters the electrons. While electrons hit the phosphor screen, it glowsand shows different dot colors and the dot color make a full image. RGB color coding is a common form of colorcoding. Using this technique display devices and other devices can frequently use color (how much and where themachine needs) [10].6.3. Pipeline and Unpipeline in CPU:Pipelining is a concept used in many fields, as well as in CPU architectures, to speed-up a job. The principle that liesbehind it is basically the following. Consider that a job J is completed by a sequential system in a time T. In this casethe latency is T and the throughput is Tseq=1/T. obviously, given the nature of the system, N jobs of the same kindof J are completed in a time N*T. It is likely though, that they can be divided in smaller stages and each stage beexecuted by a sub-system. Consider the following figure with J divided in 4 parts.In this scenario the system doesn't need to be strictly sequential. Indeed, when JobA (in the following figure) is inthe first stage just the sub-system in charge of executing J1 is busy. Consequently, is possible to execute other jobsin the same clock cycle. In fact, as in the example below, four jobs are executed in parallel in the fourth clock.
  • 10.
    Ideally, if Kis the number of stages, the throughput of a pipelined system is Tpip=K/T, hence K times biggerthan Tseq [11}.7. Advantages and Limitations of Pipelining:Pipelining does not help in all cases. There are several possible limitations. An instruction pipeline is said to be fullypipelined if it can accept a new instruction every clock cycle. A pipeline that is not fully pipelined has wait cyclesthat delay the progress of the pipeline.7.1. Advantages of Pipelining:- The cycle time of the processor is reduced, thus increasing instruction issue-rate in most cases.- Some combinational circuits such as adders or multipliers can be made faster by adding morecircuitry. If pipelining is used instead, it can save circuitry vs. a more complex combinationalcircuit.- Pipeline are most convenient ,efficient and economical mode of transporting liquids likepetroleum, petroleum products, nature gas, water, milk etc.- pipelines have relieved the increasing pressure on the exiting surface transport system(railwaysand roadways)- Pipeline is a safe and reliable mode of transport system.- It is an economical and dependable mode of transport system particularly to the sensitive andstrategic area.- In case of underground pipelines, the land in which pipeline is laid can still be used foragricultural use.7.2. Limitations of Pipelining:- First is its complexity and second is the inability to constantly run the pipeline at full speed.- A non-pipelined processor executes only a single instruction at a time. This prevents branch delays(in effect, every branch is delayed) and problems with serial instructions being executedconcurrently. Consequently the design is simpler and cheaper to manufacture.- The instruction latency in a non-pipelined processor is slightly lower than in a pipelinedequivalent. This is due to the fact that extra flip flops must be added to the data path of a pipelinedprocessor.- A non-pipelined processor will have a stable instruction bandwidth. The performance of apipelined processor is much harder to predict and may vary more widely between differentprograms [12}.
  • 11.
    Contribution:S. M. RisalatHasan Chowdhury Introduction, Types of Pipelining, Reservation Table, Application (RISC-16, Graphical Pipeline Viewer, CRT monitor basic).Sohan KhanInstruction Pipelining, Inefficiency in two stage instruction pipelining, Usethe Idea of Pipelining in a Computer, Decomposition of instructionprocessing, Timing diagram for instruction pipeline operation, Highefficiency of instruction pipelining, Limits to performance enhancement,Effect of conditional branch on instruction pipeline operation.Umma HabibaComputer-related pipelines, Implementations, Pipeline and Unpipeline inCPU, Advantages and Limitations of Pipelining.
  • 12.
    References:1. https://app.box.com/shared/i3uj6z2y782. PerformanceEvaluation of Nonlinear Pipeline through UML by Dr. Vipin Saxena and Manish Shrivastava.3. Graphics pipeline. (n.d.). Computer Desktop Encyclopedia. Retrieved December 13, 2005,4. www.mhhe.com/engcs/electrical/hamacher/5e/.../ch08_453-510.pdf5. A.Bright,J.Fritts,andM.Gschwind. Decoupledfetch-executeengine withstaticbranchpredictionsupport.Technicalreport,IBMResearch Report RC23261, IBM Research Division, 1999.6. https://www.cs.auckland.ac.nz/~jmor159/363/html/pipelines.html7. http://www.slideshare.net/siddiqueibrahim37/pipelining-416086758. The SPARC Architecture Manual, Version 9, D. Weaver and T. Germond, ed., PTR Prentice Hall,Englewood Cliffs, New Jersey, 1994.9. ENEE 446: Digital Computer Design — The Pipelined RiSC-16 by Prof. Bruce Jacob.PerformanceAnalysis Using Pipeline Visualization by Chris Weaver, Kenneth C. Barr, Eric Marsman, Dan Ernst, andTodd Austin.10. Performance Analysis Using Pipeline Visualization by Chris Weaver and others; Advanced ComputerArchitecture Laboratory University of Michigan; Ann Arbor MI 4810411. https://www.quora.com/Processor-Architecture-In-a-CPU-what-is-the-benefit-of-having-many-pipeline-stages12. https://www.ukessays.com/essays/information-technology/pipelining-and-superscalar-architecture-information-technology-essay.php

[8]ページ先頭

©2009-2025 Movatter.jp