Dynamic Pipeline Structure

Slides:



Advertisements
Similar presentations
Superscalar Processors
Advertisements

EECS 470 Lecture 8 RS/ROB examples True Physical Registers? Project.
1 Lecture: Out-of-order Processors Topics: out-of-order implementations with issue queue, register renaming, and reorder buffer, timing, LSQ.
Out-of-Order Machine State Instruction Sequence: Inorder State: Look-ahead State: Architectural State: R3  A R7  B R8  C R7  D R4  E R3  F R8  G.
Copyright 2001 UCB & Morgan Kaufmann ECE668.1 Adapted from Patterson, Katz and Kubiatowicz © UCB Csaba Andras Moritz UNIVERSITY OF MASSACHUSETTS Dept.
Spring 2003CSE P5481 Reorder Buffer Implementation (Pentium Pro) Hardware data structures retirement register file (RRF) (~ IBM 360/91 physical registers)
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Oct. 14, 2002 Topic: Instruction-Level Parallelism (Multiple-Issue, Speculation)
1 Zvika Guz Slides modified from Prof. Dave Patterson, Prof. John Kubiatowicz, and Prof. Nancy Warter-Perez Out Of Order Execution.
1 Lecture 9: Dynamic ILP Topics: out-of-order processors (Sections )
Understanding The Nehalem Core Note: The examples herein are mostly illustrative. They have shortcommings compared to the real implementation in favour.
COMPUTER ARCHITECTURE Assoc.Prof. Stasys Maciulevičius Computer Dept.
|Processors designed for low power |Architectural state is correct at basic block granularity rather than instruction granularity 2.
1 Out-Of-Order Execution (part I) Alexander Titov 14 March 2015.
© Wen-mei Hwu and S. J. Patel, 2005 ECE 412, University of Illinois Lecture Instruction Execution: Dynamic Scheduling.
Professor Nigel Topham Director, Institute for Computing Systems Architecture School of Informatics Edinburgh University Informatics 3 Computer Architecture.
1 Lecture 7: Speculative Execution and Recovery Branch prediction and speculative execution, precise interrupt, reorder buffer.
1 A Superscalar Pipeline [Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005 and Instruction Issue Logic, IEEETC, 39:3, Sohi,
1 Pipelining (Chapter 8) TU-Delft TI1400/12-PDS Course website:
OOO Pipelines - II Smruti R. Sarangi IIT Delhi 1.
1 Lecture: Out-of-order Processors Topics: a basic out-of-order processor with issue queue, register renaming, and reorder buffer.
Samira Khan University of Virginia Feb 9, 2016 COMPUTER ARCHITECTURE CS 6354 Precise Exception The content and concept of this course are adapted from.
Reg. ren & Mult. Issue CSE 4711 Reorder Buffer: register renaming and in- order completion Use of a reorder buffer –Reorder buffer = circular queue with.
1 Lecture 10: Memory Dependence Detection and Speculation Memory correctness, dynamic memory disambiguation, speculative disambiguation, Alpha Example.
Microarchitecture of Superscalars (6) Register renaming Dezső Sima Spring 2008 (Ver. 2.0)  Dezső Sima, 2008.
CS203 – Advanced Computer Architecture ILP and Speculation.
Ch2. Instruction-Level Parallelism & Its Exploitation 2. Dynamic Scheduling ECE562/468 Advanced Computer Architecture Prof. Honggang Wang ECE Department.
Determinou o endereço de A
Module: Speculative Execution
Design of Digital Circuits Lecture 18: Out-of-Order Execution
/ Computer Architecture and Design
Smruti R. Sarangi IIT Delhi
CIS-550 Advanced Computer Architecture Lecture 10: Precise Exceptions
OOO Execution of Memory Operations
Out of Order Processors
OOO Execution of Memory Operations
Tomasulo Loop Example Loop: LD F0 0 R1 MULTD F4 F0 F2 SD F4 0 R1
CSE 502: Computer Architecture
Lecture: Out-of-order Processors
CS5100 Advanced Computer Architecture Hardware-Based Speculation
Lecture 12 Reorder Buffers
Processor Pipelining Yasser Mohammad.
Computer architecture M
Computer architecture M
John Kubiatowicz Electrical Engineering and Computer Sciences
Tomasulo With Reorder buffer:
Lecture 6: Advanced Pipelines
Lecture 10: Out-of-order Processors
Lecture 11: Out-of-order Processors
Lecture: Out-of-order Processors
Lecture 8: ILP and Speculation Contd. Chapter 2, Sections 2. 6, 2
Smruti R. Sarangi IIT Delhi
ECE 2162 Reorder Buffer.
CS252 Graduate Computer Architecture Lecture 7 Dynamic Scheduling 2: Precise Interrupts February 9th, 2010 John Kubiatowicz Electrical Engineering.
Lecture 11: Memory Data Flow Techniques
Lecture: Out-of-order Processors
Lecture 8: Dynamic ILP Topics: out-of-order processors
Adapted from the slides of Prof
15-740/ Computer Architecture Lecture 5: Precise Exceptions
John Kubiatowicz Electrical Engineering and Computer Sciences
An Introduction to pipelining
Adapted from the slides of Prof
Prof. Onur Mutlu Carnegie Mellon University Fall 2011, 9/30/2011
Instruction-Level Parallelism (ILP)
15-740/ Computer Architecture Lecture 10: Out-of-Order Execution
Chapter 3: ILP and Its Exploitation
September 20, 2000 Prof. John Kubiatowicz
A Configurable Simulator for OOO Speculative Execution
Lecture 9: Dynamic ILP Topics: out-of-order processors
Conceptual execution on a processor which exploits ILP
ECE 721 Modern Superscalar Microarchitecture
Presentation transcript:

Dynamic Pipeline Structure I-Cache fetch front end (in order) instr. queue registers ROB decode/disp. commit integer RS fp RS memory RS store buffer issue issue issue retire back end (out of order) int/br unit fp unit ld/st unit D-Cache finish finish finish forwarding bus

Data Structures (ARF/RRF) RS data rr# data1 rr#1 data2 rr#2 opcode R0 6 R1 2 R2 10 R3 8 RRF data valid X 1 2 3 R0B instr addr ar# rr# exception Finished tail head

Data Structures (RAT/PRF) RS ar# rr# data1 pr#1 data2 pr#2 opcode pr# R0 R1 1 R2 2 R3 3 PRF data valid 6  1 2 10 3 8 4 X 5 7 freelist: 4, 5, 6, 7 R0B instr addr ar# rr# exception Finished tail head

Data Structures (RAT/PRF) Dispatch ADD R2,R0,R3 RAT RS ar# rr# data1 pr#1 data2 pr#2 opcode pr# R0 6 8 + 4 R1 1 R2 2 R3 3 PRF data valid 6  1 2 10 3 8 4 X 5 7 freelist: 4, 5, 6, 7 \ 4 R0B instr addr ar# rr# exception Finished tail head 00000000 2 4 x \

Data Structures (RAT/PRF) Dispatch MUL R1,R0,R2 RAT RS ar# rr# data1 pr#1 data2 pr#2 opcode pr# R0 6 8 + 4 R1 1 * 5 R2 2 R3 3 PRF data valid 6  1 2 10 3 8 4 X 5 7 freelist: 4, 5, 6, 7 \ 5 \ 4 R0B instr addr ar# rr# exception Finished tail head 00000000 2 4 x 00000004 1 5 \ \

Data Structures (RAT/PRF) Dispatch ADD R2,R2,R3 RAT RS ar# rr# data1 pr#1 data2 pr#2 opcode pr# R0 6 8 + 4 R1 1 * 5 R2 2 R3 3 PRF data valid 6  1 2 10 3 8 4 X 5 7 freelist: 4, 5, 6, 7 \ 5 \ 4 \ 6 R0B instr addr ar# rr# exception Finished tail head 00000000 2 4 x 00000004 1 5 00000008 6 \ \ \

Data Structures (RAT/PRF) Dispatch MUL R3,R2,R1 RAT RS ar# rr# data1 pr#1 data2 pr#2 opcode pr# R0 6 8 + 4 R1 1 * 5 R2 2 R3 3 7 PRF data valid 6  1 2 10 3 8 4 X 5 7 freelist: 4, 5, 6, 7 \ 5 \ 4 \ 6 \ 7 R0B instr addr ar# rr# exception Finished tail head 00000000 2 4 x 00000004 1 5 00000008 6 0000000C 3 7 \ \ \ \

Data Structures (RAT/PRF) Finish ADD R2,R0,R3 RAT RS ar# rr# data1 pr#1 data2 pr#2 opcode pr# R0 6 8 + 4 R1 1 14 * 5 R2 2 R3 3 7 PRF data valid 6  1 2 10 3 8 4 14 5 X 7 freelist: 4, 5, 6, 7 \ 5 \ \ 4 \ 6 \ \ 7 R0B instr addr ar# rr# exception Finished tail head 00000000 2 4 x 00000004 1 5 00000008 6 0000000C 3 7 \ \ \ \

Data Structures (RAT/PRF) Complete ADD R2,R0,R3 RAT RS ar# rr# data1 pr#1 data2 pr#2 opcode pr# R0 R1 1 6 14 * 5 R2 2 8 + R3 3 7 PRF data valid 6  1 2 10 3 8 4 14 5 X 7 freelist: 4, 5, 6, 7 \ 5 \ 4 \ 4 \ 6 \ 7 R0B instr addr ar# rr# exception Finished tail head 00000004 1 5 x 00000008 2 6 0000000C 3 7 \ \ \ \ , 2

Data Structures (RAT/PRF delayed read) RS ar# rr# pr#1 valid pr#2 opcode pr# R0 R1 1 R2 2 R3 3 PRF data valid 6  1 2 10 3 8 4 X 5 7 freelist: 4, 5, 6, 7 R0B instr addr ar# rr# exception Finished tail head