Fundamentals of Computer Systems

Size: px
Start display at page:

Download "Fundamentals of Computer Systems"

Transcription

1 Fundamentals of Computer Systems A Pipelined MIPS Processor Stephen A. Edwards Columbia University Summer 25 Technical Illustrations Copyright c 27 Elsevier

2 Sequential Laundry Time Alice Bob Cindy

3 Pipelined Laundry Time Alice Bob Why let the washer or dryer sit idle when both can be running? Cindy

4 Single-Cycle Datapath Timing Clk PC Register File Data

5 Single-Cycle vs. Pipelined Datapath SignImmE A RD 4 A A3 WD3 RD2 RD WE3 A2 Sign Extend Register File A RD Data WD WE PCF PC' InstrD 25:2 2:6 5: SrcBE 2:6 5: RtE RdE <<2 OutM OutW ReadDataW WriteDataE WriteDataM SrcAE PCPlus4D PCBranchM ResultW PCPlus4E PCPlus4F ZeroM WriteRegE 4: SignImm A RD 4 A A3 WD3 RD2 RD WE3 A2 Sign Extend Register File A RD Data WD WE PC PC' Instr 25:2 2:6 5: SrcB 2:6 5: <<2 Result ReadData WriteData SrcA PCPlus4 PCBranch WriteReg 4: Result Zero Fetch Decode Execute Writeback

6 Corrected Pipelined Datapath The register number to write (WriteReg) must stay synchronized with the result. PC' PCF A RD InstrD 25:2 A WE3 RD 2:6 A2 RD2 A3 Register WD3 File 2:6 5: RtE RdE SrcAE SrcBE WriteDataE WriteRegE 4: ZeroM WE OutM A RD Data WriteDataM WD WriteRegM 4: OutW ReadDataW WriteRegW 4: 4 5: Sign Extend SignImmE <<2 PCBranchM PCPlus4F PCPlus4D PCPlus4E Fetch Decode Execute Writeback ResultW

7 Pipeline Control Same control unit as the single-cycle processor; Control signals delayed across pipeline stages Control Unit RegWriteD MemtoRegD MemWriteD RegWriteE RegWriteM RegWriteW MemtoRegE MemtoRegM MemtoRegW MemWriteE MemWriteM 3:26 5: Op Funct BranchD ControlD SrcD BranchE ControlE 2: SrcE BranchM PCSrcM RegDstD RegDstE OutW PC' PCF A RD InstrD 25:2 A WE3 RD 2:6 A2 RD2 A3 Register WD3 File 2:6 5: RtE RdE SrcAE SrcBE WriteDataE WriteRegE 4: ZeroM WE OutM A RD Data WriteDataM WD WriteRegM 4: ReadDataW WriteRegW 4: 4 5: Sign Extend SignImmE <<2 PCBranchM PCPlus4F PCPlus4D PCPlus4E ResultW

8 Single-Cycle vs. Pipeline Timing Single-Cycle Instr Fetch Decode Read Reg Execute Read / Write Write Reg Fetch Decode Read Reg Execute Read / Write Time (ps) Write Reg Pipelined Instr 2 Fetch Decode Read Reg Fetch Execute Decode Read Reg Read/Write Execute Write Reg Read/Write Write Reg 3 Fetch Decode Read Reg Execute Read/Write Write Reg

9 Pipelining Abstraction Time (cycles) $ lw $s2, 4($) lw 4 DM $s2 add $s3, $t, $t2 add $t $t2 DM $s3 sub $s4, $s, $s5 sub $s $s5 - DM $s4 and $s5, $t5, $t6 and $t5 $t6 & DM $s5 sw $s6, 2($s) sw $s 2 DM $s6 or $s7, $t3, $t4 or $t3 $t4 DM $s7

10 Data Hazard Time (cycles) $s2 add $s, $s2, $s3 add $s3 DM $s and $t, $s, $s and $s $s & DM $t or $t, $s4, $s or $s4 $s DM $t sub $t2, $s, $s5 sub $s $s5 - DM $t2 The first instruction produces a result (in $s) that later instructions need. The has computed the value in cycle 3, but it won t be written to the register file until cycle 5. Dukes of Hazzard Hazard Lights Water Hazard Biohazard

11 Eliminating Hazards at Compile-Time Time (cycles) $s2 add $s, $s2, $s3 add $s3 DM $s nop nop DM nop nop DM and $t, $s, $s and $s $s & DM $t or $t, $s4, $s or $s4 $s DM $t sub $t2, $s, $s5 sub $s $s5 - DM $t2 Insert nops to delay later instructions; sometimes possible to put useful work in those slots.

12 Eliminating Data Hazards through Forwarding Time (cycles) $s2 add $s, $s2, $s3 add $s3 DM $s and $t, $s, $s and $s $s & DM $t or $t, $s4, $s or $s4 $s DM $t sub $t2, $s, $s5 sub $s $s5 - DM $t2 Add logic to send data between instructions; register file eventually written. Here, the result is available at the end of cycle 3 and needed in cycles 4 and 5.

13 ControlD 2: ControlE 2: Datapath with Data Forwarding Control Unit RegWriteD MemtoRegD MemWriteD RegWriteE RegWriteM RegWriteW MemtoRegE MemtoRegM MemtoRegW MemWriteE MemWriteM 3:26 Op SrcD SrcE 5: Funct RegDstD RegDstE PCSrcM BranchD BranchE BranchM PC' PCF A RD InstrD WE3 25:2 A RD 2:6 A2 RD2 A3 Register WD3 File 25:2 2:6 5: RsD RtD RdD RsE RtE RdE SrcAE SrcBE WriteDataE WriteRegE 4: ZeroM OutM WriteDataM WriteRegM 4: WE A RD Data WD ReadDataW OutW WriteRegW 4: 4 5: Sign Extend SignImmD SignImmE <<2 PCPlus4F PCPlus4D PCPlus4E PCBranchM ResultW ForwardAE ForwardBE RegWriteM RegWriteW Hazard Unit if rse rse = WriteRegM RegWriteM, ForwardAE = if rse rse = WriteRegW RegWriteW, otherwise.

