Single-Cycle Examples, Multi-Cycle Introduction
|
|
- Carol Collins
- 5 years ago
- Views:
Transcription
1 Single-Cycle Examples, ulti-cycle Introduction 1
2 Today s enu Single cycle examples Single cycle machines vs. multi-cycle machines Why multi-cycle? Comparative performance Physical and Logical Design of Datapath and Control icroprogramming 2
3 Example of Derived Control: AL Control Signals If we have 5 arithmetic operations And Or Add Subtract Set-on-less-than Need 3 bits to distinguish among them AL Control Input Function 000 And 001 Or 010 Add 110 Subtract 111 Set-on-less-than AL Control 3 AL 3
4 AL Control for Each Type of Instruction opcode rs rt rd shamt funct Opcode ALop Operation Function AL Action AL Control LW 00 load word add 010 SW 00 store word add 010 Branch equal 01 branch equal subtract 110 R-type 10 add add 010 R-type 10 subtract subtract 110 R-type 10 AND and 000 R-type 10 OR or 001 R-type 10 set-on-less-than set-on
5 AL Control for Each Type of Instruction opcode rs rt rd shamt funct Opcode ALop Operation Function AL Action AL Control LW 00 load word add 010 SW 00 store word add 010 Branch equal 01 branch equal subtract 110 R-type 10 add add 010 R-type 10 subtract subtract 110 R-type 10 AND and 000 R-type 10 OR or 001 R-type 10 set-on-less-than set-on ALop is an encoding created to distinguish LW/SW, Branch Equal, R-type It is derived from the instruction opcode through some decoding logic 5
6 apping Control Bits to Hardware Opcode ALop Operation Function AL Action AL Control LW 00 load word add 010 SW 00 store word add 010 Branch equal 01 branch equal subtract 110 Let s try a simple example: generate the AL control signals for the three instructions above In a high-level language, one could write if (ALop == 00){ } ALcontrol = 010; else if (ALop == 01){ } ALcontrol = 110; AL Control Input Function 000 And 001 Or 010 Add 110 Subtract 111 Set-on-less-than 6
7 apping Control Bits to Hardware (cont.) Opcode ALop Operation Function AL Action AL Control LW 00 load word add 010 SW 00 store word add 010 Branch equal 01 branch equal subtract 110 Hardware Description Language Input Truth Output Tables ALop[1,0]ALControl[2] if (ALop[1] == 0 & ALop[0] == 0){ } ALcontrol[2] = 0; ALcontrol[1] = 1; ALcontrol[0] = 0; else if (ALop[1] == 0 & ALop[0] == 1){ } ALcontrol[2] = 1; ALcontrol[1] = 1; ALcontrol[0] = 0; Input Output ALop[1,0] ALControl[1] Input Output ALop[1,0] ALControl[0]
8 apping Control Bits to Hardware (cont.) Opcode ALop Operation Function AL Action AL Control LW 00 load word add SW 00 store word add Branch equal 01 branch equal subtract Truth Tables Input Output Input Output Input Output ALop[1,0]ALControl[2] ALop[1,0] ALControl[1] ALop[1,0] ALControl[0] ALop[1] ALop[0] 1 0 ALcontrol[2] ALcontrol[1] ALcontrol[0] 8
9 Truth Table for the Full Set of AL Control Bits To optimize the control logic, identify Patterns that cannot occur (e.g. ALop = 11) Signals that are irrelevant for the function we want to compute The more don t care signals, the better the chance for optimal logic Don t care signals can be replaced by 0s or 1s as needed in the logic optimization process Note that: 11 is a pattern that cannot occur for ALop Thus, 01 can be replaced by 1, and 10 by 1x Function bits are ignored for I-type instructions (LW/SW, branch) For all other combinations not included in the previous truth table, the outputs are don t cares 9
10 Truth Table for the Full Set of AL Control Bits ALOp ALOp1 ALOp0 F5 Function code F4 F3 F2 F1 F0 AL Control How do we use ALOp bits and Function code bits to generate the AL control bits? ALOp Block of Logic Function Bits AL Control 10
11 When is AL Control Bit 2 == 1 Let s pick one bit of the output and examine it, closely ALOp ALOp1 ALOp0 F5 Function code F4 F3 F2 F1 F0 AL Control AL Control Bit 2 11
12 When is AL Control Bit 2 == 1 (cont.) ALOp ALOp1 ALOp0 F5 Function code F4 F3 F2 F1 F0 AL Control Operation Bit 2 is 1 when ALOp0 bit is 1 OR ALOp1 bit is 1 AND Function Code Bits F2 F1 F0 = 010 But if ALOp1 bit is 1 AND F2 F1 F0 = 11 OR 011, AL Control Bit 2 is and thus could be mapped to a 1 Hence: Operation Bit 2 is 1 when ALOp0 bit is 1 OR ALOp1 bit is 1 AND Function Code Bit F1 = 1 12
13 apping to Logic Gates Operation Bit 2 is 1 when ALOp0 bit is 1 OR ALOp1 bit is 1 and Function Code F1 = 1 ALOp ALOp 0 F3 ALOp 1 F1 AL Control Bit 2 F(5-0) F2 F1 F0 13
14 sing Don t Care Information ALOp ALOp1 ALOp0 F5 Function code F4 F3 F2 F1 F0 AL Control If you use don t cares on the inputs: make sure you propagate backwards! Do not use in a conflicting way for some other output! Sometimes, this is not worth the trouble 14
15 Repeat: When is AL Control Bit 1 == 1 ALOp ALOp1 ALOp0 F5 Function code F4 F3 F2 F1 F0 AL Control AL Control Bit 1 15
16 Truth Table for Full Set of AL Control Bits ALOp ALOp1 ALOp0 F5 Function code F4 F3 F2 F1 F0 AL Control Operation Bit 1 is 1 when ALOp1 bit is 0 OR Function Code Bits F3 F2 F0 = 000 or F2 F1 F0 = 010 AL Control Bit 1 sing the don t care information, Bit 1 is 1 when ALOp1 bit is 0 OR Function Code Bit F2 = 0 16
17 apping to Logic Gates Operation Bit 1 is 1 when ALOp1 bit is 0 OR Function Code Bit 2 (F2) is 0 ALOp F3 F(5-0) F2 F1 ALOp1 F2 AL Control Bit 1 F0 17
18 Repeat: When is AL Control Bit 0 == 1 Are we having fun yet? ALOp ALOp1 ALOp0 F5 Function code F4 F3 F2 F1 F0 AL Control AL Control Bit 0 18
19 Truth Table for Full Set of AL Control Bits ALOp ALOp1 ALOp0 F5 Function code F4 F3 F2 F1 F0 AL Control Operation Bit 0 is 1 when ALOp1 bit is 1 AND Function Code Bit 3 (F3) is 1 OR Function Code Bit 0 (F0) is 1 We have used the don t care information for Bit 0 AL Control Bit 0 19
20 apping to Logic Gates Operation Bit 0 is 1 when ALOp1 bit is 1 AND Function Code Bit 3 (F3) is 1 OR Function Code Bit 0 (F0) is 1 ALOp F3 F(5-0) F2 F1 F0 F3 F0 ALOp1 AL Control Bit 0 20
21 AL Control Logic ALOp Function Bits Block of Logic ALOp AL Control ALOp 0 F3 ALOp 1 F1 AL Control Bit 2 F(5-0) F2 F1 F0 F3 ALOp 1 ALOp 1 F2 AL Control Bit 1 AL Control Bit 0 21
22 Basic Datapath with Control for Our AL Current PC PC Instruction 4 Instr[15-11] Adder Instr[25-21] C O N T R O L Note we did not show logic for this one ALOp RegWrite Read Reg 1 Instr[20-16] Read Read Reg 2Data 1 Write Reg Write Data Read Data 2 ALSrc << 2 AL ADDER Zero PCSrc emwrite emtoreg Read data RegDst Instr[15-0] Sign extend Instr[15-0] AL Control emread We did this one. Function Field from Instruction 22
23 Basic Datapath with Control Current PC PC Instruction 4 Instr[15-11] Adder Instr[25-21] C O N T R O L ALOp RegWrite Read Reg 1 Instr[20-16] Read Read Reg 2Data 1 Write Reg Write Data Read Data 2 ALSrc << 2 AL ADDER Zero PCSrc emwrite emtoreg Read data RegDst Instr[15-0] Sign extend Instr[15-0] AL Control emread 23
24 Another Control Example: How to do PC Select? PC Instruction Current PC 4 Instr[15-11] Adder Instr[25-21] C O N T R O L ALOp << 2???? ADDER RegWrite Read Reg 1 Instr[20-16] Read Read Reg 2Data 1 Write Reg Write Data Read Data 2 ALSrc AL Zero PCSrc emwrite emtoreg Read data RegDst Instr[15-0] Sign extend Instr[15-0] AL Control emread 24
25 PC Select Current PC PC Instruction 4 Instr[15-11] Adder Instr[25-21] C O N T R O L ALOp Branch RegWrite Read Reg 1 Instr[20-16] Read Read Reg 2Data 1 Write Reg Write Data Read Data 2 ALSrc << 2 AL ADDER Zero PCSrc emwrite emtoreg Read data RegDst Instr[15-0] Sign extend 16 Instr[15-0] 32 AL Control emread 25
26 echanics: Implementing Jumps opcode address PC[31:28] address 0 0 Jump instruction contains 26 bit immediate field (address) When jump instruction executes, the new PC is constructed as follows: Top 4 bits of PC stay the same Jump instruction s address is appended to the top 4 bits of the PC Bottom two bits are set to zero 26
27 Jump Example Current Program counter is: 0x What s the new PC after the Jump instruction executes? Top four bits of PC are 0x2 ( ) Jump
28 How Datapaths Appear in Silicon: Pentium Integer ALs. Superscalar means here more than one AL. Floating point datapath. Pipelined means just what you would think here: it has pipeline registers to make it faster 28
29 How Datapaths Appear in Silicon: ALPHA Floating point unit Floating-point n nit Floating apper and Queue Instruction Data path Bus Interface nit emory Controller Integer nit (Left) Integer apper Integer Queue Data and Control Busses emory Controller Integer nit (right) 2 Integer units. Again, more than 1 due to superscalar execution model Instruction Cache BI Data Cache 29
30 How Datapaths Appear in Silicon: Power PC 30
31 Common Layout Style for These Things Roughly speaking: tall and skinny Pentium integer ALPHA float Pentium float ALPHA integer 31
32 Why Tall & Skinny : Bit-Slice Style ALs Logic dominated by wide busses (32, 64) of the operand bits Start with all the wires for all the operand bits 32
33 Why Tall & Skinny : Bit-Slice Style ALs Logic dominated by wide busses (32, 64) of the operand bits Start with all the wires for all the operand bits Then you hang logic along the busses in the other dimension etc Logic ops Barrel shifter Fast adder 33
34 Why Tall & Skinny : Bit-Slice Style ALs When computations get complex, deep in logic, you pipeline Start with all the wires for all the operand bits Then you hang logic along the busses in the other dimension If the computation is too deep as logic, you pipeline. Big example is floating point units. Pipeline stage Operation Operation Pipeline stage Operation Operation 34
35 Single Cycle Design Summary Datapath design First, make sure you have all the right stuff in the datapath ake sure you know all your ISA instructions, formats, opcodes, etc Lay out a basic, simple datapath, try your instructions You want to avoid being surprised later that you missed an essential unit Controlpath design ake sure you know all the control signals you need, and precisely what they do ake sure you know when you have a direct control signal (ie, it s in the instruction format itself) vs a derived control signal, that you need to create from a block of logic. ake sure you can actually build the derived signals Try your instructions, make sure your control works OK Do you need more units? Different units? The extra logic you will need is the stage management stuff for stalls, hazards, etc. 35
36 Typical Instruction Execution 1) Fetch instruction from memory 2) Decode instruction 3) If necessary, perform an AL operation 4) If memory access, perform load/store 5) Write results back to register file and increment the PC 36
37 Complete Single-cycle Datapath Current PC PC 4 Adder Instruction emory (RA) << 2 ADDER Instruction Register File Read Reg 1 Read Read Reg 2Data 1 Write Reg Write Data Read Data 2 Sign extend AL Zero Data emory (RA) Write Data Read data 37
38 Single Cycle Design Process 1. Go through each instruction type 2. Figure out the resources and data paths required How many adders for PC, operation, etc. How many ports to memory 3. Overlay requirements of all instructions Where two values need to get to one place, insert a multiplexor Keep track of required control 4. Design the control logic 5. You re done! Result: Easy to understand machine. Visual model of the ISA Only storage objects are architectural objects: emory, Register File, PC 38
39 What s Wrong with a Single-Cycle Implementation It was assumed that data flows through all parts of the datapath in ONE clock cycle From Register file to memory From emory to register file From PC to PC From Register File to Register File How long is a cycle AL 10 ns Register File 5 ns emory 10 ns Assume everything else takes zero time 39
40 Instruction Timings Instr Type Instrem RegRead AL Dataem Reg Write Total R-format ns Load ns Store ns Branch ns Jump ns PC Register File Read Reg 1 Read Read Reg 2Data 1 Write Reg Write Data Read Data 2 Sign extend AL Zero Data emory (RA) Write Data Read data 40
41 What s Wrong with a Single-Cycle Implementation Difficult to implement variable cycle clock sually run the clock at the SLOWEST speed This is called the critical path The critical path is the path through the system which limits performance What if we add a multiplier or divider? What if we add a floating point unit? FP (floating point) math can take a very long time 100 s of ns for multiply and divide Lots of techniques to reduce time - will cover later on How about breaking the machine into parts? 41
42 Cost of the Single Cycle Architecture Instr Class 1 Instr Class 2 Instr Class 3 Our Cycle Time (longest Instruction) ost of the time is wasted! 42
43 ulti-cycle Solution Idea: Let the FASTEST instruction determine clock period Instr Class 1 Instr Class 2 Instr Class 3 Takes 4 cycles Takes 2 cycles Less Wasted Time 43
44 ulti-cycle Reality We are going to go further than allowing the fastest instruction to determine rate We are going to break EVERY instruction up into phases R-class Load Branch Store 44
45 IPS Architecture Instruction Classes AL Load Store Branch Jump IF mem rd mem rd mem rd mem rd mem rd ID OF op code op code op code op code op code operands operands operands operands operands 1 or 2 reg rd 2 reg rd 2 reg rd 2 regs rd PC, (immd) immd immd PC, immd immd E op addr gen addr gen cond gen addr gen mem rd mem wr addr gen RS reg wr reg wr NI PC+4 PC+4 PC+4 if cond; update PC update PC 45
46 Note That Instruction decode and register read must be done for all classes of instructions PC+4 can be done right after fetch Address generation for Jump can be performed during the decode step The same adder can be shared among: Instruction fetch logic (PC = PC + 4) Address generation logic (Address = A + IR[15:0]) Branch target calculation (Next PC = (PC + 4) + IR[15:0]) AL operations (ALOutput = A + B) Same memory port can be used to access instructions and data 46
47 IPS Architecture Instruction Classes AL Load Store Branch Jump IF ID OF mem rd mem rd mem rd mem rd mem rd PC + 4 PC + 4 PC + 4 PC + 4 PC + 4 op code op code op code op code op code operands operands operands operands operands addr gen addr gen addr gen addr gen addr gen 1 or 2 reg rd 2 reg rd 2 reg rd 2 regs rd (immd) immd immd PC, immd E op addr gen addr gen cond gen update PC if cond update PC RS NI reg wr mem rd mem wr reg wr 47
48 Also Note We need more storage There are intermediate values between each phase Examples: Place to store instruction (Instruction Register) Place to store AL output Place to store branch target Place to store operands from RegFile This is storage NOT accessible from ISA 48
49 ultiple Cycle Implementation Datapath PC[31:28] 30 Shift left 2 Jump Address Target 32 emory PC Instruction Register Read Reg1 Read Read Reg2 Data 1 Write Reg Write Data Read Data 2 A B 4 Zero AL ALOut Write Data DR Sign Extend Shift left 2 49
50 Full Diagram of ulti-cycle achine Figure
51 Recall IPS Instruction Formats R-type Instructions op rs rt rd shamt funct Load or Store or 43 rs rt immediate (address) Branch rs rt immediate (address) Jump immediate (address) 51
52 Summary Single cycle implementations have to consider the worst case delay through the datapath to come-up with the cycle time. ulticycle implementations have the advantage of using a different number of cycles for executing each instruction. In general, the multicycle machine is better than the single cycle machine, but the actual execution time strongly depends on the workload. The most widely used machine implementation is neither single cycle, nor multicycle it s the pipelined implementation. We will walk through multicycle during the next lecture. 52
Lecture 10 Multi-Cycle Implementation
Lecture 10 ulti-cycle Implementation 1 Today s enu ulti-cycle machines Why multi-cycle? Comparative performance Physical and Logical Design of Datapath and Control icroprogramming 2 ulti-cycle Solution
More informationComputer and Information Sciences College / Computer Science Department The Processor: Datapath and Control
Computer and Information Sciences College / Computer Science Department The Processor: Datapath and Control Chapter 5 The Processor: Datapath and Control Big Picture: Where are We Now? Performance of a
More informationCENG 3420 Lecture 06: Datapath
CENG 342 Lecture 6: Datapath Bei Yu byu@cse.cuhk.edu.hk CENG342 L6. Spring 27 The Processor: Datapath & Control q We're ready to look at an implementation of the MIPS q Simplified to contain only: memory-reference
More informationELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 4: Datapath and Control
ELEC 52/62 Computer Architecture and Design Spring 217 Lecture 4: Datapath and Control Ujjwal Guin, Assistant Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849
More informationReview: Abstract Implementation View
Review: Abstract Implementation View Split memory (Harvard) model - single cycle operation Simplified to contain only the instructions: memory-reference instructions: lw, sw arithmetic-logical instructions:
More informationCENG 3420 Computer Organization and Design. Lecture 06: MIPS Processor - I. Bei Yu
CENG 342 Computer Organization and Design Lecture 6: MIPS Processor - I Bei Yu CEG342 L6. Spring 26 The Processor: Datapath & Control q We're ready to look at an implementation of the MIPS q Simplified
More informationMerging datapaths: (add,lw, sw)
COP 273 Winter 2012 1 - IPS datapath and control 2 ar., 2012 erging datapaths: (add,lw, sw) The datapaths that we saw last lecture considered each instruction in isolation. I drew only those elements that
More informationECE 313 Computer Organization Name SOLUTION EXAM 2 November 3, Floating Point 20 Points
ECE Computer Organization Name SOLTION EA November, This exam is open book and open notes. Credit for problems requiring calculation will be given only if you show your work.. Floating Point Points Translate
More informationProcessor (I) - datapath & control. Hwansoo Han
Processor (I) - datapath & control Hwansoo Han Introduction CPU performance factors Instruction count - Determined by ISA and compiler CPI and Cycle time - Determined by CPU hardware We will examine two
More informationLecture 5: The Processor
Lecture 5: The Processor CSCE 26 Computer Organization Instructor: Saraju P. ohanty, Ph. D. NOTE: The figures, text etc included in slides are borrowed from various books, websites, authors pages, and
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 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 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 informationProcessor Design CSCE Instructor: Saraju P. Mohanty, Ph. D. NOTE: The figures, text etc included in slides are borrowed
Lecture 3: General Purpose Processor Design CSCE 665 Advanced VLSI Systems Instructor: Saraju P. ohanty, Ph. D. NOTE: The figures, tet etc included in slides are borrowed from various books, websites,
More informationECE473 Computer Architecture and Organization. Processor: Combined Datapath
Computer Architecture and Organization Processor: Combined path Lecturer: Prof. Yifeng Zhu Fall, 2014 Portions of these slides are derived from: Dave Patterson CB 1 Where are we? Want to build a processor
More informationECE 313 Computer Organization EXAM 2 November 9, 2001
ECE 33 Computer Organization EA 2 November 9, 2 This exam is open book and open notes. You have 5 minutes. Credit for problems requiring calculation will be given only if you show your work. Choose and
More informationCOMPUTER ORGANIZATION AND DESIGN. The Hardware/Software Interface. Chapter 4. The Processor: A Based on P&H
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface Chapter 4 The Processor: A Based on P&H Introduction We will examine two MIPS implementations A simplified version A more realistic pipelined
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 informationCPE 335 Computer Organization. Basic MIPS Architecture Part I
CPE 335 Computer Organization Basic MIPS Architecture Part I Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s8/index.html CPE232 Basic MIPS Architecture
More informationChapter 4. The Processor. Computer Architecture and IC Design Lab
Chapter 4 The Processor Introduction CPU performance factors CPI Clock Cycle Time Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS
More informationECE232: Hardware Organization and Design
ECE232: Hardware Organization and Design Lecture 14: One Cycle MIPs Datapath Adapted from Computer Organization and Design, Patterson & Hennessy, UCB R-Format Instructions Read two register operands Perform
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 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 informationLecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1
Lecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1 Introduction Chapter 4.1 Chapter 4.2 Review: MIPS (RISC) Design Principles Simplicity favors regularity fixed size instructions small number
More informationThe Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
The Processor (1) Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3050: Theory on Computer Architectures, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu)
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 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 informationCOMP303 - Computer Architecture Lecture 10. Multi-Cycle Design & Exceptions
COP33 - Computer Architecture Lecture ulti-cycle Design & Exceptions Single Cycle Datapath We designed a processor that requires one cycle per instruction RegDst busw 32 Clk RegWr Rd ux imm6 Rt 5 5 Rs
More informationSystems Architecture
Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some or all figures from Computer Organization and Design: The Hardware/Software
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 informationComputer Science 141 Computing Hardware
Computer Science 4 Computing Hardware Fall 6 Harvard University Instructor: Prof. David Brooks dbrooks@eecs.harvard.edu Upcoming topics Mon, Nov th MIPS Basic Architecture (Part ) Wed, Nov th Basic Computer
More informationCO Computer Architecture and Programming Languages CAPL. Lecture 18 & 19
CO2-3224 Computer Architecture and Programming Languages CAPL Lecture 8 & 9 Dr. Kinga Lipskoch Fall 27 Single Cycle Disadvantages & Advantages Uses the clock cycle inefficiently the clock cycle must be
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 informationThe Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
The Processor: Datapath and Control Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Introduction CPU performance factors Instruction count Determined
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 informationCOMP303 Computer Architecture Lecture 9. Single Cycle Control
COMP33 Computer Architecture Lecture 9 Single Cycle Control A Single Cycle Datapath We have everything except control signals (underlined) RegDst busw Today s lecture will look at how to generate the control
More informationLecture Topics. Announcements. Today: Single-Cycle Processors (P&H ) Next: continued. Milestone #3 (due 2/9) Milestone #4 (due 2/23)
Lecture Topics Today: Single-Cycle Processors (P&H 4.1-4.4) Next: continued 1 Announcements Milestone #3 (due 2/9) Milestone #4 (due 2/23) Exam #1 (Wednesday, 2/15) 2 1 Exam #1 Wednesday, 2/15 (3:00-4:20
More informationChapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations
Chapter 4 The Processor Part I 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
More informationMark Redekopp and Gandhi Puvvada, All rights reserved. EE 357 Unit 15. Single-Cycle CPU Datapath and Control
EE 37 Unit Single-Cycle CPU path and Control CPU Organization Scope We will build a CPU to implement our subset of the MIPS ISA Memory Reference Instructions: Load Word (LW) Store Word (SW) Arithmetic
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 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 informationFull Datapath. CSCI 402: Computer Architectures. The Processor (2) 3/21/19. Fengguang Song Department of Computer & Information Science IUPUI
CSCI 42: Computer Architectures The Processor (2) Fengguang Song Department of Computer & Information Science IUPUI Full Datapath Branch Target Instruction Fetch Immediate 4 Today s Contents We have looked
More informationData paths for MIPS instructions
You are familiar with how MIPS programs step from one instruction to the next, and how branches can occur conditionally or unconditionally. We next examine the machine level representation of how MIPS
More informationCPU Organization (Design)
ISA Requirements CPU Organization (Design) Datapath Design: Capabilities & performance characteristics of principal Functional Units (FUs) needed by ISA instructions (e.g., Registers, ALU, Shifters, Logic
More informationLECTURE 5. Single-Cycle Datapath and Control
LECTURE 5 Single-Cycle Datapath and Control PROCESSORS In lecture 1, we reminded ourselves that the datapath and control are the two components that come together to be collectively known as the processor.
More informationThe Big Picture: Where are We Now? EEM 486: Computer Architecture. Lecture 3. Designing a Single Cycle Datapath
The Big Picture: Where are We Now? EEM 486: Computer Architecture Lecture 3 The Five Classic Components of a Computer Processor Input Control Memory Designing a Single Cycle path path Output Today s Topic:
More informationCS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014
CS COPTER ARCHITECTRE & ORGANIZATION SPRING DE : TA HOEWORK IV READ : i) Related portions of Chapter (except Sections. through.) ii) Related portions of Appendix A iii) Related portions of Appendix iv)
More informationChapter 5: The Processor: Datapath and Control
Chapter 5: The Processor: Datapath and Control Overview Logic Design Conventions Building a Datapath and Control Unit Different Implementations of MIPS instruction set A simple implementation of a processor
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 informationChapter 4. The Processor Designing the datapath
Chapter 4 The Processor Designing the datapath Introduction CPU performance determined by Instruction Count Clock Cycles per Instruction (CPI) and Cycle time Determined by Instruction Set Architecure (ISA)
More informationCC 311- Computer Architecture. The Processor - Control
CC 311- Computer Architecture The Processor - Control Control Unit Functions: Instruction code Control Unit Control Signals Select operations to be performed (ALU, read/write, etc.) Control data flow (multiplexor
More informationCOMPUTER ORGANIZATION AND DESIGN
COMPUTER ORGANIZATION AND DESIGN 5 Edition th The Hardware/Software Interface Chapter 4 The Processor 4.1 Introduction Introduction CPU performance factors Instruction count CPI and Cycle time Determined
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 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 informationMajor CPU Design Steps
Datapath Major CPU Design Steps. Analyze instruction set operations using independent RTN ISA => RTN => datapath requirements. This provides the the required datapath components and how they are connected
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 informationRISC Design: Multi-Cycle Implementation
RISC Design: Multi-Cycle Implementation Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology Bombay http://www.ee.iitb.ac.in/~viren/
More informationInf2C - Computer Systems Lecture Processor Design Single Cycle
Inf2C - Computer Systems Lecture 10-11 Processor Design Single Cycle Boris Grot School of Informatics University of Edinburgh Previous lectures Combinational circuits Combinations of gates (INV, AND, OR,
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 informationThe overall datapath for RT, lw,sw beq instrucution
Designing The Main Control Unit: Remember the three instruction classes {R-type, Memory, Branch}: a) R-type : Op rs rt rd shamt funct 1.src 2.src dest. 31-26 25-21 20-16 15-11 10-6 5-0 a) Memory : Op rs
More informationLets Build a Processor
Lets Build a Processor Almost ready to move into chapter 5 and start building a processor First, let s review Boolean Logic and build the ALU we ll need (Material from Appendix B) operation a 32 ALU result
More informationLECTURE 3: THE PROCESSOR
LECTURE 3: THE PROCESSOR Abridged version of Patterson & Hennessy (2013):Ch.4 Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU
More informationLecture 8: Control COS / ELE 375. Computer Architecture and Organization. Princeton University Fall Prof. David August
Lecture 8: Control COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 Datapath and Control Datapath The collection of state elements, computation elements,
More informationCS 152 Computer Architecture and Engineering Lecture 4 Pipelining
CS 152 Computer rchitecture and Engineering Lecture 4 Pipelining 2014-1-30 John Lazzaro (not a prof - John is always OK) T: Eric Love www-inst.eecs.berkeley.edu/~cs152/ Play: 1 otorola 68000 Next week
More informationCOMP303 - Computer Architecture Lecture 8. Designing a Single Cycle Datapath
COMP33 - Computer Architecture Lecture 8 Designing a Single Cycle Datapath The Big Picture The Five Classic Components of a Computer Processor Input Control Memory Datapath Output The Big Picture: The
More informationPipelined Datapath. One register file is enough
ipelined path The goal of pipelining is to allow multiple instructions execute at the same time We may need to perform several operations in a cycle Increment the and add s at the same time. Fetch one
More informationOutline. Combinational Element. State (Sequential) Element. Clocking Methodology. Input/Output of Elements
Outline ombinational Element ombinational & sequential logic Single-cycle PU ulti-cycle PU Examples of ombinational Elements State (Sequential) Element! "#$$$ #$$ #$$ #$ # & & ) *.// * - + #3, * + - locking
More informationLecture 6 Datapath and Controller
Lecture 6 Datapath and Controller Peng Liu liupeng@zju.edu.cn Windows Editor and Word Processing UltraEdit, EditPlus Gvim Linux or Mac IOS Emacs vi or vim Word Processing(Windows, Linux, and Mac IOS) LaTex
More informationRISC Processor Design
RISC Processor Design Single Cycle Implementation - MIPS Virendra Singh Indian Institute of Science Bangalore virendra@computer.org Lecture 13 SE-273: Processor Design Feb 07, 2011 SE-273@SERC 1 Courtesy:
More informationECS 154B Computer Architecture II Spring 2009
ECS 154B Computer Architecture II Spring 2009 Pipelining Datapath and Control 6.2-6.3 Partially adapted from slides by Mary Jane Irwin, Penn State And Kurtis Kredo, UCD Pipelined CPU Break execution into
More informationcomp 180 Lecture 25 Outline of Lecture The ALU Control Operation & Design The Datapath Control Operation & Design HKUST 1 Computer Science
Outline of Lecture The Control Operation & Design The Datapath Control Operation & Design HKST 1 Computer Science Control After the design of partial single IPS datapath, we need to add the control unit
More informationLecture 10: Simple Data Path
Lecture 10: Simple Data Path Course so far Performance comparisons Amdahl s law ISA function & principles What do bits mean? Computer math Today Take QUIZ 6 over P&H.1-, before 11:59pm today How do computers
More informationCSE 2021 Computer Organization. Hugh Chesser, CSEB 1012U W9-W
CSE 22 Computer Organization Hugh Chesser, CSEB 2U Agenda Topics:. Single Cycle Review (Sample Exam/Quiz Q) 2. ultiple cycle implementation Patterson: Section 4.5 Reminder: Quiz #2 Next Wednesday (November
More informationCS3350B Computer Architecture Winter 2015
CS3350B Computer Architecture Winter 2015 Lecture 5.5: Single-Cycle CPU Datapath Design Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design, Patterson
More informationECE 486/586. Computer Architecture. Lecture # 7
ECE 486/586 Computer Architecture Lecture # 7 Spring 2015 Portland State University Lecture Topics Instruction Set Principles Instruction Encoding Role of Compilers The MIPS Architecture Reference: Appendix
More informationﻪﺘﻓﺮﺸﻴﭘ ﺮﺗﻮﻴﭙﻣﺎﻛ يرﺎﻤﻌﻣ MIPS يرﺎﻤﻌﻣ data path and ontrol control
معماري كامپيوتر پيشرفته معماري MIPS data path and control abbasi@basu.ac.ir Topics Building a datapath support a subset of the MIPS-I instruction-set A single cycle processor datapath all instruction actions
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 informationCpE242 Computer Architecture and Engineering Designing a Single Cycle Datapath
CpE242 Computer Architecture and Engineering Designing a Single Cycle Datapath CPE 442 single-cycle datapath.1 Outline of Today s Lecture Recap and Introduction Where are we with respect to the BIG picture?
More informationSingle Cycle Datapath
Single Cycle atapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili Section 4.-4.4 Appendices B.7, B.8, B.,.2 Practice Problems:, 4, 6, 9 ing (2) Introduction We will examine two MIPS implementations
More informationENGN1640: Design of Computing Systems Topic 04: Single-Cycle Processor Design
ENGN64: Design of Computing Systems Topic 4: Single-Cycle Processor Design Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown University
More information361 datapath.1. Computer Architecture EECS 361 Lecture 8: Designing a Single Cycle Datapath
361 datapath.1 Computer Architecture EECS 361 Lecture 8: Designing a Single Cycle Datapath Outline of Today s Lecture Introduction Where are we with respect to the BIG picture? Questions and Administrative
More informationCS3350B Computer Architecture Quiz 3 March 15, 2018
CS3350B Computer Architecture Quiz 3 March 15, 2018 Student ID number: Student Last Name: Question 1.1 1.2 1.3 2.1 2.2 2.3 Total Marks The quiz consists of two exercises. The expected duration is 30 minutes.
More informationSystems Architecture I
Systems Architecture I Topics A Simple Implementation of MIPS * A Multicycle Implementation of MIPS ** *This lecture was derived from material in the text (sec. 5.1-5.3). **This lecture was derived from
More informationLecture 4: Review of MIPS. Instruction formats, impl. of control and datapath, pipelined impl.
Lecture 4: Review of MIPS Instruction formats, impl. of control and datapath, pipelined impl. 1 MIPS Instruction Types Data transfer: Load and store Integer arithmetic/logic Floating point arithmetic Control
More informationMIPS-Lite Single-Cycle Control
MIPS-Lite Single-Cycle Control COE68: Computer Organization and Architecture Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering Ryerson University Overview Single cycle
More informationCOMPUTER ORGANIZATION AND DESIGN
ARM COMPUTER ORGANIZATION AND DESIGN Edition The Hardware/Software Interface Chapter 4 The Processor Modified and extended by R.J. Leduc - 2016 To understand this chapter, you will need to understand some
More informationPipeline design. Mehran Rezaei
Pipeline design Mehran Rezaei How Can We Improve the Performance? Exec Time = IC * CPI * CCT Optimization IC CPI CCT Source Level * Compiler * * ISA * * Organization * * Technology * With Pipelining We
More informationCSE140: Components and Design Techniques for Digital Systems
CSE4: Components and Design Techniques for Digital Systems Tajana Simunic Rosing Announcements and Outline Check webct grades, make sure everything is there and is correct Pick up graded d homework at
More informationCOMPUTER 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 Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle
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 informationCS 61C: Great Ideas in Computer Architecture. MIPS CPU Datapath, Control Introduction
CS 61C: Great Ideas in Computer Architecture MIPS CPU Datapath, Control Introduction Instructor: Alan Christopher 7/28/214 Summer 214 -- Lecture #2 1 Review of Last Lecture Critical path constrains clock
More informationThe Processor: Datapath & Control
Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture The Processor: Datapath & Control Processor Design Step 3 Assemble Datapath Meeting Requirements Build the
More informationECE 154A Introduction to. Fall 2012
ECE 154A Introduction to Computer Architecture Fall 2012 Dmitri Strukov Lecture 10 Floating point review Pipelined design IEEE Floating Point Format single: 8 bits double: 11 bits single: 23 bits double:
More informationMath 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro
Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L09.1 Smith Spring 2008 MIPS
More informationECE260: Fundamentals of Computer Engineering
Datapath for a Simplified Processor James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy Introduction
More informationCSE 141 Computer Architecture Summer Session Lecture 3 ALU Part 2 Single Cycle CPU Part 1. Pramod V. Argade
CSE 141 Computer Architecture Summer Session 1 2004 Lecture 3 ALU Part 2 Single Cycle CPU Part 1 Pramod V. Argade Reading Assignment Announcements Chapter 5: The Processor: Datapath and Control, Sec. 5.3-5.4
More informationComputer and Information Sciences College / Computer Science Department Enhancing Performance with Pipelining
Computer and Information Sciences College / Computer Science Department Enhancing Performance with Pipelining Single-Cycle Design Problems Assuming fixed-period clock every instruction datapath uses one
More informationOutline. EEL-4713 Computer Architecture Designing a Single Cycle Datapath
Outline EEL-473 Computer Architecture Designing a Single Cycle path Introduction The steps of designing a processor path and timing for register-register operations path for logical operations with immediates
More informationEEC 483 Computer Organization
EEC 483 Compter Organization Chapter 4.4 A Simple Implementation Scheme Chans Y The Big Pictre The Five Classic Components of a Compter Processor Control emory Inpt path Otpt path & Control 2 path and
More informationIntroduction. Datapath Basics
Introduction CPU performance factors - Instruction count; determined by ISA and compiler - CPI and Cycle time; determined by CPU hardware 1 We will examine a simplified MIPS implementation in this course
More information