Building the Beta. Handouts: Lecture Slides, PS 7, Lab 6. I wonder where this goes? Spring /5/01. L15- Building the Beta 1 A B
|
|
- Austen Fox
- 6 years ago
- Views:
Transcription
1 Building the Beta I wonder where this goes? B LU Beta Kit 0 1 Instruction Handouts: Lecture Slides, PS 7, Lab 6 L15- Building the Beta 1
2 CPU esign Tradeoffs Maximum Performance: measured by the numbers of instructions executed per second Minimum Cost : measured by the size of the circuit. Best Performance/Price: measured by the ratio of MIPS to size. In power-sensitive applications MIPS/Watt is important too. L15- Building the Beta 2
3 Performance Measure Millions of Instructions per Second MIPS = Clock Frequency (MHz) C.P.I. Clocks per instruction PUSHING PERFORMNCE... TOY: 1 cycle/inst. NEXT TIME: more MHz via pipelining NEXT NEXT TIME: fixing various pipelining issues L15- Building the Beta 3
4 The Beta IS OPCOE 10x x x x Rc Ra Rb (unused) Operate class: Reg[Rc] Reg[Ra] op Reg[Rb] 1 1 xxxx Rc Ra literal C (signed) 01x x x x Operate class: Reg[Rc] Reg[Ra] op SXT(C) Opcodes, both formats: SUB MUL* IV* *optional CMPEQ CMPLE CMPLT N OR XOR SHL SHR SR Rc Ra literal C (signed) Instruction Instruction classes classes distinguished distinguished by by OPCOE: OPCOE: OP OP OPC OPC MEM MEM Transfer Transfer of of Control Control L: ST: JMP: BEQ: BNE: LR: Reg[Rc] Mem[Reg[Ra]+SXT(C)] Mem[Reg[Ra]+SXT(C)] Reg[Rc] Reg[Rc] PC+4; PC Reg[Ra] Reg[Rc] PC+4; if Reg[Ra]=0 then PC PC+4+4*SXT(C) Reg[Rc] PC+4; if Reg[Ra] 0 then PC PC+4+4*SXT(C) Reg[Rc] Mem[PC *SXT(C)] L15- Building the Beta 4
5 pproach: Incremental Featurism Each instruction class can be implemented using a simple component repertoire. We ll try implementing data paths for each class individually, and merge them (using MUXes, etc). Steps: 1. Operate instructions 2. Load & Store Instructions 3. Jump & Branch instructions 4. Exceptions 5. Merge data paths Our Bag of Components: Registers 0 1 Muxes LU B Black box LU R1 R2 W WE W Register File (3-port) Instruction W R R/W ata R1 R2 Memories L15- Building the Beta 5
6 Multi-Port Register Files ite Port (independent Read addresses) 5 5 dest clk EN EN EN EN ite ddress ite Enable ite ata 5 32 W WE W R1 R2 Register File (3-port) asel bsel CLK R1 R Read Port Read Port B (Independent Read ata) EN s combinational RE ports*, 1 clocked WRITE port clk Q *internal logic ensures Reg[31] reads as 0 Q L15- Building the Beta 6
7 Register File Timing 2 combinational RE ports, 1 clocked WRITE port R R Reg[] new Reg[] t P t P CLK WE W W new Reg[] What if (say) W=R1??? R1 reads old value of Reg[R1] until next clock edge! t S t h L15- Building the Beta 7
8 Starting point: LU Ops 32-bit (4-byte) instruction: OpCode Rc Ra Rb (unused) Means, to BET, Reg[R4] Reg[R2] + Reg[R3] First, we ll need hardware to: Read next 32-bit instruction ECOE instruction:, SUB, XOR, etc RE operands (Ra, Rb) from Register File; PERFORM indicated operation; WRITE result back into Register File (Rc). L15- Building the Beta 8
9 Instruction Fetch/ecode Use a counter to FETCH the next instruction: PROGRM COUNTER (PC) PC Instruction 32 OPCOE <31:26> Control Logic INSTRUCTION WOR FIELS use PC as memory address add 4 to PC, load new value at end of cycle fetch instruction from memory º use some instruction fields directly (register numbers, 16-bit constant) º use bits <31:26> to generate controls CONTROL SIGNLS L15- Building the Beta 9
10 LU Op ata Path PC 00 10XXXX Rc Ra Rb unused Instruction OP: Reg[Rc] Reg[Ra] op Reg[Rb] +4 Ra: <20:16> Rb: <15:11> W R1 R1 Register File R2 R2 W WE Control Logic LUFN LU B! LUFN 32 L15- Building the Beta 10
11 LU Operations (w/constant) 11XXXX Rc Ra literal C (signed) PC OPC: Reg[Rc] Reg[Ra] op SXT(C) Instruction Ra: <20:16> Rb: <15:11> R1 W W R1 Register File R2 R2 W WE C: SXT(<15:0>) 32 Control Logic 1 0 LUFN LU B LUFN L15- Building the Beta 11
12 Load Instruction Rc Ra literal C (signed) PC 00 L: Reg[Rc] Mem[Reg[Ra]+SXT(C)] Instruction +4 Ra: <20:16> Rb: <15:11> R1 W W R1 Register File R2 R2 W WE C: SXT(<15:0>) Control Logic 1 0 WSEL LUFN LUFN LU B 32 ata dr R W R/W WSEL L15- Building the Beta 12
13 Store Instruction PC 00 Instruction ST: Rc Ra literal C (signed) Mem[Reg[Ra]+SXT(C)] Reg[Rc] +4 Ra: <20:16> Rb: <15:11> 0 1 R2SEL R1 W W R1 Register File R2 R2 W WE C: SXT(<15:0>) Control Logic R2SEL WSEL LUFN LUFN LU B ata dr R W R/W WSEL L15- Building the Beta 13
14 JMP Instruction JT PCSEL Rc Ra literal C (signed) PC 00 JMP: Reg[Rc] PC+4; PC Reg[Ra] Instruction +4 Ra: <20:16> Rb: <15:11> 0 1 R2SEL R1 W W R1 Register File R2 R2 W WE C: SXT(<15:0>) JT Control Logic 1 0 PCSEL R2SEL WSEL LUFN LUFN LU B ata dr R W R/W PC WSEL L15- Building the Beta 14
15 BEQ/BNE Instructions JT Rc Ra literal C (signed) PCSEL BEQ: Reg[Rc] PC+4; if Reg[Ra]=0 then PC PC+4+4*SXT(C) PC 00 Instruction BNE: Rc Ra literal C (signed) Reg[Rc] PC+4; if Reg[Ra] 0 then PC PC+4+4*SXT(C) +4 PC+4+4*SXT(C) + 4*SXT(<15:0>) Ra: <20:16> Z R1 W W R1 Rb: <15:11> JT Register File 0 1 R2 R2 R2SEL W WE No! Z C: SXT(<15:0>) 1 0 Control Logic PCSEL R2SEL WSEL LUFN LUFN LU B ata dr R W R/W PC WSEL L15- Building the Beta 15
16 Load Relative Instruction LR: Rc Ra literal C (signed) Reg[Rc] Mem[PC *SXT(C)] Hey, WIT MINUTE. What s Load Relative good for anyway??? I thought Code is PURE, i.e. RE-ONLY; and stored in a PROGRM region of memory; ata is RE-WRITE, and stored either On the STCK (local); or In some GLOBL VRIBLE region; or In a global storage HEP. So why an instruction designed to load data that s near the instruction??? ddresses & other large constants C: C: X X = = X X * * ; ; BET: BET: L(X, L(X, r0) r0) LR(c1, LR(c1, r1) r1) MUL(r0, MUL(r0, r1, r1, r0) r0) ST(r0, ST(r0, X) X) c1: c1: LONG(123456) LONG(123456) L15- Building the Beta 16
17 LR Instruction JT PCSEL Rc Ra literal C (signed) PC IF 00 LR: Reg[Rc] Mem[PC *SXT(C)] Instruction +4 + PC+4+4*SXT(C) Z Control Logic Ra: <20:16> Z C:SXT( <15:0>) R1 W W SEL 1 0 R1 JT Rb: <15:11> Register File R2 R2 0 R2SEL W WE PCSEL R2SEL SEL WSEL LUFN LUFN LU B ata dr R W R/W PC WSEL L15- Building the Beta 17
18 Exception Processing We d like RECOVERBLE INTERRUPTS for FULTS (eg, Illegal Instruction) - CPU or SYSTEM generated [synchronous] TRPS & system calls (eg, read-a-character) - CPU generated [synchronous] I/O events (eg, key struck) - externally generated [asynchronous] GOL: Interrupt running program, invoke exception handler (like a procedure call), return to continue execution. KEY: TRNSPRENCY to interrupted program. Most difficult for asynchronous interrupts L15- Building the Beta 18
19 Implementation IMPLEMENTTION: FORCE procedure call: new PC, save old PC for return. but WHERE to save old PC? Use LP? don t execute current instruction PPROCH: nother reserved register, XP (aka R30). Why can t interrupted program use XP? Example: IV unimplemented L(R31,,R0) L(R31,B,R1) IV(R0,R1,R2) ST(R2,C,R31) Forced by hardware IllOp: PUSH(XP) Fetch inst. at Mem[Reg[XP] 4] check for IV opcode, get reg numbers perform operation in SW, fill result reg POP(XP) JMP(XP) L15- Building the Beta 19
20 Xdr ILL OP JT Exceptions PCSEL PC Bad Opcode: Reg[XP] PC+4; PC IllOp 00 Other: Reg[XP] PC+4; PC Xadr 0 Instruction +4 + PC+4+4*SXT(C) IRQ Z Control Logic XP 1 0 Ra: <20:16> WSEL Z C: SXT(<15:0>) W W SEL 1 0 R1 R1 JT Rb: <15:11> Register File R2 R2 0 R2SEL W WE PCSEL R2SEL SEL WSEL LUFN WSEL LUFN PC+4 LU B ata dr R W R/W WSEL L15- Building the Beta 20
21 Control Logic OP OPC L ST JMP BEQ BNE LR Illop trap LUFN F(op) F(op) WSEL WR R2SEL 0 1 PCSEL Z? 1 : 0 Z? 0 : SEL WSEL Implementation choices: ROM indexed by opcode, external branch & trap logic PL random logic (eg, standard cell gates) L15- Building the Beta 21
22 Beta: Our Final nswer Xdr ILL OP JT PCSEL PC 00 Instruction +4 + PC+4+4*SXT(C) IRQ Z Control Logic XP 1 0 Ra: <20:16> WSEL Z C: SXT(<15:0>) W W SEL 1 0 R1 R1 JT Rb: <15:11> Register File R2 R2 0 R2SEL W WE PCSEL R2SEL SEL WSEL LUFN WSEL LUFN PC+4 LU B ata dr R W R/W WSEL L15- Building the Beta 22
23 Next Time: Pipelined Betas Hey, building a computer is not really all that difficult So let s run down to the lab and put Intel out of business! L15- Building the Beta 23
CPU Design Tradeoffs. Building the Beta. Performance Measure. The Beta ISA MIPS = C.P.I. Clock Frequency (MHz) PUSHING PERFORMANCE...
uilding the eta CPU esign Tradeoffs I wonder where this goes? Maximum Performance: measured by the numbers of instructions executed per second Minimum Cost : measured by the size of the circuit. Lab #5
More information13. Building the Beta
3. uilding the eta 6.4x Computation Structures Part 2 Computer rchitecture Copyright 25 MIT EECS 6.4 Computation Structures L3: uilding the eta, Slide # CPU esign Tradeoffs Maximum Performance: measured
More informationPipelining the Beta. I don t think they mean the fish...
Pipelining the Beta bet ta ('be-t&) n. ny of various species of small, brightly colored, long-finned freshwater fishes of the genus Betta, found in southeast sia. be ta ( b-t&, be-) n. 1. The second letter
More informationISTD 103 Computation Structures Prof. Tomas Lozano-Perez
ISTD 103 Computation Structures Prof. Tomas Lozano-Perez This file and its contents are provided under license from MIT and the named authors, under the terms of the MIT-SUTD Collaboration. The following
More informationPipeline Issues. This pipeline stuff makes my head hurt! Maybe it s that dumb hat. L17 Pipeline Issues Fall /5/02
Pipeline Issues This pipeline stuff makes my head hurt! Maybe it s that dumb hat L17 Pipeline Issues 1 Recalling Data Hazards PROLEM: Subsequent instructions can reference the contents of a register well
More information9. Programmable Machines
9. Programmable Machines 6.004x Computation Structures Part 2 Computer Architecture Copyright 2015 MIT EECS 6.004 Computation Structures L09: Programmable Machines, Slide #1 Example: Factorial factorial(n)
More information6.004 Computation Structures Spring 2009
MIT OpenCourseWare http://ocw.mit.edu 6.4 Computation Structures Spring 29 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. Pipelining the eta bet ta ('be-t&)
More informationDesigning an Instruction Set
Designing an Instruction Set Nerd Chef at work. move flour,bowl add milk,bowl add egg,bowl move bowl,mixer rotate mixer... WARD & HALSTEAD 6.004 NERD KIT Handouts: Lecture Slides, β docs L12 Instruction
More informationDesigning an Instruction Set
Designing an Instruction Set Lab 4 due today NEXT TUESDAY, /22! 6.4 Fall 22 /7/ L2 Instruction Set Let s Build a Simple Computer Data path for computing N*(N-) N A SEL B SEL A LE L.E. A B LE L.E. B * -
More informationindicates problems that have been selected for discussion in section, time permitting.
Page 1 of 11 Building the Beta indicates problems that have been selected for discussion in section, time permitting. Problem 1. Beta quickies: A. In an unpipelined Beta implementation, when is the signal
More informationANEXA la Cursul CN2_2 Procesorul RISC (Beta, fara banda de asamblare) (
ANEXA la Cursul CN2_2 Procesorul RISC (Beta, fara banda de asamblare) (http://6004.csail.mit.edu/) 1 2 3 // Beta PC logic module pc(clk,reset,pcsel,offset,jump_addr,branch_addr,pc,pc_plus_4); input clk;
More informationPipelined CPUs. Study Chapter 4 of Text. Where are the registers?
Pipelined CPUs Where are the registers? Study Chapter 4 of Text Second Quiz on Friday. Covers lectures 8-14. Open book, open note, no computers or calculators. L17 Pipelined CPU I 1 Review of CPU Performance
More information6.004 Computation Structures Spring 2009
MIT OpenCourseWare http://ocw.mit.edu 6.4 Computation Structures Spring 29 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. Designing an Instruction Set
More informationL19 Pipelined CPU I 1. Where are the registers? Study Chapter 6 of Text. Pipelined CPUs. Comp 411 Fall /07/07
Pipelined CPUs Where are the registers? Study Chapter 6 of Text L19 Pipelined CPU I 1 Review of CPU Performance MIPS = Millions of Instructions/Second MIPS = Freq CPI Freq = Clock Frequency, MHz CPI =
More informationD. Suppose the following code were running on a Beta implementation with a 5 -stage pipeline, full bypassing and 1 branch delay slot with annulment.
Page 1 of 18 Pipelined Beta indicates problems that have been selected for discussion in section, time permitting. Problem 1. Beta quickies. A. In a 5 -stage pipelined Beta, when does the hardware use
More informationMore CPU Pipelining Issues
More CPU Pipelining Issues What have you been beating your head against? This pipe stuff makes my head hurt! Important Stuff: Study Session for Problem Set 5 tomorrow night (11/11) 5:30-9:00pm Study Session
More information17. Virtualizing the Processor
17. Virtualizing the Processor 6.004x Computation Structures Part 3 Computer Organization Copyright 2016 MIT EECS 6.004 Computation Structures L17: Virtualizing the Processor, Slide #1 Recap: Virtual Memory
More informationComputation structures
Computation structures Pierre Wolper Email: Pierre.Wolper@ulg.ac.be URL: http: //www.montefiore.ulg.ac.be/~pw/ http: //www.montefiore.ulg.ac.be/ ~pw/cours/struct.html References Stephen A. Ward and Robert
More informationHardware Description Languages. Hardware Description Languages. Hardware Description Languages. Digital Design Using Verilog
4 3 2 0 + Z 0 If (done) $finish; Digital Design Using Verilog Hardware Description Languages always @(posedge clk) PCSEL Xdr OP ILL JT PC 00 +4 Instruction Memory D Ra: Rb: Rc: 0 R2SEL
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 informationCPU Design Steps. EECC550 - Shaaban
CPU Design Steps 1. Analyze instruction set operations using independent RTN => datapath requirements. 2. Select set of datapath components & establish clock methodology. 3. Assemble datapath meeting the
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 information6.004 Computation Structures Spring 2009
MIT OpenCourseWare http://ocw.mit.edu 6.004 Computation Structures Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. PCSEL ILL XAdr OP 4 3 JT
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 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 informationCh 5: Designing a Single Cycle Datapath
Ch 5: esigning a Single Cycle path Computer Systems Architecture CS 365 The Big Picture: Where are We Now? The Five Classic Components of a Computer Processor Control Memory path Input Output Today s Topic:
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 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 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 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 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 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 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 informationUC Berkeley CS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 25 CPU Design: Designing a Single-cycle CPU Lecturer SOE Dan Garcia www.cs.berkeley.edu/~ddgarcia T-Mobile s Wi-Fi / Cell phone
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 informationCS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #19 Designing a Single-Cycle CPU 27-7-26 Scott Beamer Instructor AI Focuses on Poker CS61C L19 CPU Design : Designing a Single-Cycle CPU
More informationECE170 Computer Architecture. Single Cycle Control. Review: 3b: Add & Subtract. Review: 3e: Store Operations. Review: 3d: Load Operations
ECE7 Computer Architecture Single Cycle Control Review: 3a: Overview of the Fetch Unit The common operations Fetch the : mem[] Update the program counter: Sequential Code: < + Branch and Jump: < something
More informationReview. N-bit adder-subtractor done using N 1- bit adders with XOR gates on input. Lecture #19 Designing a Single-Cycle CPU
CS6C L9 CPU Design : Designing a Single-Cycle CPU () insteecsberkeleyedu/~cs6c CS6C : Machine Structures Lecture #9 Designing a Single-Cycle CPU 27-7-26 Scott Beamer Instructor AI Focuses on Poker Review
More informationEECS150 - Digital Design Lecture 10- CPU Microarchitecture. Processor Microarchitecture Introduction
EECS150 - Digital Design Lecture 10- CPU Microarchitecture Feb 18, 2010 John Wawrzynek Spring 2010 EECS150 - Lec10-cpu Page 1 Processor Microarchitecture Introduction Microarchitecture: how to implement
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 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 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 informationProgrammable Control Logic
Programmable Control Logic Microsequencers Example: building the micro8 Hardware/Software tradeoff Lab #5 due Thursday, project abstract next Monday 1 Digital Systems = FSMs + Datapath FSM control Datapath:
More informationCS222: Processor Design
CS222: Processor Design Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati Processor Design building blocks Outline A simple implementation: Single Cycle Data pathandcontrol
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 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 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 informationEECS 151/251A Fall 2017 Digital Design and Integrated Circuits. Instructor: John Wawrzynek and Nicholas Weaver. Lecture 13 EE141
EECS 151/251A Fall 2017 Digital Design and Integrated Circuits Instructor: John Wawrzynek and Nicholas Weaver Lecture 13 Project Introduction You will design and optimize a RISC-V processor Phase 1: Design
More informationComputer Organization
Computer Organization! Computer design as an application of digital logic design procedures! Computer = processing unit + memory system! Processing unit = control + datapath! Control = finite state machine
More informationEECS Digital Design
EECS 150 -- Digital Design Lecture 11-- Processor Pipelining 2010-2-23 John Wawrzynek Today s lecture by John Lazzaro www-inst.eecs.berkeley.edu/~cs150 1 Today: Pipelining How to apply the performance
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 informationMIPS Pipelining. Computer Organization Architectures for Embedded Computing. Wednesday 8 October 14
MIPS Pipelining Computer Organization Architectures for Embedded Computing Wednesday 8 October 14 Many slides adapted from: Computer Organization and Design, Patterson & Hennessy 4th Edition, 2011, MK
More informationSingle Cycle Datapath
Single Cycle atapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili Section 4.1-4.4 Appendices B.3, B.7, B.8, B.11,.2 ing Note: Appendices A-E in the hardcopy text correspond to chapters 7-11 in
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 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 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 information6.004 Computation Structures Spring 2009
MIT OpenCourseWare http://ocw.mit.edu 6.004 Computation Structures Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. M A S S A C H U S E T T
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 informationCPU Pipelining Issues
CPU Pipelining Issues What have you been beating your head against? This pipe stuff makes my head hurt! Finishing up Chapter 6 L20 Pipeline Issues 1 Structural Data Hazard Consider LOADS: Can we fix all
More informationCPU Pipelining Issues
Spring 25 3/24 Lecture page 1 CPU Pipelining Issues What have you been beating your head against? This pipe stuff makes my head hurt! L17 Pipeline Issues 1 :J: T REG IRREG 4-Stage minimips
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 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 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 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 informationHow Computers Work Problem Set 2
Issued: December 7, 2000 How Computers Work Problem Set 2 Problem 1: Warm up Exercises to be done without collaboration. A. Fill in the values of the given control signals for the for the following Beta
More informationM A S S A C H U S E T T S I N S T I T U T E O F T E C H N O L O G Y DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
M A S S A C H U S E T T S I N S T I T U T E O F T E C H N O L O G Y DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE 6.004 Computation Structures Lab #5B Note: This lab has two parts, 5A and 5B.
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 informationComputer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories
Computer Organization Structure of a Computer Computer design as an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + Control = finite
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 informationEECS150 - Digital Design Lecture 9- CPU Microarchitecture. Watson: Jeopardy-playing Computer
EECS150 - Digital Design Lecture 9- CPU Microarchitecture Feb 15, 2011 John Wawrzynek Spring 2011 EECS150 - Lec09-cpu Page 1 Watson: Jeopardy-playing Computer Watson is made up of a cluster of ninety IBM
More informationCS 61C: Great Ideas in Computer Architecture. Lecture 13: Pipelining. Krste Asanović & Randy Katz
CS 61C: Great Ideas in Computer Architecture Lecture 13: Pipelining Krste Asanović & Randy Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 RISC-V Pipeline Pipeline Control Hazards Structural Data R-type
More informationConcocting an Instruction Set
Concocting an Instruction Set Nerd Chef at work. move flour,bowl add milk,bowl add egg,bowl move bowl,mixer rotate mixer... Read: Chapter 2.1-2.7 L03 Instruction Set 1 A General-Purpose Computer The von
More informationare Softw Instruction Set Architecture Microarchitecture are rdw
Program, Application Software Programming Language Compiler/Interpreter Operating System Instruction Set Architecture Hardware Microarchitecture Digital Logic Devices (transistors, etc.) Solid-State Physics
More informationTDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design
1 TDT4255 Computer Design Lecture 4 Magnus Jahre 2 Outline Chapter 4.1 to 4.4 A Multi-cycle Processor Appendix D 3 Chapter 4 The Processor Acknowledgement: Slides are adapted from Morgan Kaufmann companion
More informationCOMP 303 MIPS Processor Design Project 3: Simple Execution Loop
COMP 303 MIPS Processor Design Project 3: Simple Execution Loop Due date: November 20, 23:59 Overview: In the first three projects for COMP 303, you will design and implement a subset of the MIPS32 architecture
More informationDesigning a Multicycle Processor
Designing a Multicycle Processor Arquitectura de Computadoras Arturo Díaz D PérezP Centro de Investigación n y de Estudios Avanzados del IPN adiaz@cinvestav.mx Arquitectura de Computadoras Multicycle-
More informationCS 61C: Great Ideas in Computer Architecture (Machine Structures) Lecture 28: Single- Cycle CPU Datapath Control Part 1
CS 61C: Great Ideas in Computer Architecture (Machine Structures) Lecture 28: Single- Cycle CPU Datapath Control Part 1 Guest Lecturer: Sagar Karandikar hfp://inst.eecs.berkeley.edu/~cs61c/ http://research.microsoft.com/apps/pubs/default.aspx?id=212001!
More informationLecture 12: Single-Cycle Control Unit. Spring 2018 Jason Tang
Lecture 12: Single-Cycle Control Unit Spring 2018 Jason Tang 1 Topics Control unit design Single cycle processor Control unit circuit implementation 2 Computer Organization Computer Processor Memory Devices
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 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 informationEI338: Computer Systems and Engineering (Computer Architecture & Operating Systems)
EI338: Computer Systems and Engineering (Computer Architecture & Operating Systems) Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building
More 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 informationLecture 13: Multi-Cycle Control Unit. Spring 2018 Jason Tang
Lecture 13: Multi-Cycle Control Unit Spring 2018 Jason Tang 1 Topics Multi-cycle path Multi-cycle implementation Multi-cycle control 2 Single-Cycle path A single-cycle path has, by necessity multiple s,
More informationLaboratory 5 Processor Datapath
Laboratory 5 Processor Datapath Description of HW Instruction Set Architecture 16 bit data bus 8 bit address bus Starting address of every program = 0 (PC initialized to 0 by a reset to begin execution)
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 informationLecture 4: Instruction Set Architectures. Review: latency vs. throughput
Lecture 4: Instruction Set Architectures Last Time Performance analysis Amdahl s Law Performance equation Computer benchmarks Today Review of Amdahl s Law and Performance Equations Introduction to ISAs
More informationDepartment of Computer and IT Engineering University of Kurdistan. Computer Architecture Pipelining. By: Dr. Alireza Abdollahpouri
Department of Computer and IT Engineering University of Kurdistan Computer Architecture Pipelining By: Dr. Alireza Abdollahpouri Pipelined MIPS processor Any instruction set can be implemented in many
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 informationOutline of today s lecture. EEL-4713 Computer Architecture Designing a Multiple-Cycle Processor. What s wrong with our CPI=1 processor?
Outline of today s lecture EEL-7 Computer Architecture Designing a Multiple-Cycle Processor Recap and Introduction Introduction to the Concept of Multiple Cycle Processor Multiple Cycle Implementation
More informationCS3350B Computer Architecture Winter Lecture 5.7: Single-Cycle CPU: Datapath Control (Part 2)
CS335B Computer Architecture Winter 25 Lecture 5.7: Single-Cycle CPU: Datapath Control (Part 2) Marc Moreno Maza www.csd.uwo.ca/courses/cs335b [Adapted from lectures on Computer Organization and Design,
More informationinst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 18 CPU Design: The Single-Cycle I ! Nasty new windows vulnerability!
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 18 CPU Design: The Single-Cycle I CS61C L18 CPU Design: The Single-Cycle I (1)! 2010-07-21!!!Instructor Paul Pearce! Nasty new windows vulnerability!
More informationCS 61C: Great Ideas in Computer Architecture Datapath. Instructors: John Wawrzynek & Vladimir Stojanovic
CS 61C: Great Ideas in Computer Architecture Datapath Instructors: John Wawrzynek & Vladimir Stojanovic http://inst.eecs.berkeley.edu/~cs61c/fa15 1 Components of a Computer Processor Control Enable? Read/Write
More informationLecture 08: RISC-V Single-Cycle Implementa9on CSE 564 Computer Architecture Summer 2017
Lecture 08: RISC-V Single-Cycle Implementa9on CSE 564 Computer Architecture Summer 2017 Department of Computer Science and Engineering Yonghong Yan yan@oakland.edu www.secs.oakland.edu/~yan 1 Acknowledgements
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 informationComputer Architecture and Engineering CS152 Quiz #1 Wed, February 17th, 2016 Professor George Michelogiannakis Name: <ANSWER KEY>
Computer Architecture and Engineering CS152 Quiz #1 Wed, February 17th, 2016 Professor George Michelogiannakis Name: This is a closed book, closed notes exam. 80 Minutes. 18 pages Notes: Not
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 informationEEM 486: Computer Architecture. Lecture 3. Designing Single Cycle Control
EEM 48: Computer Architecture Lecture 3 Designing Single Cycle The Big Picture: Where are We Now? Processor Input path Output Lec 3.2 An Abstract View of the Implementation Ideal Address Net Address PC
More informationReview Questions. 1 The DRAM problem [5 points] Suggest a solution. 2 Big versus Little Endian Addressing [5 points]
Review Questions 1 The DRAM problem [5 points] Suggest a solution 2 Big versus Little Endian Addressing [5 points] Consider the 32-bit hexadecimal number 0x21d3ea7d. 1. What is the binary representation
More informationRISC Pipeline. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter 4.6
RISC Pipeline Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University See: P&H Chapter 4.6 A Processor memory inst register file alu PC +4 +4 new pc offset target imm control extend =? cmp
More informationInstruction Level Parallelism. ILP, Loop level Parallelism Dependences, Hazards Speculation, Branch prediction
Instruction Level Parallelism ILP, Loop level Parallelism Dependences, Hazards Speculation, Branch prediction Basic Block A straight line code sequence with no branches in except to the entry and no branches
More information