14 Data Hazard that Demands a Stall Time (cycles) $ lw $s, 4($) lw 4 DM $s and $t, $s, $s and Trouble! $s $s & DM $t or $t, $s4, $s or $s4 $s DM $t sub $t2, $s, $s5 sub $s $s5 - DM $t2 This data hazard can t be solved with forwarding because the value is only available at the end of cycle 4, yet is needed at the beginning.

15 Stalling a Pipeline Time (cycles) $ lw $s, 4($) lw 4 DM $s and $t, $s, $s and $s $s $s $s & DM $t or $t, $s4, $s or or $s4 $s DM $t sub $t2, $s, $s5 Stall sub $s $s5 - DM $t2 A stall tells an instruction to wait for a cycle before proceeding.

16 Stalling Hardware Control Unit RegWriteD MemtoRegD MemWriteD RegWriteE RegWriteM RegWriteW MemtoRegE MemtoRegM MemtoRegW MemWriteE MemWriteM 3:26 Op 5: Funct ControlD 2: SrcD RegDstD BranchD ControlE 2: SrcE RegDstE BranchE BranchM PCSrcM PC' PCF InstrD A RD EN 25:2 WE3 A RD 2:6 A2 RD2 A3 Register WD3 File 25:2 2:6 5: RsD RtD RdD RsE RtE RdE SrcAE SrcBE WriteDataE WriteRegE 4: ZeroM OutM WriteDataM WriteRegM 4: WE A RD Data WD ReadDataW OutW WriteRegW 4: 4 5: SignImmD Sign Extend SignImmE <<2 PCPlus4F EN PCPlus4D CLR PCPlus4E PCBranchM ResultW StallF StallD FlushE ForwardAE ForwardBE MemtoRegE RegWriteM RegWriteW Hazard Unit lwstall = MemToRegE ( (rsd = rte) (rtd = rte) ) StallF, StallD, FlushE = lwstall

17 Control Hazards Time (cycles) 2 $t beq $t, $t2, 4 lw $t2 - DM and $t, $s, $s or $t, $s4, $s and $s $s or & $s4 $s DM DM Flush these instructions 2C sub $t2, $s, $s5 sub $s $s5 - DM $s2 64 slt $t3, $s2, $s3 slt $s3 slt DM $t3 Whether to branch isn t determined until the beginning of the fourth cycle; three instructions would be executed erroneously if the branch were taken.

18 Early Branch Resolution Control Unit 3:26 Op 5: Funct RegWriteD MemtoRegD MemWriteD ControlD 2: SrcD RegDstD BranchD RegWriteE RegWriteM RegWriteW MemtoRegE MemtoRegM MemtoRegW MemWriteE MemWriteM ControlE 2: SrcE RegDstE PC' PCF EN InstrD A RD WE3 25:2 A RD 2:6 A2 RD2 A3 Register WD3 File 25:2 2:6 5: EqualD PCSrcD = RsD RtD RdE RsE RtE RdE SrcAE SrcBE WriteDataE WriteRegE 4: OutM WriteDataM WriteRegM 4: WE A RD Data WD ReadDataW OutW WriteRegW 4: 4 5: SignImmD Sign Extend <<2 SignImmE PCPlus4F CLR EN PCPlus4D CLR PCBranchD ResultW StallF StallD FlushE ForwardAE ForwardBE MemtoRegE RegWriteM RegWriteW Hazard Unit Introduced another data hazard in the decode stage

19 Control Hazards w/ Early Branch Resolution Time (cycles) 2 $t beq $t, $t2, 4 lw $t2 - DM 24 and $t, $s, $s and $s $s & DM Flush this instruction 28 or $t, $s4, $s 2C sub $t2, $s, $s $s2 64 slt $t3, $s2, $s3 slt $s3 slt DM $t3

20 Handling Data and Control Hazards Control Unit 3:26 Op 5: Funct RegWriteD MemtoRegD MemWriteD ControlD 2: SrcD RegDstD BranchD RegWriteE RegWriteM RegWriteW MemtoRegE MemtoRegM MemtoRegW MemWriteE MemWriteM ControlE 2: SrcE RegDstE PC' PCF InstrD A RD EN WE3 25:2 A RD 2:6 A2 RD2 A3 Register WD3 File 25:2 2:6 5: EqualD PCSrcD = RsD RtD RdD RsE RtE RdE SrcAE SrcBE WriteDataE WriteRegE 4: OutM WriteDataM WriteRegM 4: WE A RD Data WD ReadDataW OutW WriteRegW 4: 4 5: SignImmD Sign Extend <<2 SignImmE PCPlus4F CLR EN PCPlus4D CLR PCBranchD ResultW StallF StallD BranchD ForwardAD ForwardBD FlushE ForwardAE ForwardBE MemtoRegE RegWriteE RegWriteM RegWriteW Hazard Unit

21 Forwarding and Stalling Logic Forward result to branch-if-equal comparator if we would read its destination register ForwardAD = (rsd rsd = WriteRegM RegWriteM) ForwardBD = (rtd rtd = WriteRegM RegWriteM) Stall if the branch would test the result of an operation or a memory read branchstall = (BranchD RegWriteE (WriteRegE = rsd WriteRegE = rtd)) (BranchD MemToRegM (WriteRegM = rsd WriteRegM = rtd)) Stall if we need to read the result of a memory read or of a branch StallF, StallD, FlushE = lwstall branchstall

22 Pipeline Performance CPI Example Ideal CPI = ; stalls reduce this, but how much? s in SPECINT2 benchmark: 52% R-type 25% Loads % Stores % Branches 2% Jumps If 4% of loads are used by the next instruction and 25% of branches are mispredicted, what is the average CPI?

