Overview Prof. Eric Rotenberg

Slides:



Advertisements
Similar presentations
Lecture 19: Cache Basics Today’s topics: Out-of-order execution
Advertisements

Syllabus Instructor: Dr. Wesam Ashour
© 2006 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2006 Lecture 1 An Overview of High-Performance Computer Architecture ECE 463/521 Spring 2006.
CPE 731 Advanced Computer Architecture ILP: Part V – Multiple Issue Dr. Gheith Abandah Adapted from the slides of Prof. David Patterson, University of.
CSE 490/590, Spring 2011 CSE 490/590 Computer Architecture VLIW Steve Ko Computer Sciences and Engineering University at Buffalo.
Instruction Level Parallelism (ILP) Colin Stevens.
1  2004 Morgan Kaufmann Publishers Chapter Six. 2  2004 Morgan Kaufmann Publishers Pipelining The laundry analogy.
©UCB CS 162 Computer Architecture Lecture 1 Instructor: L.N. Bhuyan
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
1 Lecture 18: Pipelining Today’s topics:  Hazards and instruction scheduling  Branch prediction  Out-of-order execution Reminder:  Assignment 7 will.
Computer ArchitectureFall 2007 © October 31, CS-447– Computer Architecture M,W 10-11:20am Lecture 17 Review.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Computer Organization and Design Computer Abstractions and Technology
Computer Architecture Mehran Rezaei
Cps-104 Intro.1 ©GK Spring 1999 CPS104 Computer Organization Lecture 1 January 14, 1999 Gershon Kedem Slides available on:
Computer System Design Lecture 1 Wannarat Suntiamorntut.
Chapter 6 Pipelined CPU Design. Spring 2005 ELEC 5200/6200 From Patterson/Hennessey Slides Pipelined operation – laundry analogy Text Fig. 6.1.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
1 CPRE 585 Term Review Performance evaluation, ISA design, dynamically scheduled pipeline, and memory hierarchy.
EKT303/4 Superscalar vs Super-pipelined.
Final Review Prof. Mike Schulte Advanced Computer Architecture ECE 401.
Jan. 5, 2000Systems Architecture II1 Machine Organization (CS 570) Lecture 1: Overview of High Performance Processors * Jeremy R. Johnson Wed. Sept. 27,
Page 1 Computer Architecture and Organization 55:035 Final Exam Review Spring 2011.
High Performance Computing1 High Performance Computing (CS 680) Lecture 2a: Overview of High Performance Processors * Jeremy R. Johnson *This lecture was.
Lecture 1: Introduction CprE 585 Advanced Computer Architecture, Fall 2004 Zhao Zhang.
1 Lecture 20: OOO, Memory Hierarchy Today’s topics:  Out-of-order execution  Cache basics.
Use of Pipelining to Achieve CPI < 1
CS 352H: Computer Systems Architecture
Computer Architecture Principles Dr. Mike Frank
Lecture: Out-of-order Processors
/ Computer Architecture and Design
Pipelining: Advanced ILP
Morgan Kaufmann Publishers The Processor
Computer Architecture Lecture 3
Superscalar Processors & VLIW Processors
Lecture 19: Branches, OOO Today’s topics: Instruction scheduling
Lecture 8: ILP and Speculation Contd. Chapter 2, Sections 2. 6, 2
Lecture 18: Pipelining Today’s topics:
Lecture 8: Dynamic ILP Topics: out-of-order processors
Coe818 Advanced Computer Architecture
Lecture 19: Branches, OOO Today’s topics: Instruction scheduling
Control unit extension for data hazards
Mattan Erez The University of Texas at Austin
Lecture 20: OOO, Memory Hierarchy
Lecture 20: OOO, Memory Hierarchy
CC423: Advanced Computer Architecture ILP: Part V – Multiple Issue
November 5 No exam results today. 9 Classes to go!
Instruction-Level Parallelism (ILP)
Additional ILP topic #5: VLIW Also: ISA topics Prof. Eric Rotenberg
ECE 463/563 Fall `18 Memory Hierarchies, Cache Memories H&P: Appendix B and Chapter 2 Prof. Eric Rotenberg Fall 2018 ECE 463/563, Microprocessor Architecture,
Mattan Erez The University of Texas at Austin
ECE 463/563 Fall `18 RISC-V instruction formats
Additional ILP Topics Prof. Eric Rotenberg
pipelining: data hazards Prof. Eric Rotenberg
Control unit extension for data hazards
Course Outline for Computer Architecture
Control unit extension for data hazards
Lecture 10: ILP Innovations
Lecture 9: ILP Innovations
Lecture 1 An Overview of High-Performance Computer Architecture
The University of Adelaide, School of Computer Science
Lecture 9: Dynamic ILP Topics: out-of-order processors
ECE 721, Spring 2019 Prof. Eric Rotenberg.
Spring’19 Prof. Eric Rotenberg
Sizing Structures Fixed relations Empirical (simulation-based)
Spring 2019 Prof. Eric Rotenberg
Presentation transcript:

