6. Case Study: Formal Verification of RISC Processors using HOL
|
|
- Lindsay Joseph
- 6 years ago
- Views:
Transcription
1 6. Case Study: Formal Verification of RISC Processors using HOL Page Motivation 6.2 Hierarchical RISC Model 6.12 Deriving Formal Specifications 6.13 Verification Tasks 6.17 Pipeline Correctness 6.19 Processor Specific Definitions 6.27 Experimental Results 6.29 Conclusions 6.31 References 6.32 Motivation Microprocessors containing 5M gates, doubling of frequency per generation, transistor scale by 3% per generation Conventional approaches (simulation, test) cannot guarantee complete correctness In 1994, problems with Intel Pentium and Pentium Pro microprocessors. Cost of correction about $25 M Microprocessors are used in many areas of safety-critical applications Goal: Use of formal hardware verification as a complement approach for achieving design correctness of pipelined microprocessors. 1994, 2 S. Tahar 6/7/1 6.1 (of 32) 1994, 2 S. Tahar 6/7/1 6.2 (of 32) Hardware Verification Model-checking based verification + fully automatic restrictive and the formalism is insufficient for complex circuits Theorem-prover based verification + powerful and unrestricted interactive and usable only by experts Automation can be achieved by restricting to classes of circuits, e.g. arithmetic circuits, signal processors,... RISC Processors as a class of real circuits State-of-the-Art A lot of microprocessor verification projects using different theorem provers (HOL, Boyer-Moore, SDVS) Verification of one specific processor - FM851[Hunt, 1985] - VIPER [Cohn, 1989] - Tamarack-3 [Joyce, 1989] Interpreter model [Windley, 199] used for microprogrammed not pipelined processors No existing methodology for pipelined architectures and especially for RISC processors 1994, 2 S. Tahar 6/7/1 6.3 (of 32) 1994, 2 S. Tahar 6/7/1 6.4 (of 32)
2 RISC Processors Multiple Layered Architecture Advantages: Popular and used in a wide range of applications Smaller and simpler instruction set than CISCs Hierarchical and well structured Problems: Reasoning about the pipeline verification Complexity of contemporary RISC-Processors Restriction to the core architecture Core Architecture: RISC processor base Basic pipeline Basic instruction set (integer, logic, load/ store, control) Protected Architecture Numeric Architecture Core Architecture 1994, 2 S. Tahar 6/7/1 6.5 (of 32) 1994, 2 S. Tahar 6/7/1 6.6 (of 32) Hierarchical VLSI Design Formal Verification of Microprocessors Architecture RTL Design Logic Gates Net. ADD Ri Rj SUB Ri Rj JMP ### MOV Ri Rj MEM PC RF Instr. Set Prog. Model HW-Design Transistor Net. Specification Proof Implementation Layout Behavioral Description Structural Description 1994, 2 S. Tahar 6/7/1 6.7 (of 32) 1994, 2 S. Tahar 6/7/1 6.8 (of 32)
3 RISC Instruction Execution DLX Pipeline Structure RISC Instruction: Pipeline Stages: Clock Phases: 1 Instruction Cycle u u+1 IF ID WB t t+1 t t+n s φ 1 φ 2 φ 3 φ 4 1 Clock τ Bus pr. τ τ+n p 1 Pipeline Stage RF read Instruction Classes ALU LOAD STORE CONTROL Pipeline stages IF_X ID_X ALUOUT A op B MEM_A WB_A IF_X IR M [PC] PC PC+4 A RF [rs1] φ2 B RF [rs2] φ2 IR1 IR EX_L MEM_L RF [rd] LMDR ID_X EX_S M [DMAR] SMDR IF_X ID_C φ1 1994, 2 S. Tahar 6/7/1 6.9 (of 32) 1994, 2 S. Tahar 6/7/1 6.1 (of 32) Instruction Classes RISC Verification Model Class instruction: corresponds to the set of instructions with similar semantics, e.g. ALU, FLP, LOAD, CONTROL abstracts the behavior of a group of instructions, e.g. ALU:= (ADD,SUB,SHIFT,OR,) Class Level: set of all instruction classes Class abstraction oriented proofs: -reducing the verification overhead -reasoning about few class instructions -instantiating the obtained theorems for instructions at the architectural level Architecture Level Class Level Stage Level Phase Level Hardware (EBM) Abstraction 1994, 2 S. Tahar 6/7/ (of 32) 1994, 2 S. Tahar 6/7/ (of 32)
4 Deriving Formal Specifications Deriving Formal Specifications Architecture and class levels: Specified using the instruction cycle time granularity Derived automatically from the instruction set Example: - Manual: ADD:= RF[rd] RF[rs1] + RF[rs2] - Architecture Level: ADD_Instr (...):= u:inst_cycle. RF(u+1)[rd(u)] = RF(u)[rs1(u)] + RF(u)[rs2(u)] - Class Level: ALU_Instr (...):= u:inst_cycle. RF(u+1)[rd(u)] = RF(u)[rs1(u)] op RF(u)[rs2(u)] Stage and phase levels: Specified using the clock cycle or the clock phase time granularities Derived automatically from the pipeline structure Example: - Common ID-stage: ID_Instr (...):= t: Clk_cycle. A(t+1) = RF(t) [rs1(t)] B(t+1) = RF(t) [rs2(t)] IR1(t+1) = IR(t) 1994, 2 S. Tahar 6/7/ (of 32) 1994, 2 S. Tahar 6/7/ (of 32) EBM of DLX (simplified) Hardware Formal Description ext_trap ackn Trap Control Bypass Logic IR3 IR2 IR1 IR Main Decode imem_data Instr Memory Control Unit PC and Branch Logic imem_addr rd lmdr_mux rw smdr_mux alu_op a_mux,b_mux Imm rs1 rs2 Datapath WB MEM EX ID IF alu_op Reg. File ALUout1 A ALUout ALU B Reg. File LMDR DMAR rw dmem_addr dmem_data SMDR Memory Data EBM: Specified as a hardware structure (net list) Derived automatically from a schematic in CADENCE Formally described as a hierarchy of predicates: EBM (PC, I-MEM, RF,, A, B,, IR, IR1, ) = rs1,rs2,rd,alu_op,rw, imem_adr,. DataPath (RF, A, B, Aluout, alu_op, ) Control_Unit (PC, IR, rw, imem_adr, ) Instr_Memory (I-MEM, imem_adr, ) Data_Memory (D-MEM, dmem_adr, rw, ) 1994, 2 S. Tahar 6/7/ (of 32) 1994, 2 S. Tahar 6/7/ (of 32)
5 Verification Tasks Goal: Any instruction sequence of the RISC architecture is correctly executed by the implementation (EBM) Step1: instructions I 1 EBM Instruction Level Step 2: SW_Contraints, EBM I i I ns time Correct_Instr_Pipelining Step 1: Correctness of Single Instructions Goal: The EBM implements the semantics of the instruction set correctly Hierarchical proof of the Class Level: EBM Phase Level Phase Level Stage Level Stage Level Class Level Instantiations for each architectural instruction: EBM Phase Level Stage Level Instruction Level Automatic goal settings using parameterized functions Automatic proofs using parameterized proof scripts 1994, 2 S. Tahar 6/7/ (of 32) 1994, 2 S. Tahar 6/7/ (of 32) instructions I 1 t 1 Step 2: Pipeline Correctness I i t i I ns 1Clock Goal: all combinations of n s instructions in the pipeline are executed without conflicts t ns time Pipeline Conflicts Resource conflicts (structural hazards) arise from the simultaneous use of resources Data conflicts (data hazards) occur due to data dependencies between the instructions in the pipeline Control conflicts (control hazards) arise due to the linear pipeline flow caused by control instructions Correct_Instr_Pipelining:= I 1 I ns :class_instruction. ( Resource_Conflict (I 1 I ns )) ( Data_Conflict (I 1 I ns )) ( Control_Conflict (I 1 I ns )) 1994, 2 S. Tahar 6/7/ (of 32) 1994, 2 S. Tahar 6/7/1 6.2 (of 32)
6 Facilitating the Pipeline Conflict Verification All possible conflict combinations between n s potential instructions in the pipeline: multiple conflicts Conflicts between pairs of instructions: dual conflicts - multiple conflicts are specified in terms of dual conflicts - verification of multiple conflicts is deduced from that of dual conflicts Conflict specifications based on the hierarchy levels of the RISC model - multiple and dual conflicts are considered for each specific level - independent hierarchical proof at each level possible - Read-After-Write (RAW) - Write-After-Read (WAR) - Write-After-Write (WAW) Example: Data Conflicts Data_Conflict (I 1 I ns ):= Multiple_RAW_Conflict (I 1 I ns ) Multiple_WAR_Conflict (I 1 I ns ) Multiple_WAW_Conflict (I 1 ) Verification goal: SW_Contraints, EBM Multiple_RAW_Conflict (I 1 I ns ) Multiple_WAR_Conflict (I 1 I ns ) Multiple_WAW_Conflict (I 1 ) I ns I ns 1994, 2 S. Tahar 6/7/ (of 32) 1994, 2 S. Tahar 6/7/ (of 32) RAW Data Conflict Specification RAW Data Conflict Specification instructions I 1 t 1 I i t i I n s t ns time Stage Level Conflict: Stage_RAW_Conflict ():= ( t j - t i )< (s i - s j ) Stage_Range (I i, s i, r) Stage_Domain (I j, s j, r) I i t i I j t j s i s j R W t j t i Multiple Conflict: Multiple_RAW_Conflict (I 1 I ns ):= Dual_RAW_Conflict ((I i, t i ), (I j, t i +j-1)) i, j (i, j = 1... n s ) (i < j) Dual Conflict: Dual_RAW_Conflict ((I i, t i ), (I j, t j )):= Stage_RAW_Conflict () Phase_RAW_Conflict () Phase Level Conflict: Phase_RAW_Conflict ():= ( t j - t i )= (s i - s j ) (p j < p i ) Phase_Range (I i,s i,p i,r) Phase_Domain (I j, s j, p j, S i S j p 1 P j R W τ i/j τ j τ i P i p n p 1994, 2 S. Tahar 6/7/ (of 32) 1994, 2 S. Tahar 6/7/ (of 32)
7 ADD Ri Rj SUB Ri Rj JMP ### MOV Ri Rj RAW Data Conflict Verification Ultimate goal: I 1 I ns. Multiple_RAW_Conflict (I 1 ) Step 1: I i I j. t i t j. Dual_RAW_Conflict ((I i, t i ), (I j, t j )) Step 2: ( Dual_RAW_Conflict) ( Multiple_RAW_Conflict) Step 2 is straightforward Step 1 is equivalent to: Stage_RAW_Conflict) [( Phase_RAW_Conflict) ] I ns Stage RAW Data Conflict Verification Goal: I i I j. t i t j. s i s j. r. Stage_RAW_Conflict () Tactic: DATA_CONFLICT_TAC Stage_RAW_Conflict Subgoals: (I i = LOAD), (I j = ALU), [(s i = WB), (s j = ID), (r = RF) ] ( t j - t i ) > 3 Resolution in software ( delayed load ): SW_Constraint:= [(I i = LOAD) (I j = ALU) (r = RF)] (( t j - t i ) > 3) 1994, 2 S. Tahar 6/7/ (of 32) 1994, 2 S. Tahar 6/7/ (of 32) Processor Specific Definitions RISC Verification Methodology Enumeration types for pipeline characteristics: pipeline_stage = IF ID EX MEM WB clock_phase = φ 1 φ 2 Enumeration types for class, stage and phase instructions: class_instruction = ALU ALU_I LOAD STORE CONTROL stage_instruction = phase_instruction = Arch. Level Class Level Class Abstraction Stage Level Phase Level Model Construction EBM Enumeration types for level corresponding resources: CL_resource = PC RF of RF_addr I_MEM D_MEM IAR SL_resource = PL_resource = Semantical Correctness Architecture Level Class Level Stage Level Phase Level EBM SW- Constr. Pipeline Correctness 1994, 2 S. Tahar 6/7/ (of 32) 1994, 2 S. Tahar 6/7/ (of 32)
8 Experimental Results Experimental Results (DLX Processor) Verification Goal Time in sec Comments Predicates Extractions Resource Conflicts Conflicts RAW Conflicts Conflict cases WAR Conflicts Conflicts WAW Conflicts Conflicts Control Conflicts Conflict case Σ Pipeline Correctness Σ Semantical Correctness Σ DLX Verification (1h 33min) RISC core CPU 32 bit architecture 51 instructions 5 stage pipeline implemented in CADENCE Complexity: 15, transistors verified down to gate level in HOL 1994, 2 S. Tahar 6/7/ (of 32) 1994, 2 S. Tahar 6/7/1 6.3 (of 32) Conclusions Theorem-prover based verification could be automated by restricting to classes of circuits: RISC processors Novel hierarchical Specification and Verification model Overhead reduction using the notion of instruction classes Two independent verification tasks: - semantical and - pipeline correctness Automatic verification using few generalized tactics Processor independent verification methodology Overall methodology implemented in the HOL system Application on a typical RISC processor (DLX) References 1. S. Tahar and R. Kumar: A Practical Methodology for the Formal Verification of RISC Processors; Formal Methods in Systems Design, Vol. 13, No. 2, September 1998, Kluwer Academic Publishers, pp S. Tahar and R. Kumar: Formal Specification and Verification Techniques for RISC-Pipeline Conflicts; The Computer Journal, Vol. 38, No. 2, July 1995, Oxford University Press, pp and other papers available at , 2 S. Tahar 6/7/ (of 32) 1994, 2 S. Tahar 6/7/ (of 32)
6. Case Study: Formal Verification of RISC Processors using HOL
6. Case Study: Formal Verification of RISC Processors using HOL Page Motivation 6.2 Hierarchical RISC Model 6.12 Deriving Formal Specifications 6.13 Verification Tasks 6.17 Pipeline Correctness 6.19 Processor
More information6. Case Study: Formal Verification of RISC Processors using HOL
6. Case Study: Formal Verification of RISC Processors using HOL Page Motivation RISC Verification Model Deriving Formal Specifications Verification Tasks Pipeline Correctness Processor Specific Definitions
More informationImplementational Issues for Verifying RISC- Pipeline Conflicts in HOL
Higher Order Logic Theorem Proving and Its Applications Melham, T. and Camilleri, J. (Eds.) Lecture Notes in Computer Science 854 Springer Verlag, 1994, pp. 424-439 Implementational Issues for Verifying
More informationA Practical Methodology for the Formal Verification of RISC Processors
Technical Report No. FZI 9/95 Forschungszentrum Informatik Karlsruhe, Germany, August 1995 A Practical Methodology for the Formal Verification of RISC Processors SOFIÈNE TAHAR IRO Department, University
More informationInstruction Pipelining
Instruction Pipelining Simplest form is a 3-stage linear pipeline New instruction fetched each clock cycle Instruction finished each clock cycle Maximal speedup = 3 achieved if and only if all pipe stages
More informationInstruction Pipelining
Instruction Pipelining Simplest form is a 3-stage linear pipeline New instruction fetched each clock cycle Instruction finished each clock cycle Maximal speedup = 3 achieved if and only if all pipe stages
More informationInstruction Level Parallelism. Appendix C and Chapter 3, HP5e
Instruction Level Parallelism Appendix C and Chapter 3, HP5e Outline Pipelining, Hazards Branch prediction Static and Dynamic Scheduling Speculation Compiler techniques, VLIW Limits of ILP. Implementation
More informationomputer Design Concept adao Nakamura
omputer Design Concept adao Nakamura akamura@archi.is.tohoku.ac.jp akamura@umunhum.stanford.edu 1 1 Pascal s Calculator Leibniz s Calculator Babbage s Calculator Von Neumann Computer Flynn s Classification
More informationCommunications and Computer Engineering II: Lecturer : Tsuyoshi Isshiki
Communications and Computer Engineering II: Microprocessor 2: Processor Micro-Architecture Lecturer : Tsuyoshi Isshiki Dept. Communications and Computer Engineering, Tokyo Institute of Technology isshiki@ict.e.titech.ac.jp
More informationCAD for VLSI 2 Pro ject - Superscalar Processor Implementation
CAD for VLSI 2 Pro ject - Superscalar Processor Implementation 1 Superscalar Processor Ob jective: The main objective is to implement a superscalar pipelined processor using Verilog HDL. This project may
More informationPipelining! Advanced Topics on Heterogeneous System Architectures. Politecnico di Milano! Seminar DEIB! 30 November, 2017!
Advanced Topics on Heterogeneous System Architectures Pipelining! Politecnico di Milano! Seminar Room @ DEIB! 30 November, 2017! Antonio R. Miele! Marco D. Santambrogio! Politecnico di Milano! 2 Outline!
More informationEITF20: Computer Architecture Part2.2.1: Pipeline-1
EITF20: Computer Architecture Part2.2.1: Pipeline-1 Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Pipelining Harzards Structural hazards Data hazards Control hazards Implementation issues Multi-cycle
More informationAdvanced Computer Architecture
Advanced Computer Architecture Chapter 1 Introduction into the Sequential and Pipeline Instruction Execution Martin Milata What is a Processors Architecture Instruction Set Architecture (ISA) Describes
More informationComputer Architecture EE 4720 Midterm Examination
Name Solution Computer Architecture EE 4720 Midterm Examination 22 March 2000, 13:40 14:30 CST Alias Problem 1 Problem 2 Problem 3 Exam Total (35 pts) (20 pts) (45 pts) (100 pts) Good Luck! Problem 1:
More informationData Hazards Compiler Scheduling Pipeline scheduling or instruction scheduling: Compiler generates code to eliminate hazard
Data Hazards Compiler Scheduling Pipeline scheduling or instruction scheduling: Compiler generates code to eliminate hazard Consider: a = b + c; d = e - f; Assume loads have a latency of one clock cycle:
More informationEECS 151/251A Fall 2017 Digital Design and Integrated Circuits. Instructor: John Wawrzynek and Nicholas Weaver. Lecture 13 EE141
EECS 151/251A Fall 2017 Digital Design and Integrated Circuits Instructor: John Wawrzynek and Nicholas Weaver Lecture 13 Project Introduction You will design and optimize a RISC-V processor Phase 1: Design
More information6.823 Computer System Architecture Datapath for DLX Problem Set #2
6.823 Computer System Architecture Datapath for DLX Problem Set #2 Spring 2002 Students are allowed to collaborate in groups of up to 3 people. A group hands in only one copy of the solution to a problem
More informationEITF20: Computer Architecture Part2.2.1: Pipeline-1
EITF20: Computer Architecture Part2.2.1: Pipeline-1 Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Pipelining Harzards Structural hazards Data hazards Control hazards Implementation issues Multi-cycle
More informationEITF20: Computer Architecture Part2.2.1: Pipeline-1
EITF20: Computer Architecture Part2.2.1: Pipeline-1 Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Pipelining Harzards Structural hazards Data hazards Control hazards Implementation issues Multi-cycle
More informationPipeline Overview. Dr. Jiang Li. Adapted from the slides provided by the authors. Jiang Li, Ph.D. Department of Computer Science
Pipeline Overview Dr. Jiang Li Adapted from the slides provided by the authors Outline MIPS An ISA for Pipelining 5 stage pipelining Structural and Data Hazards Forwarding Branch Schemes Exceptions and
More informationECE 313 Computer Organization FINAL EXAM December 14, This exam is open book and open notes. You have 2 hours.
This exam is open book and open notes. You have 2 hours. Problems 1-4 refer to a proposed MIPS instruction lwu (load word - update) which implements update addressing an addressing mode that is used in
More informationCS 152, Spring 2011 Section 2
CS 152, Spring 2011 Section 2 Christopher Celio University of California, Berkeley About Me Christopher Celio celio @ eecs Office Hours: Tuesday 1-2pm, 751 Soda Agenda Q&A on HW1, Lab 1 Pipelining Questions
More informationThe Processor: Instruction-Level Parallelism
The Processor: Instruction-Level Parallelism Computer Organization Architectures for Embedded Computing Tuesday 21 October 14 Many slides adapted from: Computer Organization and Design, Patterson & Hennessy
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified
More informationThis course provides an overview of the SH-2 32-bit RISC CPU core used in the popular SH-2 series microcontrollers
Course Introduction Purpose: This course provides an overview of the SH-2 32-bit RISC CPU core used in the popular SH-2 series microcontrollers Objectives: Learn about error detection and address errors
More informationMulticycle Approach. Designing MIPS Processor
CSE 675.2: Introduction to Computer Architecture Multicycle Approach 8/8/25 Designing MIPS Processor (Multi-Cycle) Presentation H Slides by Gojko Babić and Elsevier Publishing We will be reusing functional
More informationSpeeding Up DLX Computer Architecture Hadassah College Spring 2018 Speeding Up DLX Dr. Martin Land
Speeding Up DLX 1 DLX Execution Stages Version 1 Clock Cycle 1 I 1 enters Instruction Fetch (IF) Clock Cycle2 I 1 moves to Instruction Decode (ID) Instruction Fetch (IF) holds state fixed Clock Cycle3
More informationCOSC4201 Pipelining. Prof. Mokhtar Aboelaze York University
COSC4201 Pipelining Prof. Mokhtar Aboelaze York University 1 Instructions: Fetch Every instruction could be executed in 5 cycles, these 5 cycles are (MIPS like machine). Instruction fetch IR Mem[PC] NPC
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware 4.1 Introduction We will examine two MIPS implementations
More informationECE 313 Computer Organization FINAL EXAM December 13, 2000
This exam is open book and open notes. You have until 11:00AM. Credit for problems requiring calculation will be given only if you show your work. 1. Floating Point Representation / MIPS Assembly Language
More informationECE154A Introduction to Computer Architecture. Homework 4 solution
ECE154A Introduction to Computer Architecture Homework 4 solution 4.16.1 According to Figure 4.65 on the textbook, each register located between two pipeline stages keeps data shown below. Register IF/ID
More informationENE 334 Microprocessors
ENE 334 Microprocessors Lecture 6: Datapath and Control : Dejwoot KHAWPARISUTH Adapted from Computer Organization and Design, 3 th & 4 th Edition, Patterson & Hennessy, 2005/2008, Elsevier (MK) http://webstaff.kmutt.ac.th/~dejwoot.kha/
More informationCOMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle
More informationComputer Architecture
Lecture 3: Pipelining Iakovos Mavroidis Computer Science Department University of Crete 1 Previous Lecture Measurements and metrics : Performance, Cost, Dependability, Power Guidelines and principles in
More informationECE369. Chapter 5 ECE369
Chapter 5 1 State Elements Unclocked vs. Clocked Clocks used in synchronous logic Clocks are needed in sequential logic to decide when an element that contains state should be updated. State element 1
More informationPipelining. Each step does a small fraction of the job All steps ideally operate concurrently
Pipelining Computational assembly line Each step does a small fraction of the job All steps ideally operate concurrently A form of vertical concurrency Stage/segment - responsible for 1 step 1 machine
More informationProcessor Architecture. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Processor Architecture Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Moore s Law Gordon Moore @ Intel (1965) 2 Computer Architecture Trends (1)
More informationEI338: Computer Systems and Engineering (Computer Architecture & Operating Systems)
EI338: Computer Systems and Engineering (Computer Architecture & Operating Systems) Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building
More informationL19 Pipelined CPU I 1. Where are the registers? Study Chapter 6 of Text. Pipelined CPUs. Comp 411 Fall /07/07
Pipelined CPUs Where are the registers? Study Chapter 6 of Text L19 Pipelined CPU I 1 Review of CPU Performance MIPS = Millions of Instructions/Second MIPS = Freq CPI Freq = Clock Frequency, MHz CPI =
More information3/12/2014. Single Cycle (Review) CSE 2021: Computer Organization. Single Cycle with Jump. Multi-Cycle Implementation. Why Multi-Cycle?
CSE 2021: Computer Organization Single Cycle (Review) Lecture-10b CPU Design : Pipelining-1 Overview, Datapath and control Shakil M. Khan 2 Single Cycle with Jump Multi-Cycle Implementation Instruction:
More informationPipelining. Principles of pipelining Pipeline hazards Remedies. Pre-soak soak soap wash dry wipe. l Chapter 4.4 and 4.5
Pipelining Pre-soak soak soap wash dry wipe Chapter 4.4 and 4.5 Principles of pipelining Pipeline hazards Remedies 1 Multi-stage process Sequential execution One process begins after previous finishes
More informationLecture 7 Pipelining. Peng Liu.
Lecture 7 Pipelining Peng Liu liupeng@zju.edu.cn 1 Review: The Single Cycle Processor 2 Review: Given Datapath,RTL -> Control Instruction Inst Memory Adr Op Fun Rt
More informationCSE Computer Architecture I Fall 2009 Lecture 13 In Class Notes and Problems October 6, 2009
CSE 30321 Computer Architecture I Fall 2009 Lecture 13 In Class Notes and Problems October 6, 2009 Question 1: First, we briefly review the notion of a clock cycle (CC). Generally speaking a CC is the
More informationProcessor Architecture
Processor Architecture Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE2030: Introduction to Computer Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu)
More informationPipelining. CSC Friday, November 6, 2015
Pipelining CSC 211.01 Friday, November 6, 2015 Performance Issues Longest delay determines clock period Critical path: load instruction Instruction memory register file ALU data memory register file Not
More informationPipelined CPUs. Study Chapter 4 of Text. Where are the registers?
Pipelined CPUs Where are the registers? Study Chapter 4 of Text Second Quiz on Friday. Covers lectures 8-14. Open book, open note, no computers or calculators. L17 Pipelined CPU I 1 Review of CPU Performance
More informationDLX Unpipelined Implementation
LECTURE - 06 DLX Unpipelined Implementation Five cycles: IF, ID, EX, MEM, WB Branch and store instructions: 4 cycles only What is the CPI? F branch 0.12, F store 0.05 CPI0.1740.83550.174.83 Further reduction
More informationProcessor (IV) - advanced ILP. Hwansoo Han
Processor (IV) - advanced ILP Hwansoo Han Instruction-Level Parallelism (ILP) Pipelining: executing multiple instructions in parallel To increase ILP Deeper pipeline Less work per stage shorter clock cycle
More informationPipelining: Hazards Ver. Jan 14, 2014
POLITECNICO DI MILANO Parallelism in wonderland: are you ready to see how deep the rabbit hole goes? Pipelining: Hazards Ver. Jan 14, 2014 Marco D. Santambrogio: marco.santambrogio@polimi.it Simone Campanoni:
More informationFormal Specification and Verification Techniques for RISC Pipeline Conflicts
The Computer Journal Vol. 38, No., 1995 Oxford Univerity Pre, pp. 111-10 Formal Specification and Verification Technique for RISC Pipeline Conflict Sofiène Tahar and Ramayya Kumar* Intitut für Rechnerentwurf
More informationLecture 3. Pipelining. Dr. Soner Onder CS 4431 Michigan Technological University 9/23/2009 1
Lecture 3 Pipelining Dr. Soner Onder CS 4431 Michigan Technological University 9/23/2009 1 A "Typical" RISC ISA 32-bit fixed format instruction (3 formats) 32 32-bit GPR (R0 contains zero, DP take pair)
More informationFinal Exam Fall 2007
ICS 233 - Computer Architecture & Assembly Language Final Exam Fall 2007 Wednesday, January 23, 2007 7:30 am 10:00 am Computer Engineering Department College of Computer Sciences & Engineering King Fahd
More informationChapter 2 Logic Gates and Introduction to Computer Architecture
Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are
More informationEN164: Design of Computing Systems Topic 06.b: Superscalar Processor Design
EN164: Design of Computing Systems Topic 06.b: Superscalar Processor Design Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown
More informationPage 1. Pipelining: Its Natural! Chapter 3. Pipelining. Pipelined Laundry Start work ASAP. Sequential Laundry A B C D. 6 PM Midnight
Pipelining: Its Natural! Chapter 3 Pipelining Laundry Example Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, and fold Washer takes 30 minutes A B C D Dryer takes 40 minutes Folder
More informationPipelining. Maurizio Palesi
* Pipelining * Adapted from David A. Patterson s CS252 lecture slides, http://www.cs.berkeley/~pattrsn/252s98/index.html Copyright 1998 UCB 1 References John L. Hennessy and David A. Patterson, Computer
More informationSimple Instruction Pipelining
Simple Instruction Pipelining Krste Asanovic Laboratory for Computer Science Massachusetts Institute of Technology Processor Performance Equation Time = Instructions * Cycles * Time Program Program Instruction
More informationRAČUNALNIŠKEA COMPUTER ARCHITECTURE
RAČUNALNIŠKEA COMPUTER ARCHITECTURE 6 Central Processing Unit - CPU RA - 6 2018, Škraba, Rozman, FRI 6 Central Processing Unit - objectives 6 Central Processing Unit objectives and outcomes: A basic understanding
More informationChapter 4 The Processor 1. Chapter 4A. The Processor
Chapter 4 The Processor 1 Chapter 4A The Processor Chapter 4 The Processor 2 Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware
More informationTDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design
1 TDT4255 Computer Design Lecture 4 Magnus Jahre 2 Outline Chapter 4.1 to 4.4 A Multi-cycle Processor Appendix D 3 Chapter 4 The Processor Acknowledgement: Slides are adapted from Morgan Kaufmann companion
More informationCS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c/su05 CS61C : Machine Structures Lecture #19: Pipelining II 2005-07-21 Andy Carle CS 61C L19 Pipelining II (1) Review: Datapath for MIPS PC instruction memory rd rs rt registers
More informationCISC 662 Graduate Computer Architecture Lecture 6 - Hazards
CISC 662 Graduate Computer Architecture Lecture 6 - Hazards Michela Taufer http://www.cis.udel.edu/~taufer/teaching/cis662f07 Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer
More informationMulti-cycle Instructions in the Pipeline (Floating Point)
Lecture 6 Multi-cycle Instructions in the Pipeline (Floating Point) Introduction to instruction level parallelism Recap: Support of multi-cycle instructions in a pipeline (App A.5) Recap: Superpipelining
More informationCOSC 6385 Computer Architecture - Pipelining
COSC 6385 Computer Architecture - Pipelining Fall 2006 Some of the slides are based on a lecture by David Culler, Instruction Set Architecture Relevant features for distinguishing ISA s Internal storage
More informationComputer Architecture s Changing Definition
Computer Architecture s Changing Definition 1950s Computer Architecture Computer Arithmetic 1960s Operating system support, especially memory management 1970s to mid 1980s Computer Architecture Instruction
More informationThese actions may use different parts of the CPU. Pipelining is when the parts run simultaneously on different instructions.
MIPS Pipe Line 2 Introduction Pipelining To complete an instruction a computer needs to perform a number of actions. These actions may use different parts of the CPU. Pipelining is when the parts run simultaneously
More informationChapter 4 The Processor (Part 2)
Department of Electr rical Eng ineering, Chapter 4 The Processor (Part 2) 王振傑 (Chen-Chieh Wang) ccwang@mail.ee.ncku.edu.tw ncku edu Feng-Chia Unive ersity Outline A Multicycle Implementation Mapping Control
More informationCPE 631 Lecture 09: Instruction Level Parallelism and Its Dynamic Exploitation
Lecture 09: Instruction Level Parallelism and Its Dynamic Exploitation Aleksandar Milenkovic, milenka@ece.uah.edu Electrical and Computer Engineering University of Alabama in Huntsville Outline Instruction
More informationCSCI 402: Computer Architectures. Fengguang Song Department of Computer & Information Science IUPUI. Today s Content
3/6/8 CSCI 42: Computer Architectures The Processor (2) Fengguang Song Department of Computer & Information Science IUPUI Today s Content We have looked at how to design a Data Path. 4.4, 4.5 We will design
More informationAppendix C: Pipelining: Basic and Intermediate Concepts
Appendix C: Pipelining: Basic and Intermediate Concepts Key ideas and simple pipeline (Section C.1) Hazards (Sections C.2 and C.3) Structural hazards Data hazards Control hazards Exceptions (Section C.4)
More informationDesign of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan)
Microarchitecture Design of Digital Circuits 27 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_7 Adapted from Digital
More informationCPE 335. Basic MIPS Architecture Part II
CPE 335 Computer Organization Basic MIPS Architecture Part II Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE232 Basic MIPS Architecture
More informationSAE5C Computer Organization and Architecture. Unit : I - V
SAE5C Computer Organization and Architecture Unit : I - V UNIT-I Evolution of Pentium and Power PC Evolution of Computer Components functions Interconnection Bus Basics of PCI Memory:Characteristics,Hierarchy
More informationPipelining. Principles of pipelining. Simple pipelining. Structural Hazards. Data Hazards. Control Hazards. Interrupts. Multicycle operations
Principles of pipelining Pipelining Simple pipelining Structural Hazards Data Hazards Control Hazards Interrupts Multicycle operations Pipeline clocking ECE D52 Lecture Notes: Chapter 3 1 Sequential Execution
More informationPipelined Processors. Ideal Pipelining. Example: FP Multiplier. 55:132/22C:160 Spring Jon Kuhl 1
55:3/C:60 Spring 00 Pipelined Design Motivation: Increase processor throughput with modest increase in hardware. Bandwidth or Throughput = Performance Pipelined Processors Chapter Bandwidth (BW) = no.
More informationThe Processor: Datapath & Control
Chapter Five 1 The Processor: Datapath & Control We're ready to look at an implementation of the MIPS Simplified to contain only: memory-reference instructions: lw, sw arithmetic-logical instructions:
More informationImplementing the Control. Simple Questions
Simple Questions How many cycles will it take to execute this code? lw $t2, 0($t3) lw $t3, 4($t3) beq $t2, $t3, Label add $t5, $t2, $t3 sw $t5, 8($t3) Label:... #assume not What is going on during the
More informationAdvanced processor designs
Advanced processor designs We ve only scratched the surface of CPU design. Today we ll briefly introduce some of the big ideas and big words behind modern processors by looking at two example CPUs. The
More informationCOMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition The Processor - Introduction
More informationPipelining. Principles of pipelining. Simple pipelining. Structural Hazards. Data Hazards. Control Hazards. Interrupts. Multicycle operations
Principles of pipelining Pipelining Simple pipelining Structural Hazards Data Hazards Control Hazards Interrupts Multicycle operations Pipeline clocking ECE D52 Lecture Notes: Chapter 3 1 Sequential Execution
More informationOverview. Appendix A. Pipelining: Its Natural! Sequential Laundry 6 PM Midnight. Pipelined Laundry: Start work ASAP
Overview Appendix A Pipelining: Basic and Intermediate Concepts Basics of Pipelining Pipeline Hazards Pipeline Implementation Pipelining + Exceptions Pipeline to handle Multicycle Operations 1 2 Unpipelined
More informationChapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor.
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor The Processor - Introduction
More informationComputer Systems Architecture Spring 2016
Computer Systems Architecture Spring 2016 Lecture 01: Introduction Shuai Wang Department of Computer Science and Technology Nanjing University [Adapted from Computer Architecture: A Quantitative Approach,
More informationECE 552 / CPS 550 Advanced Computer Architecture I. Lecture 6 Pipelining Part 1
ECE 552 / CPS 550 Advanced Computer Architecture I Lecture 6 Pipelining Part 1 Benjamin Lee Electrical and Computer Engineering Duke University www.duke.edu/~bcl15 www.duke.edu/~bcl15/class/class_ece252fall12.html
More informationThe Processor. Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut. CSE3666: Introduction to Computer Architecture
The Processor Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut CSE3666: Introduction to Computer Architecture Introduction CPU performance factors Instruction count
More informationECE/CS 552: Pipelining
ECE/CS 552: Pipelining Prof. ikko Lipasti Lecture notes based in part on slides created by ark Hill, David Wood, Guri Sohi, John Shen and Jim Smith Forecast Big Picture Datapath Control Pipelining s Program
More informationReal Processors. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University
Real Processors Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Instruction-Level Parallelism (ILP) Pipelining: executing multiple instructions in parallel
More information4. The Processor Computer Architecture COMP SCI 2GA3 / SFWR ENG 2GA3. Emil Sekerinski, McMaster University, Fall Term 2015/16
4. The Processor Computer Architecture COMP SCI 2GA3 / SFWR ENG 2GA3 Emil Sekerinski, McMaster University, Fall Term 2015/16 Instruction Execution Consider simplified MIPS: lw/sw rt, offset(rs) add/sub/and/or/slt
More informationAdvanced d Instruction Level Parallelism. Computer Systems Laboratory Sungkyunkwan University
Advanced d Instruction ti Level Parallelism Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu ILP Instruction-Level Parallelism (ILP) Pipelining:
More informationCSE 533: Advanced Computer Architectures. Pipelining. Instructor: Gürhan Küçük. Yeditepe University
CSE 533: Advanced Computer Architectures Pipelining Instructor: Gürhan Küçük Yeditepe University Lecture notes based on notes by Mark D. Hill and John P. Shen Updated by Mikko Lipasti Pipelining Forecast
More informationCMSC411 Fall 2013 Midterm 1
CMSC411 Fall 2013 Midterm 1 Name: Instructions You have 75 minutes to take this exam. There are 100 points in this exam, so spend about 45 seconds per point. You do not need to provide a number if you
More informationDesign of the MIPS Processor
Design of the MIPS Processor We will study the design of a simple version of MIPS that can support the following instructions: I-type instructions LW, SW R-type instructions, like ADD, SUB Conditional
More informationChapter 4 The Processor
Chapter 4 The Processor 4.1 Introduction 4.2 Logic Design Conventions 4.3 The Single-Cycle Design 4.4 The Pipelined Design (c) Kevin R. Burger :: Computer Science & Engineering :: Arizona State University
More informationChapter 4 The Processor 1. Chapter 4D. The Processor
Chapter 4 The Processor 1 Chapter 4D The Processor Chapter 4 The Processor 2 Instruction-Level Parallelism (ILP) Pipelining: executing multiple instructions in parallel To increase ILP Deeper pipeline
More informationArchitectures & instruction sets R_B_T_C_. von Neumann architecture. Computer architecture taxonomy. Assembly language.
Architectures & instruction sets Computer architecture taxonomy. Assembly language. R_B_T_C_ 1. E E C E 2. I E U W 3. I S O O 4. E P O I von Neumann architecture Memory holds data and instructions. Central
More informationFinal Exam Spring 2017
COE 3 / ICS 233 Computer Organization Final Exam Spring 27 Friday, May 9, 27 7:3 AM Computer Engineering Department College of Computer Sciences & Engineering King Fahd University of Petroleum & Minerals
More informationCMCS Mohamed Younis CMCS 611, Advanced Computer Architecture 1
CMCS 611-101 Advanced Computer Architecture Lecture 9 Pipeline Implementation Challenges October 5, 2009 www.csee.umbc.edu/~younis/cmsc611/cmsc611.htm Mohamed Younis CMCS 611, Advanced Computer Architecture
More informationEE 3170 Microcontroller Applications
EE 3170 Microcontroller Applications Lecture 4 : Processors, Computers, and Controllers - 1.2 (reading assignment), 1.3-1.5 Based on slides for ECE3170 by Profs. Kieckhafer, Davis, Tan, and Cischke Outline
More informationChapter 13 Reduced Instruction Set Computers
Chapter 13 Reduced Instruction Set Computers Contents Instruction execution characteristics Use of a large register file Compiler-based register optimization Reduced instruction set architecture RISC pipelining
More informationMikko Lipasti Spring 2002 ECE/CS 552 : Introduction to Computer Architecture IN-CLASS MIDTERM EXAM March 14th, 2002
ECE/CS 552 : Introduction to Computer Architecture IN-CLASS MIDTERM EXAM March 14th, 2002 NAME: This exam is to be done individually in 75 minutes. Total 10 Questions, 75 points 1. (10 Points) A sequence
More information