23 Pipeline Performance CPI Example Ideal CPI = ; stalls reduce this, but how much? s in SPECINT2 benchmark: 52% R-type 25% Loads % Stores % Branches 2% Jumps If 4% of loads are used by the next instruction and 25% of branches are mispredicted, what is the average CPI? Load CPI = 2 when next instruction uses; otherwise Branch CPI = 2 when mispredicted; otherwise Jump CPI = 2 Average CPI =.52 R-type (2.4.6).25 Loads. Stores ( ). Branches 2.2 Jumps =.475

24 Fully Bypassed Processor EqualD SignImmE A RD 4 A A3 WD3 RD2 RD WE3 A2 Sign Extend Register File A RD Data WD WE PCF PC' InstrD 25:2 2:6 5: 5: SrcBE 25:2 5: RsE RdE <<2 OutM OutW ReadDataW WriteDataE WriteDataM SrcAE PCPlus4D PCBranchD WriteRegM4: ResultW PCPlus4F 3:26 RegDstD BranchD MemWriteD MemtoRegD ControlD 2: SrcD RegWriteD Op Funct Control Unit PCSrcD WriteRegW4: ControlE2: RegWriteE RegWriteM RegWriteW MemtoRegE MemtoRegM MemtoRegW MemWriteE MemWriteM RegDstE SrcE WriteRegE4: = SignImmD 2:6 RtE RsD RdD RtD Hazard Unit StallF StallD ForwardAE ForwardBE ForwardAD ForwardBD RegWriteE RegWriteM RegWriteW MemtoRegE BranchD FlushE EN CLR EN CLR

25 EN EN CLR 3:26 5: 25:2 2:6 25:2 5: 5: CLR ControlE2: WriteRegE4: WriteRegM4: WriteRegW4: Pipelined Processor Critical Path Element Delay PC' StallF PCF 4 A RD PCPlus4F StallD InstrD Control Unit Op Funct A A2 PCPlus4D WE3 A3 Register WD3 File Sign Extend PCBranchD RegWriteD MemtoRegD MemWriteD ControlD 2: SrcD RegDstD BranchD RD RD2 SignImmD <<2 EqualD = RsD PCSrcD RegWriteE RegWriteM RegWriteW MemtoRegE MemtoRegM MemtoRegW MemWriteE SrcE RegDstE RsE 2:6 RtD RtE BranchD ForwardBD ForwardAD RdD FlushE RdE Hazard Unit ForwardBE ForwardAE SrcAE SrcBE SignImmE WriteDataE MemtoRegE RegWriteE MemWriteM OutM WriteDataM A WE RD Data WD RegWriteM ReadDataW OutW ResultW RegWriteW Register clk-to-q t pcq 3 ps Register setup t setup 2 Multiplexer t mux 25 t 2 Read t memread 25 Register file read t read 5 Register file setup t setup 2 Equality t eq 4 AND gate t AND 5 Write t memwrite22 Register file write t write Fetch Execute t pcq t memread t setup 2(t read t mux t eq t AND t mux t setup) Decode T c = max t pcq t mux t mux t t setup t pcq t memwrite t setup 2(t pcq t mux t write) Writeback = 2( ) ps = 55 ps Why 2? We assume it takes half a cycle for a newly written register s value (WD3) to propagate to RD or RD2, i.e., when an earlier instruction writes a register used by the current one.

26 Pipelined Processor Performance For a billion-instruction task on our pipelined processor, each instruction takes.5 cycles on average. With a 55 ps clock period, time = ps = 63 seconds Processor Execution Time Speedup Single-Cycle 92.5 s. (by definition) Multi-Cycle Pipelined

Contents Slide Set 6. Introduction to Chapter 7 of the textbook. Outline of Slide Set 6. An outline of the first part of Chapter 7

Contents Slide Set 6. Introduction to Chapter 7 of the textbook. Outline of Slide Set 6. An outline of the first part of Chapter 7 CM 69 W4 Section Slide Set 6 slide 2/9 Contents Slide Set 6 for CM 69 Winter 24 Lecture Section Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary

More information

Slide Set 6. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng

Slide Set 6. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng Slide Set 6 for ENCM 369 Winter 2018 Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary February 2018 ENCM 369 Winter 2018 Section

More information

EECS150 - Digital Design Lecture 9 - CPU Microarchitecture. CMOS Devices

EECS150 - Digital Design Lecture 9 - CPU Microarchitecture. CMOS Devices EECS150 - Digital Design Lecture 9 - CPU Microarchitecture Feb 17, 2009 John Wawrzynek Spring 2009 EECS150 - Lec9-cpu Page 1 CMOS Devices Review: Transistor switch-level models The gate acts like a capacitor.

More information

Digital Design and Computer Architecture

Digital Design and Computer Architecture Digital Design and Computer Architecture Lab 0: Multicycle Processor (Part ) Introduction In this lab and the next, you will design and build your own multicycle MIPS processor. You will be much more on

More information

Pipeline design. Mehran Rezaei

Pipeline design. Mehran Rezaei Pipeline design Mehran Rezaei Shift Left 2 pc Opcode ExtOp Cont Unit RegDst Addr Addr2 Addr npcsle Reg ALUSrc Mem 2 OVF Branch ALUCtr MemtoReg Mem Funct Extension ALUOp ALU Cont Shift Left 2 ID EXE MEM

More information

CS 152 Midterm 2 May 2, 2002 Bob Brodersen

CS 152 Midterm 2 May 2, 2002 Bob Brodersen CS 152 Midterm 2 May 2, 2002 Bob Brodersen Name Solutions Show your work if you want partial credit! Try all the problems, don t get stuck on one of them. Each one is worth 10 points. 1) 2) 3) 4) 5) 6)

More information

Instruction Level Parallelism

Instruction Level Parallelism Instruction Level Parallelism Pipelining, Hazards Appendix C, HPe Outline Pipelining, Hazards Branch prediction Static and Dynamic Scheduling Speculation Compiler techniques, VLIW Limits of ILP. Pipelining

More information

06 1 MIPS Implementation Pipelined DLX and MIPS Implementations: Hardware, notation, hazards.