Overview Prof. Eric Rotenberg ECE 463/563 Fall `18 Overview Prof. Eric Rotenberg Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Computer Architecture & Systems Computer Architecture Processor Architecture (CPU, microprocessor) Hard: Correct & Fast CPU Easy: Correct CPU Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

Simple Processor Datapath Register File 1 IF ID EX MEM WB (instr. fetch) (instr. decode) (execute) (memory) (writeback) Memory (DRAM & Disk) Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Pipelining Invention #1 Register File IF (instr. fetch) ID (instr. decode) EX (execute) MEM (memory) WB (writeback) 4 5 6 3 1 2 Memory (DRAM & Disk) Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

Problem: Data-Dependent Instructions Register File IF (instr. fetch) ID (instr. decode) EX (execute) MEM (memory) WB (writeback) 5 6 4 2 1 3 Memory (DRAM & Disk) Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

Register File Bypasses Invention #2 Register File IF (instr. fetch) ID (instr. decode) EX (execute) MEM (memory) WB (writeback) 6 5 4 2 3 1 Flea-Flicker! Memory (DRAM & Disk) Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

Problem: Branch Instructions Register File 2 IF (instr. fetch) ID (instr. decode) EX (execute) MEM (memory) WB (writeback) 1 ? 2 Memory (DRAM & Disk) Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Branch Prediction Invention #3 Register File 2 3 4 Branch Predictor IF (instr. fetch) ID (instr. decode) EX (execute) MEM (memory) WB (writeback) 1 ? 2 Memory (DRAM & Disk) Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

Problem: “Memory Wall” Register File Branch Predictor IF (instr. fetch) ID (instr. decode) EX (execute) MEM (memory) WB (writeback) Memory (DRAM & Disk) Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Caches Invention #4 Register File Branch Predictor IF (instr. fetch) ID (instr. decode) EX (execute) MEM (memory) WB (writeback) Instr. Cache Data Cache Memory (DRAM & Disk) Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Caches (cont.) Locality of reference Temporal locality: If you access an item, likely to access it again in near future Spatial locality: If you access an item, likely to access a nearby item in the near future Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

Problem: Stalled Instructions Register File Branch Predictor IF (instr. fetch) ID (instr. decode) EX (execute) MEM (memory) WB (writeback) 4 3 2 1 Instr. Cache Data Cache cache miss Memory (DRAM & Disk) Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

Out-of-Order Execution Invention #5 Register File Branch Predictor IF (instr. fetch) ID (instr. decode) EX (execute) MEM (memory) WB (writeback) 4 6 5 7 3 2 1 Instr. Cache Data Cache Dynamic Scheduler cache miss Memory (DRAM & Disk) Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

Superscalar Execution Register File Branch Predictor 1 7 4 IF 5 2 8 ID EX MEM WB (instr. fetch) 9 6 3 (instr. decode) (execute) (memory) (writeback) Instr. Cache Data Cache Dynamic Scheduler Memory (DRAM & Disk) Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Deep Pipelining Register File Branch Predictor IF1 IF2 ID1 ID2 EX1 EX2 M1 M2 W1 W2 Instr. Cache Data Cache Dynamic Scheduler Memory (DRAM & Disk) Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg OOO EXECUTION SUPPORT BRANCH PREDICTION L1 Instr. Cache L1 Data Cache R.F. BYPASSES Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Computer System Application ECE 209, 309 Operating ECE 306, CSC 501 System ECE 466/566 Compiler Firmware Computer Architecture = Instruction Set Architecture + Machine Organization Instruction Set Architecture Machine Organization ECE 109, 463/563 (ECE 506) Processor Mem. I/O system Datapath & Control ECE 310, 464/564 ECE 212 Digital Design ECE 211, 403 Circuit Design ECE 546 Layout Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Microarchitecture is often used to describe the “Processor” part of “Machine Organization” Computer Architecture = Instruction Set Architecture + Machine Organization Instruction Set Architecture Machine Organization Processor Mem. I/O system Microarchitecture Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

What is Computer Architecture? Instruction Set Architecture + Machine Organization -- Capabilities & performance characteristics of principal Functional Units (FUs) -- e.g., registers, ALUs, memory system, ... -- Ways in which these components are interconnected -- Choreography of components to realize the ISA -- Performance-enhancing techniques and components -- e.g., pipelining, caches, predictors, dynamic scheduling, superscalar execution, etc. -- Programmable storage (registers, memory) -- Data types and their encodings (integer, floating-point, SIMD, etc.) -- Instruction Set -- Instruction formats and encodings -- Modes of addressing and accessing data and instructions -- Exceptional conditions Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Overview of Topics in 463/563 Measuring Performance and Cost Caches and Memory Hierarchies Instruction-Set Architecture (ISA) Defines software/hardware interface Simple Pipelining Data and control (branch) dependencies Register file bypasses Branch prediction Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Overview of Topics in 463/563 Complex Pipelining and Instruction-Level Parallelism (ILP) Data hazards Issue Queue (IQ): from in-order to out-of-order scheduling Reorder Buffer (ROB): speculation and register renaming Precise interrupts Superscalar, VLIW, and vector processors Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Projects Three projects Cache simulator Branch predictor simulator Superscalar pipeline simulator Programming for projects is harder than anything many of you have encountered before Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Course Grading Breakdown 40% projects 10% homeworks (approx. 4 to 6 homeworks) 25% Midterm Covers Performance/Cost, Caches 25% Final Covers ISA, Simple & Complex Pipelining, ILP Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg

ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg Course Web Page wolfware.ncsu.edu Login Select ECE 463/563 Content Syllabus (including my contact information and office hours) Schedule Homework and project handouts etc. Check frequently Fall 2018 ECE 463/563, Microprocessor Architecture, Prof. Eric Rotenberg