Pipelining By Toan Nguyen.

Slides:



Advertisements
Similar presentations
Lecture 4: CPU Performance
Advertisements

Pipelining (Week 8).
Computer Organization and Architecture
CSCI 4717/5717 Computer Architecture
RISC and Pipelining Prof. Sin-Min Lee Department of Computer Science.
COMP25212 Further Pipeline Issues. Cray 1 COMP25212 Designed in 1976 Cost $8,800,000 8MB Main Memory Max performance 160 MFLOPS Weight 5.5 Tons Power.
1 ITCS 3181 Logic and Computer Systems B. Wilkinson Slides9.ppt Modification date: March 30, 2015 Processor Design.
Processor System Architecture
MIPS Pipelined Datapath
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
Chapter 12 Pipelining Strategies Performance Hazards.
CSCE 212 Quiz 9 – 3/30/11 1.What is the clock cycle time based on for single-cycle and for pipelining? 2.What two actions can be done to resolve data hazards?
Pipelined Processor II CPSC 321 Andreas Klappenecker.
DLX Instruction Format
Pipelining. Overview Pipelining is widely used in modern processors. Pipelining improves system performance in terms of throughput. Pipelined organization.
CPU Describe the purpose of the CPU
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Processor Structure & Operations of an Accumulator Machine
Instruction Sets and Pipelining Cover basics of instruction set types and fundamental ideas of pipelining Later in the course we will go into more depth.
Parallelism Processing more than one instruction at a time. Pipelining
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Computing hardware CPU.
P IPEL INED EXECUT ION(1) Part 4 Dr. Abdel-Rahman Al-Qawasmi.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Pipeline Hazard CT101 – Computing Systems. Content Introduction to pipeline hazard Structural Hazard Data Hazard Control Hazard.
Chapter 2 Summary Classification of architectures Features that are relatively independent of instruction sets “Different” Processors –DSP and media processors.
Stages of Processing.  When a computer is given instructions, a series of tasks must take place in order for a result to be accomplished  To accomplish.
Parallel architecture Technique. Pipelining Processor Pipelining is a technique of decomposing a sequential process into sub-processes, with each sub-process.
CMPE 421 Parallel Computer Architecture
1 Designing a Pipelined Processor In this Chapter, we will study 1. Pipelined datapath 2. Pipelined control 3. Data Hazards 4. Forwarding 5. Branch Hazards.
Computer Architecture 2 nd year (computer and Information Sc.)
Processor Architecture
System Unit Working of CPU. The CPU CPU The CPU CPU stands for central processing unit. it is brain of computer It is most important component of the.
Introduction  The speed of execution of program is influenced by many factors. i) One way is to build faster circuit technology to build the processor.
Basic architecture.
LECTURE 7 Pipelining. DATAPATH AND CONTROL We started with the single-cycle implementation, in which a single instruction is executed over a single cycle.
Introduction to Computer Organization Pipelining.
M211 – Central Processing Unit
CPU (Central Processing Unit). The CPU is the brain of the computer. Sometimes referred to simply as the processor or central processor, the CPU is where.
PipeliningPipelining Computer Architecture (Fall 2006)
DICCD Class-08. Parallel processing A parallel processing system is able to perform concurrent data processing to achieve faster execution time The system.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
GCSE OCR Computing A451 The CPU Computing hardware 1.
Electrical and Computer Engineering University of Cyprus
CDA3101 Recitation Section 8
Basic Processor Structure/design
ARM Organization and Implementation
Performance of Single-cycle Design
Assembly Language for Intel-Based Computers, 5th Edition
Components of Computer
Chapter 14 Instruction Level Parallelism and Superscalar Processors
Single Clock Datapath With Control
CDA 3101 Spring 2016 Introduction to Computer Organization
\course\cpeg323-08F\Topic6b-323
Morgan Kaufmann Publishers The Processor
Control unit extension for data hazards
Components of a CPU AS Computing - F451.
Instruction Execution Cycle
Pipelining.
Control unit extension for data hazards
ARM ORGANISATION.
Computer Architecture
Control unit extension for data hazards
MIPS Pipelined Datapath
Pipelining.
Pipelining Hazards.
Presentation transcript:

Pipelining By Toan Nguyen