06 1 MIPS Implementation Pipelined DLX and MIPS Implementations: Hardware, notation, hazards. 06 1 MIPS Implementation 06 1 Material from Chapter 3 of H&P (for DLX). Material from Chapter 6 of P&H (for MIPS). line: (In this set.) Unpipelined DLX Implementation. (Diagram only.) Pipelined DLX and

More information

ASIC = Application specific integrated circuit

ASIC = Application specific integrated circuit ASIC = Application specific integrated circuit CS 2630 Computer Organization Meeting 19: Building a MIPS processor Brandon Myers University of Iowa The goal: implement most of MIPS So far Implementing

More information

Digital Design and Computer Architecture

Digital Design and Computer Architecture Digital Design and Computer Architecture Lab 0: Multicycle ARM Processor (Part ) Introduction In this lab and the next, you will design and build your own multicycle ARM processor. You will be much more

More information

Pipelining. Improve performance by increasing instruction throughput Program execution order. Data access. Instruction. fetch. Data access.

Pipelining. Improve performance by increasing instruction throughput Program execution order. Data access. Instruction. fetch. Data access. Chapter 6 Pipelining Improve performance by increasing instrction throghpt Program eection order Time (in instrctions) lw $, ($) Instrction fetch 2 4 6 8 2 4 6 8 ALU Data access lw $2, 2($) 8 ns Instrction

More information

PIPELINING: BRANCH AND MULTICYCLE INSTRUCTIONS

PIPELINING: BRANCH AND MULTICYCLE INSTRUCTIONS PIPELINING: BRANCH AND MULTICYCLE INSTRUCTIONS Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Homework 1 submission

More information

Chapter 4 (Part I) The Processor. Baback Izadi Division of Engineering Programs

Chapter 4 (Part I) The Processor. Baback Izadi Division of Engineering Programs EGC442 Introdction to Compter Architectre Chapter 4 (Part I) The Processor Baback Izadi Division of Engineering Programs bai@engr.newpaltz.ed Introdction CPU performance factors Instrction cont Determined

More information

Outline. 1 Reiteration. 2 Dynamic scheduling - Tomasulo. 3 Superscalar, VLIW. 4 Speculation. 5 ILP limitations. 6 What we have done so far.

Outline. 1 Reiteration. 2 Dynamic scheduling - Tomasulo. 3 Superscalar, VLIW. 4 Speculation. 5 ILP limitations. 6 What we have done so far. Outline 1 Reiteration Lecture 5: EIT090 Computer Architecture 2 Dynamic scheduling - Tomasulo Anders Ardö 3 Superscalar, VLIW EIT Electrical and Information Technology, Lund University Sept. 30, 2009 4

More information

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger. CS 110 Computer Architecture Finite State Machines, Functional Units Instructor: Sören Schwertfeger http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University

More information

EE 447/547 VLSI Design. Lecture 9: Sequential Circuits. VLSI Design EE 447/547 Sequential circuits 1

EE 447/547 VLSI Design. Lecture 9: Sequential Circuits. VLSI Design EE 447/547 Sequential circuits 1 EE 447/547 VLSI esign Lecture 9: Sequential Circuits Sequential circuits 1 Outline Floorplanning Sequencing Sequencing Element esign Max and Min-elay Clock Skew Time Borrowing Two-Phase Clocking Sequential

More information

CS3350B Computer Architecture Winter 2015

CS3350B Computer Architecture Winter 2015 CS3350B Computer Architecture Winter 2015 Lecture 5.2: State Circuits: Circuits that Remember Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design,

More information

Lecture 10: Sequential Circuits

Lecture 10: Sequential Circuits Introduction to CMOS VLSI esign Lecture 10: Sequential Circuits avid Harris Harvey Mudd College Spring 2004 1 Outline Floorplanning Sequencing Sequencing Element esign Max and Min-elay Clock Skew Time

More information

11. Sequential Elements

11. Sequential Elements 11. Sequential Elements Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 October 11, 2017 ECE Department, University of Texas at Austin

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 24 State Circuits : Circuits that Remember Senior Lecturer SOE Dan Garcia www.cs.berkeley.edu/~ddgarcia Bio NAND gate Researchers at Imperial

More information

Register Transfer Level (RTL) Design Cont.

Register Transfer Level (RTL) Design Cont. CSE4: Components and Design Techniques for Digital Systems Register Transfer Level (RTL) Design Cont. Tajana Simunic Rosing Where we are now What we are covering today: RTL design examples, RTL critical

More information

4.5 Pipelining. Pipelining is Natural!

4.5 Pipelining. Pipelining is Natural! 4.5 Pipelining Ovelapped execution of instuctions Instuction level paallelism (concuency) Example pipeline: assembly line ( T Fod) Response time fo any instuction is the same Instuction thoughput inceases

More information

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20 Advanced Devices Using a combination of gates and flip-flops, we can construct more sophisticated logical devices. These devices, while more complex, are still considered fundamental to basic logic design.

More information

Modeling Digital Systems with Verilog

Modeling Digital Systems with Verilog Modeling Digital Systems with Verilog Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw 6-1 Composition of Digital Systems Most digital systems can be partitioned into two types

More information

CpE 442. Designing a Pipeline Processor (lect. II)

CpE 442. Designing a Pipeline Processor (lect. II) CpE 442 Designing a Pipeline Pocesso (lect. II) CPE 442 hazads.1 Otline of Today s Lecte Recap and Intodction (5 mintes) Intodction to Hazads (15 mintes) Fowading (25 mintes) 1 cycle Load Delay (5 mintes)

More information

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic. 1. CLOCK MUXING: With more and more multi-frequency clocks being used in today's chips, especially in the communications field, it is often necessary to switch the source of a clock line while the chip

More information

Advanced Pipelining and Instruction-Level Paralelism (2)

Advanced Pipelining and Instruction-Level Paralelism (2) Advanced Pipelining and Instruction-Level Paralelism (2) Riferimenti bibliografici Computer architecture, a quantitative approach, Hennessy & Patterson: (Morgan Kaufmann eds.) Tomasulo s Algorithm For

More information

