Single-Cycle Examples, Multi-Cycle Introduction

Size: px
Start display at page:

Download "Single-Cycle Examples, Multi-Cycle Introduction"

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 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 information

Computer 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 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 information

CENG 3420 Lecture 06: Datapath

CENG 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 information

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 4: Datapath and Control

ELEC 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 information

Review: Abstract Implementation View

Review: 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 information

CENG 3420 Computer Organization and Design. Lecture 06: MIPS Processor - I. Bei Yu

CENG 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 information

Merging datapaths: (add,lw, sw)

Merging 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 information

ECE 313 Computer Organization Name SOLUTION EXAM 2 November 3, Floating Point 20 Points

ECE 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 information

Processor (I) - datapath & control. Hwansoo Han

Processor (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 information

Lecture 5: The Processor

Lecture 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 information

Chapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor.

Chapter 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 information

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

COMPUTER 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 information

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

COMPUTER 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 information

Processor Design CSCE Instructor: Saraju P. Mohanty, Ph. D. NOTE: The figures, text etc included in slides are borrowed

Processor 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 information

ECE473 Computer Architecture and Organization. Processor: Combined Datapath

ECE473 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 information

ECE 313 Computer Organization EXAM 2 November 9, 2001

ECE 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 information

COMPUTER 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 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 information

Chapter 4 The Processor 1. Chapter 4A. The Processor

Chapter 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 information

CPE 335 Computer Organization. Basic MIPS Architecture Part I

CPE 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 information

Chapter 4. The Processor. Computer Architecture and IC Design Lab

Chapter 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 information

ECE232: Hardware Organization and Design

ECE232: 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 information

CSE Computer Architecture I Fall 2009 Lecture 13 In Class Notes and Problems October 6, 2009

CSE 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 information

ENE 334 Microprocessors

ENE 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 information

Lecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1

Lecture 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 information

The Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

The 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 information

Chapter 4. The Processor

Chapter 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 information

Chapter 4. The Processor

Chapter 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 information

COMP303 - Computer Architecture Lecture 10. Multi-Cycle Design & Exceptions

COMP303 - 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 information

Systems Architecture

Systems 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 information

ECE369. Chapter 5 ECE369

ECE369. 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 information

Computer Science 141 Computing Hardware

Computer 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 information

CO Computer Architecture and Programming Languages CAPL. Lecture 18 & 19

CO 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 information

The 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 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 information

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

The 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 information

Chapter 4. The Processor

Chapter 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 information

COMP303 Computer Architecture Lecture 9. Single Cycle Control

COMP303 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 information

Lecture Topics. Announcements. Today: Single-Cycle Processors (P&H ) Next: continued. Milestone #3 (due 2/9) Milestone #4 (due 2/23)

Lecture 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 information

Chapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations

Chapter 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 information

Mark Redekopp and Gandhi Puvvada, All rights reserved. EE 357 Unit 15. Single-Cycle CPU Datapath and Control

Mark 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 information

Chapter 4. The Processor

Chapter 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 information

The Processor: Datapath & Control

The 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 information

Full Datapath. CSCI 402: Computer Architectures. The Processor (2) 3/21/19. Fengguang Song Department of Computer & Information Science IUPUI

Full 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 information

Data paths for MIPS instructions

Data 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 information

CPU Organization (Design)

CPU 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 information

LECTURE 5. Single-Cycle Datapath and Control

LECTURE 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 information

The 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. 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 information

CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014

CS2214 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 information

Chapter 5: The Processor: Datapath and Control

Chapter 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 information

CPE 335. Basic MIPS Architecture Part II

CPE 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 information

Chapter 4. The Processor Designing the datapath

Chapter 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 information

CC 311- Computer Architecture. The Processor - Control

CC 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 information

COMPUTER ORGANIZATION AND DESIGN

COMPUTER 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 information

Lecture 7 Pipelining. Peng Liu.

Lecture 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 information

3/12/2014. Single Cycle (Review) CSE 2021: Computer Organization. Single Cycle with Jump. Multi-Cycle Implementation. Why Multi-Cycle?

3/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 information

Major CPU Design Steps

Major 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 information

CSCI 402: Computer Architectures. Fengguang Song Department of Computer & Information Science IUPUI. Today s Content

CSCI 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 information

RISC Design: Multi-Cycle Implementation

RISC 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 information

Inf2C - Computer Systems Lecture Processor Design Single Cycle

Inf2C - 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 information

Pipelining. CSC Friday, November 6, 2015

Pipelining. 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 information

The overall datapath for RT, lw,sw beq instrucution

The 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 information

Lets Build a Processor

Lets 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 information

LECTURE 3: THE PROCESSOR

LECTURE 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 information

Lecture 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 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 information

CS 152 Computer Architecture and Engineering Lecture 4 Pipelining

CS 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 information

COMP303 - Computer Architecture Lecture 8. Designing a Single Cycle Datapath

COMP303 - 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 information

Pipelined Datapath. One register file is enough

Pipelined 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 information

Outline. Combinational Element. State (Sequential) Element. Clocking Methodology. Input/Output of Elements

Outline. 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 information

Lecture 6 Datapath and Controller

Lecture 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 information

RISC Processor Design

RISC 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 information

ECS 154B Computer Architecture II Spring 2009

ECS 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 information

comp 180 Lecture 25 Outline of Lecture The ALU Control Operation & Design The Datapath Control Operation & Design HKUST 1 Computer Science

comp 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 information

Lecture 10: Simple Data Path

Lecture 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 information

CSE 2021 Computer Organization. Hugh Chesser, CSEB 1012U W9-W

CSE 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 information

CS3350B Computer Architecture Winter 2015

CS3350B 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 information

ECE 486/586. Computer Architecture. Lecture # 7

ECE 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 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 information

Implementing the Control. Simple Questions

Implementing 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 information

CpE242 Computer Architecture and Engineering Designing a Single Cycle Datapath

CpE242 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 information

Single Cycle Datapath

Single 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 information

ENGN1640: Design of Computing Systems Topic 04: Single-Cycle Processor Design

ENGN1640: 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 information

361 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 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 information

CS3350B Computer Architecture Quiz 3 March 15, 2018

CS3350B 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 information

Systems Architecture I

Systems 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 information

Lecture 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. 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 information

MIPS-Lite Single-Cycle Control

MIPS-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 information

COMPUTER ORGANIZATION AND DESIGN

COMPUTER 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 information

Pipeline design. Mehran Rezaei

Pipeline 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 information

CSE140: Components and Design Techniques for Digital Systems

CSE140: 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 information

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. 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 information

Multicycle Approach. Designing MIPS Processor

Multicycle 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 information

CS 61C: Great Ideas in Computer Architecture. MIPS CPU Datapath, Control Introduction

CS 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 information

The Processor: Datapath & Control

The 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 information

ECE 154A Introduction to. Fall 2012

ECE 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 information

Math 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro

Math 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 information

ECE260: Fundamentals of Computer Engineering

ECE260: 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 information

CSE 141 Computer Architecture Summer Session Lecture 3 ALU Part 2 Single Cycle CPU Part 1. Pramod V. Argade

CSE 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 information

Computer and Information Sciences College / Computer Science Department Enhancing Performance with Pipelining

Computer 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 information

Outline. EEL-4713 Computer Architecture Designing a Single Cycle Datapath

Outline. 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 information

EEC 483 Computer Organization

EEC 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 information

Introduction. Datapath Basics

Introduction. 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