Characterize Pipelines Hardware or software implementation – pipelining can be implemented in either software or hardware. Large or Small Scale – Stations in a pipeline can range from simplistic to powerful, and a pipeline can range in length from short to long. Synchronous or asynchronous flow – A synchronous pipeline operates like an assembly line: at a given time, each station is processing some amount of information. A asynchronous pipeline, allow a station to forward information at any time. Buffered or unbuffered flow – One stage of pipeline sends data directly to another one or a buffer is place between each pairs of stages. Finite Chunks or Continuous Bit Streams – The digital information that passes though a pipeline can consist of a sequence or small data items or an arbitrarily long bit stream. Automatic Data Feed Or Manual Data Feed – Some implementations of pipelines use a separate mechanism to move information, and other implementations require each stage to participate in moving information.

What is Pipelining A technique used in advanced microprocessors where the microprocessor begins executing a second instruction before the first has been completed. A Pipeline is a series of stages, where some work is done at each stage. The work is not finished until it has passed through all stages. With pipelining, the computer architecture allows the next instructions to be fetched while the processor is performing arithmetic operations, holding them in a buffer close to the processor until each instruction operation can performed.

How Pipelines Works The pipeline is divided into segments and each segment can execute it operation concurrently with the other segments. Once a segment completes an operations, it passes the result to the next segment in the pipeline and fetches the next operations from the preceding segment.

Example

Instructions Fetch The instruction Fetch (IF) stage is responsible for obtaining the requested instruction from memory. The instruction and the program counter (which is incremented to the next instruction) are stored in the IF/ID pipeline register as temporary storage so that may be used in the next stage at the start of the next clock cycle.

Instruction Decode The Instruction Decode (ID) stage is responsible for decoding the instruction and sending out the various control lines to the other parts of the processor. The instruction is sent to the control unit where it is decoded and the registers are fetched from the register file.

Execution The Execution (EX) stage is where any calculations are performed. The main component in this stage is the ALU. The ALU is made up of arithmetic, logic and capabilities.

Memory and IO The Memory and IO (MEM) stage is responsible for storing and loading values to and from memory. It also responsible for input or output from the processor. If the current instruction is not of Memory or IO type than the result from the ALU is passed through to the write back stage.

Write Back The Write Back (WB) stage is responsible for writing the result of a calculation, memory access or input into the register file.

Operation Timings Instruction Fetch 2ns Instruction Decode 1ns Estimated timings for each of the stages: Instruction Fetch 2ns Instruction Decode 1ns Execution Memory and IO Write Back

Advantages/Disadvantages More efficient use of processor Quicker time of execution of large number of instructions Disadvantages: Pipelining involves adding hardware to the chip Inability to continuously run the pipeline at full speed because of pipeline hazards which disrupt the smooth execution of the pipeline.

Pipeline Hazards Data Hazards – an instruction uses the result of the previous instruction. A hazard occurs exactly when an instruction tries to read a register in its ID stage that an earlier instruction intends to write in its WB stage. Control Hazards – the location of an instruction depends on previous instruction Structural Hazards – two instructions need to access the same resource

Data Hazards

Stalling Stalling involves halting the flow of instructions until the required result is ready to be used. However stalling wastes processor time by doing nothing while waiting for the result.

Type of Pipelining Software Pipelining 1) Can Handle Complex Instructions 2) Allows programs to be reused Hardware Pipelining 1) Help designer manage complexity – a complex task can be divided into smaller, more manageable pieces. 2) Hardware pipelining offers higher performance

Type of Hardware Pipelines Instruction Pipeline - An instruction pipeline is very similar to a manufacturing assembly line. 1st stage receives some parts, performs its assembly task, and passes the results to the second stage; 2nd stage takes the partially assembled product from the first stage, performs its task, and passes its work to the third stage; 3rd stage does its work, passing the results to the last stage, which completes the task and outputs its results. Data Pipeline – data pipeline is designed to pass data from stage to stage.

Instruction Pipelines Conflict It divided into two categories. Data Conflicts Branch Conflicts When the current instruction changes a register that the next one needed, data conflicts happens. When the current instruction make a jump, branch conflicts happens.

References http://www.cs.sjsu.edu/~lee/cs147/fall2003/23147L25Pipelining.ppt http://murray.newcastle.edu.au/users/students/1999/c9311421/pipe.html#s5