Lecture 16: Instruction Level Parallelism -- Dynamic Scheduling (OOO) via Tomasulo s Approach

Lecture 16: Instruction Level Parallelism -- Dynamic Scheduling (OOO) via Tomasulo s Approach Lecture 16: Instruction Level Parallelism -- Dynamic Scheduling (OOO) via Tomasulo s Approach CSE 564 Computer Architecture Summer 2017 Department of Computer Science and Engineering Yonghong Yan yan@oakland.edu

More information

ECEN454 Digital Integrated Circuit Design. Sequential Circuits. Sequencing. Output depends on current inputs

ECEN454 Digital Integrated Circuit Design. Sequential Circuits. Sequencing. Output depends on current inputs ECEN454 igital Integrated Circuit esign Sequential Circuits ECEN 454 Combinational logic Sequencing Output depends on current inputs Sequential logic Output depends on current and previous inputs Requires

More information

Slide Set 8. for ENCM 501 in Winter Term, Steve Norman, PhD, PEng

Slide Set 8. for ENCM 501 in Winter Term, Steve Norman, PhD, PEng Slide Set 8 for ENCM 501 in Winter Term, 2017 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Winter Term, 2017 ENCM 501 W17 Lectures: Slide

More information

Sequential Logic Design CS 64: Computer Organization and Design Logic Lecture #14

Sequential Logic Design CS 64: Computer Organization and Design Logic Lecture #14 Sequential Logic Design CS 64: Computer Organization and Design Logic Lecture #14 Ziad Matni Dept. of Computer Science, UCSB Administrative Only 2.5 weeks left!!!!!!!! OMG!!!!! Th. 5/24 Sequential Logic

More information

A few questions to test your familiarity of Lab7 at the end of finishing all assigned parts of Lab 7

A few questions to test your familiarity of Lab7 at the end of finishing all assigned parts of Lab 7 EE457 Lab7 Questions page A few questions to test your familiarity of Lab7 at the end of finishing all assigned parts of Lab 7 1. A. In which parts or subparts of Lab 7 does the STALL signal cause the

More information

CS 250 VLSI System Design

CS 250 VLSI System Design CS 250 VLSI System Design Lecture 3 Timing 2013-9-5 Professor Jonathan Bachrach today s lecture by John Lazzaro TA: Ben Keller www-insteecsberkeleyedu/~cs250/ 1 everything doesn t happen at once Timing,

More information

Sequential Elements con t Synchronous Digital Systems

Sequential Elements con t Synchronous Digital Systems ecture 15 Computer Science 61C Spring 2017 February 22th, 2017 Sequential Elements con t Synchronous Digital Systems 1 Administrivia I Good news: Waitlist students: You are in! Concurrent Enrollment students:

More information

First Name Last Name November 10, 2009 CS-343 Exam 2

First Name Last Name November 10, 2009 CS-343 Exam 2 CS-343 Exam 2 Instructions: For multiple choice questions, circle the letter of the one best choice unless the question explicitly states that it might have multiple correct answers. There is no penalty

More information

Digital Design Datapath Components: Parallel Load Register

Digital Design Datapath Components: Parallel Load Register ECE 274 - Digital Logic Lecture Datapath Components: Processor: Controller + Datapath Lecture Parallel Load Register Shift Registers Multifunction Registers Multifunction Register Design Process Controller

More information

Instruction Level Parallelism Part III

Instruction Level Parallelism Part III Course on: Advanced Computer Architectures Instruction Level Parallelism Part III Prof. Cristina Silvano Politecnico di Milano email: cristina.silvano@polimi.it 1 Outline of Part III Dynamic Scheduling

More information

Lecture 11: Sequential Circuit Design

Lecture 11: Sequential Circuit Design Lecture 11: Sequential Circuit esign Outline q Sequencing q Sequencing Element esign q Max and Min-elay q Clock Skew q Time Borrowing q Two-Phase Clocking 2 Sequencing q Combinational logic output depends

More information

More Digital Circuits

More Digital Circuits More Digital Circuits 1 Signals and Waveforms: Showing Time & Grouping 2 Signals and Waveforms: Circuit Delay 2 3 4 5 3 10 0 1 5 13 4 6 3 Sample Debugging Waveform 4 Type of Circuits Synchronous Digital

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #21 State Elements: Circuits that Remember 2008-3-14 Scott Beamer, Guest Lecturer www.piday.org 3.14159265358979323 8462643383279502884

More information

Instruction Level Parallelism Part III

Instruction Level Parallelism Part III Course on: Advanced Computer Architectures Instruction Level Parallelism Part III Prof. Cristina Silvano Politecnico di Milano email: cristina.silvano@polimi.it 1 Outline of Part III Tomasulo Dynamic Scheduling

More information

Slide Set 9. for ENCM 501 in Winter Steve Norman, PhD, PEng

Slide Set 9. for ENCM 501 in Winter Steve Norman, PhD, PEng Slide Set 9 for ENCM 501 in Winter 2018 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary March 2018 ENCM 501 Winter 2018 Slide Set 9 slide

More information

Differences between Tomasulo. Another Dynamic Algorithm: Tomasulo Organization. Reservation Station Components

Differences between Tomasulo. Another Dynamic Algorithm: Tomasulo Organization. Reservation Station Components Another Dynamic Algorithm: Tomasulo Algorithm Differences between Tomasulo Algorithm & Scoreboard For IBM 360/9 about 3 years after CDC 6600 Goal: High Performance without special compilers Differences

More information

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98 More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 98 Review: Bit Storage SR latch S (set) Q R (reset) Level-sensitive SR latch S S1 C R R1 Q D C S R D latch Q

More information

ECE 250 / CPS 250 Computer Architecture. Basics of Logic Design ALU and Storage Elements

ECE 250 / CPS 250 Computer Architecture. Basics of Logic Design ALU and Storage Elements ECE 25 / CPS 25 Computer Architecture Basics of Logic esign ALU and Storage Elements Benjamin Lee Slides based on those from Andrew Hilton (uke), Alvy Lebeck (uke) Benjamin Lee (uke), and Amir Roth (Penn)

More information

Chapter 3 Unit Combinational

Chapter 3 Unit Combinational EE 200: Digital Logic Circuit Design Dr Radwan E Abdel-Aal, COE Logic and Computer Design Fundamentals Chapter 3 Unit Combinational 5 Registers Logic and Design Counters Part Implementation Technology

More information

Instruction Level Parallelism and Its. (Part II) ECE 154B

Instruction Level Parallelism and Its. (Part II) ECE 154B Instruction Level Parallelism and Its Exploitation (Part II) ECE 154B Dmitri Strukov ILP techniques not covered last week this week next week Scoreboard Technique Review Allow for out of order execution

More information

Go BEARS~ What are Machine Structures? Lecture #15 Intro to Synchronous Digital Systems, State Elements I C

Go BEARS~ What are Machine Structures? Lecture #15 Intro to Synchronous Digital Systems, State Elements I C CS6C L5 Intro to SDS, State Elements I () inst.eecs.berkeley.edu/~cs6c CS6C : Machine Structures Lecture #5 Intro to Synchronous Digital Systems, State Elements I 28-7-6 Go BEARS~ Albert Chae, Instructor

More information

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, Sequencing ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2013 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Outlines Introduction Sequencing

More information

On the Rules of Low-Power Design

On the Rules of Low-Power Design On the Rules of Low-Power Design (and How to Break Them) Prof. Todd Austin Advanced Computer Architecture Lab University of Michigan austin@umich.edu Once upon a time 1 Rules of Low-Power Design P = acv

More information

CPE/EE 427, CPE 527 VLSI Design I Sequential Circuits. Sequencing

CPE/EE 427, CPE 527 VLSI Design I Sequential Circuits. Sequencing CPE/EE 427, CPE 527 VLSI esign I Sequential Circuits epartment of Electrical and Computer Engineering University of Alabama in Huntsville Aleksandar Milenkovic ( www.ece.uah.edu/~milenka ) Combinational

More information

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits Nov 26, 2002 John Wawrzynek Outline SR Latches and other storage elements Synchronizers Figures from Digital Design, John F. Wakerly

More information

EEC 581 Computer Architecture. Instruction Level Parallelism (3.4 & 3.5 Dynamic Scheduling)

EEC 581 Computer Architecture. Instruction Level Parallelism (3.4 & 3.5 Dynamic Scheduling) 1 EEC 581 Computer Architecture Instruction Level Parallelism (3.4 & 3.5 Dynamic Scheduling) Chansu Yu Electrical and Computer Engineering Cleveland State University Overview of Chap. 3 (again) Pipelined

More information

CS/ECE 250: Computer Architecture. Basics of Logic Design: ALU, Storage, Tristate. Benjamin Lee

CS/ECE 250: Computer Architecture. Basics of Logic Design: ALU, Storage, Tristate. Benjamin Lee CS/ECE 25: Computer Architecture Basics of Logic esign: ALU, Storage, Tristate Benjamin Lee Slides based on those from Alvin Lebeck, aniel, Andrew Hilton, Amir Roth, Gershon Kedem Homework #3 ue Mar 7,

More information

UC Berkeley CS61C : Machine Structures

UC Berkeley CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 21 State Elements : Circuits that Remember 2007-03-07 Mocha sipping TA Valerie Ishida inst.eecs.berkeley.edu/~cs61c-td 161 Exabytes

More information

Chapter 6. Flip-Flops and Simple Flip-Flop Applications

Chapter 6. Flip-Flops and Simple Flip-Flop Applications Chapter 6 Flip-Flops and Simple Flip-Flop Applications Basic bistable element It is a circuit having two stable conditions (states). It can be used to store binary symbols. J. C. Huang, 2004 Digital Logic

More information

Review C program: foo.c Compiler Assembly program: foo.s Assembler Object(mach lang module): foo.o. Lecture #14

Review C program: foo.c Compiler Assembly program: foo.s Assembler Object(mach lang module): foo.o. Lecture #14 CS61C L14 Introduction to Synchronous Digital Systems (1) inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #14 Introduction to Synchronous Digital Systems 2007-7-18 Scott Beamer, Instructor

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #14 Introduction to Synchronous Digital Systems 2007-7-18 Scott Beamer, Instructor CS61C L14 Introduction to Synchronous Digital Systems

More information

LOW POWER AND HIGH PERFORMANCE SHIFT REGISTERS USING PULSED LATCH TECHNIQUE

LOW POWER AND HIGH PERFORMANCE SHIFT REGISTERS USING PULSED LATCH TECHNIQUE OI: 10.21917/ijme.2018.0088 LOW POWER AN HIGH PERFORMANCE SHIFT REGISTERS USING PULSE LATCH TECHNIUE Vandana Niranjan epartment of Electronics and Communication Engineering, Indira Gandhi elhi Technical

More information

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques Madhavi Anupoju 1, M. Sunil Prakash 2 1 M.Tech (VLSI) Student, Department of Electronics & Communication Engineering, MVGR

More information

Tomasulo Algorithm. Developed at IBM and first implemented in IBM s 360/91

Tomasulo Algorithm. Developed at IBM and first implemented in IBM s 360/91 Tomasulo Algorithm Developed at IBM and first implemented in IBM s 360/91 IBM wanted to use the existing compiler instead of a specialized compiler for high end machines. Tracks when operands are available

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 28: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Registers and Counters CprE 28: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev

More information

Dynamic Scheduling. Differences between Tomasulo. Tomasulo Algorithm. CDC 6600 scoreboard. Or ydanicm ceshuldngi

Dynamic Scheduling. Differences between Tomasulo. Tomasulo Algorithm. CDC 6600 scoreboard. Or ydanicm ceshuldngi Dynamic Scheduling (or out-of-order execution) Dynamic Scheduling Or ydanicm ceshuldngi CDC 6600 scoreboard Instruction storage added to each functional execution unit Instructions issue to FU when no

More information

1. Convert the decimal number to binary, octal, and hexadecimal.

1. Convert the decimal number to binary, octal, and hexadecimal. 1. Convert the decimal number 435.64 to binary, octal, and hexadecimal. 2. Part A. Convert the circuit below into NAND gates. Insert or remove inverters as necessary. Part B. What is the propagation delay

More information

Lab #10 Hexadecimal-to-Seven-Segment Decoder, 4-bit Adder-Subtractor and Shift Register. Fall 2017

Lab #10 Hexadecimal-to-Seven-Segment Decoder, 4-bit Adder-Subtractor and Shift Register. Fall 2017 University of Texas at El Paso Electrical and Computer Engineering Department EE 2169 Laboratory for Digital Systems Design I Lab #10 Hexadecimal-to-Seven-Segment Decoder, 4-bit Adder-Subtractor and Shift

More information

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz CSE140L: Components and Design Techniques for Digital Systems Lab CPU design and PLDs Tajana Simunic Rosing Source: Vahid, Katz 1 Lab #3 due Lab #4 CPU design Today: CPU design - lab overview PLDs Updates

More information

CSE115: Digital Design Lecture 23: Latches & Flip-Flops

CSE115: Digital Design Lecture 23: Latches & Flip-Flops Faculty of Engineering CSE115: Digital Design Lecture 23: Latches & Flip-Flops Sections 7.1-7.2 Suggested Reading A Generic Digital Processor Building Blocks for Digital Architectures INPUT - OUTPUT Interconnect:

More information

Sequential Logic. Introduction to Computer Yung-Yu Chuang

Sequential Logic. Introduction to Computer Yung-Yu Chuang Sequential Logic Introduction to Computer Yung-Yu Chuang with slides by Sedgewick & Wayne (introcs.cs.princeton.edu), Nisan & Schocken (www.nand2tetris.org) and Harris & Harris (DDCA) Review of Combinational

More information

Registers. Unit 12 Registers and Counters. Registers (D Flip-Flop based) Register Transfers (example not out of text) Accumulator Registers

Registers. Unit 12 Registers and Counters. Registers (D Flip-Flop based) Register Transfers (example not out of text) Accumulator Registers Unit 2 Registers and Counters Fundamentals of Logic esign EE2369 Prof. Eric Maconald Fall Semester 23 Registers Groups of flip-flops Can contain data format can be unsigned, 2 s complement and other more

More information

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 29 Minimizing Switched Capacitance-III. (Refer

More information

Computer Architecture Spring 2016

Computer Architecture Spring 2016 Computer Architecture Spring 2016 Lecture 12: Dynamic Scheduling: Tomasulo s Algorithm Shuai Wang Department of Computer Science and Technology Nanjing University [Slides adapted from CS252, UC Berkeley

More information

DYNAMIC INSTRUCTION SCHEDULING WITH TOMASULO

DYNAMIC INSTRUCTION SCHEDULING WITH TOMASULO DYNAMIC INSTRUCTION SCHEDULING WITH TOMASULO Slides by: Pedro Tomás Additional reading: Computer Architecture: A Quantitative Approach, 5th edition, Chapter 3, John L. Hennessy and David A. Patterson,

More information

Chapter 3 Instruction-Level Parallelism and its Exploitation (Part 1)

Chapter 3 Instruction-Level Parallelism and its Exploitation (Part 1) Chapter 3 Instruction-Level Parallelism and its Exploitation (Part 1) ILP vs. Parallel Computers Dynamic Scheduling (Section 3.4, 3.5) Dynamic Branch Prediction (Section 3.3) Hardware Speculation and Precise

More information

Out-of-Order Execution

Out-of-Order Execution 1 Out-of-Order Execution Several implementations out-of-order completion CDC 6600 with scoreboarding IBM 360/91 with Tomasulo s algorithm & reservation stations out-of-order completion leads to: imprecise

More information

EECS150 - Digital Design Lecture 3 - Timing

EECS150 - Digital Design Lecture 3 - Timing EECS150 - Digital Design Lecture 3 - Timing September 3, 2002 John Wawrzynek Fall 2002 EECS150 - Lec03-Timing Page 1 Outline Finish up from lecture 2 General Model of Synchronous Systems Performance Limits

More information

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review September 1, 2011 Elad Alon Electrical Engineering and Computer Sciences University of California, Berkeley http://www-inst.eecs.berkeley.edu/~cs150

More information

Using minterms, m-notation / decimal notation Sum = Cout = Using maxterms, M-notation Sum = Cout =

Using minterms, m-notation / decimal notation Sum = Cout = Using maxterms, M-notation Sum = Cout = 1 Review of Digital Logic Design Fundamentals Logic circuits: 1. Combinational Logic: No memory, present output depends only on the present input 2. Sequential Logic: Has memory, present output depends

More information

Unit 11. Latches and Flip-Flops

Unit 11. Latches and Flip-Flops Unit 11 Latches and Flip-Flops 1 Combinational Circuits A combinational circuit consists of logic gates whose outputs, at any time, are determined by combining the values of the inputs. For n input variables,

More information

Lab 2: Hardware/Software Co-design with the Wimp51

Lab 2: Hardware/Software Co-design with the Wimp51 Lab 2: Hardware/Software Co-design with the Wimp51 CpE 214: Digital Engineering Lab II Last revised: February 26, 2013 (CAC) Hardware software co-design, now standard in industry, is an approach that brings

More information

VARIABLE FREQUENCY CLOCKING HARDWARE

VARIABLE FREQUENCY CLOCKING HARDWARE VARIABLE FREQUENCY CLOCKING HARDWARE Variable-Frequency Clocking Hardware Many complex digital systems have components clocked at different frequencies Reason 1: to reduce power dissipation The active

More information

TSIU03, SYSTEM DESIGN. How to Describe a HW Circuit

TSIU03, SYSTEM DESIGN. How to Describe a HW Circuit TSIU03 TSIU03, SYSTEM DESIGN How to Describe a HW Circuit Sometimes it is difficult for students to describe a hardware circuit. This document shows how to do it in order to present all the relevant information

More information

Administrative issues. Sequential logic

Administrative issues. Sequential logic Administrative issues Midterm #1 will be given Tuesday, October 29, at 9:30am. The entire class period (75 minutes) will be used. Open book, open notes. DDPP sections: 2.1 2.6, 2.10 2.13, 3.1 3.4, 3.7,

More information

Logic Design II (17.342) Spring Lecture Outline

Logic Design II (17.342) Spring Lecture Outline Logic Design II (17.342) Spring 2012 Lecture Outline Class # 03 February 09, 2012 Dohn Bowden 1 Today s Lecture Registers and Counters Chapter 12 2 Course Admin 3 Administrative Admin for tonight Syllabus

More information

Digital Logic & Computer Design CS Professor Dan Moldovan Spring Chapter 3 :: Sequential Logic Design

Digital Logic & Computer Design CS Professor Dan Moldovan Spring Chapter 3 :: Sequential Logic Design igital Logic & Computer esign CS 4341 Professor an Moldovan Spring 21 Copyright 27 Elsevier 3- Chapter 3 :: Sequential Logic esign igital esign and Computer Architecture avid Money Harris and Sarah

More information

Sequential Circuit Design: Part 1

Sequential Circuit Design: Part 1 Sequential ircuit esign: Part 1 esign of memory elements Static latches Pseudo-static latches ynamic latches Timing parameters Two-phase clocking locked inverters Krish hakrabarty 1 Sequential Logic FFs

More information

Sequencing and Control

Sequencing and Control Sequencing and Control Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Spring, 2016 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Source:

More information

An Overview of FLEET CS-152

An Overview of FLEET CS-152 An Overview of FLEET S-152 FLEET Brainchild of Ivan Sutherland Fleshed out in collaboration with Berkeley graduate students A one-instruction, clockless processor Alternatively: an asynchronous transporttriggered

More information

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus Digital logic: ALUs Sequential logic circuits CS207, Fall 2004 October 11, 13, and 15, 2004 1 Read-only memory (ROM) A form of memory Contents fixed when circuit is created n input lines for 2 n addressable

More information

Counters

Counters Counters A counter is the most versatile and useful subsystems in the digital system. A counter driven by a clock can be used to count the number of clock cycles. Since clock pulses occur at known intervals,

More information

RAZOR: CIRCUIT-LEVEL CORRECTION OF TIMING ERRORS FOR LOW-POWER OPERATION

RAZOR: CIRCUIT-LEVEL CORRECTION OF TIMING ERRORS FOR LOW-POWER OPERATION RAZOR: CIRCUIT-LEVEL CORRECTION OF TIMING ERRORS FOR LOW-POWER OPERATION Shohaib Aboobacker TU München 22 nd March 2011 Based on Razor: A Low-Power Pipeline Based on Circuit-Level Timing Speculation Dan

More information

Counter dan Register

Counter dan Register Counter dan Register Introduction Circuits for counting events are frequently used in computers and other digital systems. Since a counter circuit must remember its past states, it has to possess memory.

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 28: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Registers and Counters CprE 28: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev

More information

Fundamentals of Computer Systems

Fundamentals of Computer Systems Fundamentals of Computer Systems Sequential Logic Stephen A. Edwards Columbia University Summer 2016 State-Holding Elements Bistable Elements S Latch Latch Positive-Edge-Triggered Flip-Flop Flip-Flop with

More information

COMP2611: Computer Organization. Introduction to Digital Logic

COMP2611: Computer Organization. Introduction to Digital Logic 1 COMP2611: Computer Organization Sequential Logic Time 2 Till now, we have essentially ignored the issue of time. We assume digital circuits: Perform their computations instantaneously Stateless: once

More information

Combinational vs Sequential

Combinational vs Sequential Combinational vs Sequential inputs X Combinational Circuits outputs Z A combinational circuit: At any time, outputs depends only on inputs Changing inputs changes outputs No regard for previous inputs

More information

EITF35: Introduction to Structured VLSI Design

EITF35: Introduction to Structured VLSI Design EITF35: Introduction to Structured VLSI Design Part 4.2.1: Learn More Liang Liu liang.liu@eit.lth.se 1 Outline Crossing clock domain Reset, synchronous or asynchronous? 2 Why two DFFs? 3 Crossing clock

More information

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers equential logic equential circuits simple circuits with feedback latches edge-triggered flip-flops Timing methodologies cascading flip-flops for proper operation clock skew Basic registers shift registers

More information

Control Unit. Arturo Díaz-Pérez Departamento de Computación Laboratorio de Tecnologías de Información CINVESTAV-IPN

Control Unit. Arturo Díaz-Pérez Departamento de Computación Laboratorio de Tecnologías de Información CINVESTAV-IPN Control Unit Arturo Díaz-Pérez Departamento de Computación Laboratorio de Tecnologías de Información CINVESTAV-IPN Large Digital Systems In both combinational and sequential circuit design: small circuits

More information

Multiplexor (aka MUX) An example, yet VERY useful circuit!

Multiplexor (aka MUX) An example, yet VERY useful circuit! Multiplexor (aka MUX) An example, yet VERY useful circuit! A B 0 1 Y S A B Y 0 0 x 0 0 1 x 1 1 x 0 0 1 x 1 1 S=1 S=0 Y = (S)? B:A; Y=S A+SB when S = 0: output A 1: output B 56 A 32-bit MUX Use 32 1-bit

More information

PROCESSOR BASED TIMING SIGNAL GENERATOR FOR RADAR AND SENSOR APPLICATIONS

PROCESSOR BASED TIMING SIGNAL GENERATOR FOR RADAR AND SENSOR APPLICATIONS PROCESSOR BASED TIMING SIGNAL GENERATOR FOR RADAR AND SENSOR APPLICATIONS Application Note ABSTRACT... 3 KEYWORDS... 3 I. INTRODUCTION... 4 II. TIMING SIGNALS USAGE AND APPLICATION... 5 III. FEATURES AND

More information