Lecture 3: Single Cycle Microarchitecture. James C. Hoe Department of ECE Carnegie Mellon University
|
|
- Walter Dennis
- 6 years ago
- Views:
Transcription
1 8 447 Lecture 3: Single Cycle Microarchitecture James C. Hoe Department of ECE Carnegie Mellon University S8 L03 S, James C. Hoe, CMU/ECE/CALCM, 208
2 Your goal today Housekeeping first try at implementing the RV32I ISA Notices Handout #4: HW, due 2/7 Student survey on Canvas, past due Lab, Part A, due week of /29 Lab, Part B, due week of 2/5 ings P&H Ch 4.~4.4 finish P&H Ch 2 for next time S8 L03 S2, James C. Hoe, CMU/ECE/CALCM, 208
3 Processing FSM I S Next S O An ISA describes an abstract FSM state = program visible state next state logic = instruction execution Nice ISAs have atomic instruction semantics one state transition per instruction in abstract FSM The implementation FSM can look wildly different S8 L03 S3, James C. Hoe, CMU/ECE/CALCM, 208
4 Program Visible State (aka Architectural State) PC register register 2 Registers register 2 Reg Mem address Address Data Mem S8 L03 S4, James C. Hoe, CMU/ECE/CALCM, 208 **Based on original figure from [P&H CO&D, COPYRIGHT 2004 Elsevier. ALL RIGHTS RESERVED.]
5 Magic Memory and Register File Combinational output of the read port is a combinational function of the register file contents and the corresponding read select port Synchronous write the selected register (or location) is updated on the posedge clock transition when write enable is asserted Cannot affect read output in between clock edges S8 L03 S5, James C. Hoe, CMU/ECE/CALCM, 208
6 Simplifying Characteristics of RISC Simple operations 2 input, output arithmetic and logical operations few alternatives for accomplishing the same thing Simple movements ALU ops are register to register, never load store architecture, addressing mode Simple branches limited varieties of branch conditions and targets PC offset Simple instruction encoding all instructions encoded in the same number of bits simple, fixed formats S8 L03 S6, James C. Hoe, CMU/ECE/CALCM, 208 (RISC=Reduced Set Computer)
7 RISC Processing 5 generic steps instruction fetch instruction decode and operand fetch ALU/execute access (not required by non mem instructions) IF write back Data Register # PC Address Registers ALU Register # ID Register # EX WB Address Data Data MEM S8 L03 S7, James C. Hoe, CMU/ECE/CALCM, 208 **Based on original figure from [P&H CO&D, COPYRIGHT 2004 Elsevier. ALL RIGHTS RESERVED.]
8 Single Cycle Datapath for RV32I ALU s S8 L03 S8, James C. Hoe, CMU/ECE/CALCM, 208
9 Register Register ALU s Assembly (e.g., register register addition) ADD rd, rs, rs2 Machine encoding bit Semantics GPR[rd] GPR[rs] + GPR[rs2] PC PC + 4 Exceptions: none (ignore carry and overflow) Variations Arithmetic: {ADD, SUB} Compare: {signed, unsigned} x {Set if Less Than} Logical: {AND, OR, XOR} Shift: {Left, Right Logical, Right Arithmetic} S8 L03 S9, James C. Hoe, CMU/ECE/CALCM, 208 rs2 5 bit rs 5 bit bit rd 5 bit bit
10 ADD rd rs rs2 PC address register register 2 Registers register 2 Reg if MEM[PC] == ADD rd rs rs2 GPR[rd] GPR[rs] + GPR[rs2] PC PC S8 L03 S0, James C. Hoe, CMU/ECE/CALCM, 208 IF ID EX MEM WB Combinational state update logic
11 R Type ALU Datapath 4 Add func3, func7 PC address [9:5] [24:20] [:7] register register 2 Registers register 2 3 ALU operation Zero ALU ALU result Reg **Based on original figure from [P&H CO&D, COPYRIGHT 2004 Elsevier. ALL RIGHTS RESERVED.] S8 L03 S, James C. Hoe, CMU/ECE/CALCM, 208
12 Reg Immediate ALU s Assembly (e.g., reg immediate additions) ADDI rd, rs, imm 2 Machine encoding imm[:0] 2 bit Semantics GPR[rd] GPR[rs] + sign extend (imm) PC PC + 4 Exceptions: none (ignore carry and overflow) Variations Arithmetic: {ADDI, SUBI} Compare: {signed, unsigned} x {Set if Less Than Imm} Logical: {ANDI, ORI, XORI} **Shifts by unsigned imm[4:0]: {SLLI, SRLI, SRAI} S8 L03 S2, James C. Hoe, CMU/ECE/CALCM, 208 rs 5 bit bit rd 5 bit bit
13 ADDI rd rs immediate 2 Add 4 PC address register register 2 Registers register 2 Add Sum Reg if MEM[PC] == ADDI rd rs immediate GPR[rd] GPR[rs] + sign extend (immediate) PC PC S8 L03 S3, James C. Hoe, CMU/ECE/CALCM, 208 IF ID EX MEM WB Combinational state update logic
14 Datapath for R and I type ALU Inst s Add PC address 4 [9:5] [24:20] [:7] register register 2 Registers register 2 opcode, func3, func7, 3 ALU operation Zero ALU ALU result Reg [3:20] 6 Sign 32 2 extend ALUSrc isitype **Based on original figure from [P&H CO&D, COPYRIGHT 2004 Elsevier. ALL RIGHTS RESERVED.] S8 L03 S4, James C. Hoe, CMU/ECE/CALCM, 208
15 Single Cycle Datapath for Data Movement s S8 L03 S5, James C. Hoe, CMU/ECE/CALCM, 208
16 Load s Assembly (e.g., load 4 byte word) LW rd, offset 2 (base) Machine encoding offset[:0] 2 bit Semantics byte_address 32 = sign extend(offset 2 ) + GPR[base] GPR[rd] MEM 32 [byte_address] PC PC + 4 Exceptions: none for now Variations: LW, LH, LHU, LB, LBU e.g., LB :: GPR[rd] sign extend(mem 8 [byte_address]) LBU :: GPR[rd] zero extend(mem 8 [byte_address]) Note: RV32I is byte addressable, little endian S8 L03 S6, James C. Hoe, CMU/ECE/CALCM, 208 base 5 bit 00 3 bit rd 5 bit bit rs
17 LW Datapath Add PC address 4 register register 2 Registers register 2 add 3 ALU operatio Zero ALU ALU result Address Mem Data Reg 6 Sign 32 2 extend ALUSrc isitype Mem if MEM[PC]==LW rd offset 2 (base) EA = sign extend(offset) + GPR[base] GPR[rd] MEM[ EA ] PC PC S8 L03 S7, James C. Hoe, CMU/ECE/CALCM, 208 IF ID EX MEM WB Combinational state update logic
18 8 447 S8 L03 S8, James C. Hoe, CMU/ECE/CALCM, 208 Store s Assembly (e.g., store 4 byte word) SW rs2, offset 2 (base) Machine encoding offset[:5] 7 bit rs2 5 bit base 5 bit 00 3 bit ofst[4:0] 5 bit bit Semantics byte_address 32 = sign extend(offset 2 )+ GPR[base] MEM 32 [byte_address] GPR[rs2] PC PC + 4 Exceptions: none for now Variations: SW, SH, SB e.g., SB:: MEM 8 [byte_address] (GPR[rs2])[7:0]
19 SW Datapath Add PC address 4 register register 2 Registers register 2 add 3 ALU operatio Zero ALU ALU result Address Mem Data Reg 0 6 Sign 32 2 extend ALUSrc isstype Mem if MEM[PC]==SW rs2 offset 2 (base) EA = sign extend(offset) + GPR[base] MEM[ EA ] GPR[rs2] PC PC S8 L03 S9, James C. Hoe, CMU/ECE/CALCM, 208 IF ID EX MEM WB Combinational state update logic
20 Load Store Datapath Add PC address 4 register register 2 Registers register Reg!isStore 2 6 Sign extend add 3 ALU operation Zero ALU ALU result ALUSrc isitype isstype Address isstore Mem Data isload Mem extend ImmExtend {Itype, ItypeU, Stype } LoadExtend {W, H, HU, B, BU} S8 L03 S20, James C. Hoe, CMU/ECE/CALCM, 208 **Based on original figure from [P&H CO&D, COPYRIGHT 2004 Elsevier. ALL RIGHTS RESERVED.]
21 Datapath for Non Control Flow Inst s Add PC address 4 register register 2 Registers register Reg!isStore 2 6 Sign extend opcode, func3, func7, 3 ALU operation Zero ALU ALU result ALUSrc isitype isstype Address isstore Mem Data isload Mem extend S8 L03 S2, James C. Hoe, CMU/ECE/CALCM, 208 ImmExtend MemtoReg isload LoadExtend **Based on original figure from [P&H CO&D, COPYRIGHT 2004 Elsevier. ALL RIGHTS RESERVED.]
22 Single Cycle Datapath for Control Flow s S8 L03 S22, James C. Hoe, CMU/ECE/CALCM, 208
23 Jump Assembly JAL rd imm 2 Machine encoding Note: implicit imm[0]=0 imm[20 0: 9:2] 20 bit rd 5 bit 0 7 bit Semantics target =PC + sign extend(imm 2 ) GPR[rd] PC + 4 PC target How far can you jump? Exceptions: misaligned target (4 byte) UJ type *Note*: use JAL x0 label instead of BEQ x0 x0 label S8 L03 S23, James C. Hoe, CMU/ECE/CALCM, 208
24 Unconditional Jump Datapath isj PCSrc ADD PC address 4 UJ immediate 32 **Based on original figure from [P&H CO&D, COPYRIGHT 2004 Elsevier. ALL RIGHTS RESERVED.] Add PC+4 PCtoReg isj register register 2 Registers register Reg 2 6 Sign extend 3 X Zero ALU ALU result ALUSrc ALU operation Address 0 Mem Data 0 Mem extend if MEM[PC]==JAL rd, immediate 20 GPR[rd] = PC +4 PC =PC + sign extend(imm 2 ) S8 L03 S24, James C. Hoe, CMU/ECE/CALCM, 208 **Based on original figure from [P&H CO&D, COPYRIGHT 2004 Elsevier. ALL RIGHTS RESERVED.] ImmExtend MemtoReg LoadExtend X X X What about JALR?
25 (Conditional) Branch s Assembly (e.g., branch if equal) BEQ rs, rs2, imm 3 Note: implicit imm[0]=0 Machine encoding imm[2 0:5] 7 bit Semantics target = PC + sign extend(imm 3 ) if GPR[rs]==GPR[rs2] then PC target else PC PC + 4 How far can you jump? Exceptions: misaligned target (4 byte) if taken Variations BEQ, BNE, BLT, BGE, BLTU, BGEU S8 L03 S25, James C. Hoe, CMU/ECE/CALCM, 208 rs2 5 bit rs 5 bit bit imm[4: ] 5 bit bit
26 JAL and taken Branch PC+4 Conditional Branch Datapath JALR PCSrc PC address S8 L03 S26, James C. Hoe, CMU/ECE/CALCM, Add **Based on original figure from [P&H CO&D, COPYRIGHT 2004 Elsevier. ALL RIGHTS RESERVED.] PC + 4 from instruction path PC register register 2 Registers register Reg Sign extend Shift left 2 Add 3 Sum ALU operation bcond ALU ALU Zero Result ALUSrc isitype isstype isjalr Branch target sub (when Bxx) bcond? To branch control logic ImmExtend ={Itype, ItypeU, Stype, SBtype, Utype, UJtype}
27 Adding Control to Datapath S8 L03 S27, James C. Hoe, CMU/ECE/CALCM, 208 [Figure 4.7 from book, Copyright 208 Elsevier Inc. All rights reserved.]
28 Datapath Control Generation MEM[PC] Decode Logic ALUSrc Reg MemtoReg PCtoReg Mem Mem ALU Op ImmExtend LoadExtend PCSrc S8 L03 S28, James C. Hoe, CMU/ECE/CALCM, 208
29 Single Bit Control Signals When De asserted When asserted Equation ALUSrc 2 nd ALU input from 2 nd GPR read port 2 nd ALU input from immediate (opcode!=isrtype) && (opcode!=isbtype) Reg GPR write disabled GPR write enabled MemtoReg Steer ALU result to GPR write port steer load to GPR write port (opcode!=sw) && (opcode!=bxx) opcode==lw/h/b PCtoReg Steer above result to GPR write port Steer PC+4 to GPR write port (opcode==jal) II (opcode==jalr) Mem Memory read disabled Memory read port return load value opcode==lw/h/b Mem Memory write disabled Memory write enabled opcode==sw/h/b S8 L03 S29, James C. Hoe, CMU/ECE/CALCM, 208
30 Multi Bit Control Signals Options Equation ALU Op ADD, SUB, AND, OR, XOR, NOR, LT, and Shift bcond: EQ, NE, GE, LT ImmExtend PCSrc Itype, ItypeU, Stype, SBtype, Utype, UJtype PC+4, PCadder, ALU LoadExtend W,H,HU,B,BU case func S8 L03 S30, James C. Hoe, CMU/ECE/CALCM, 208 case opcode RTypeALU: according to funct3, funct7[5] ITypeALU : according to funct3 only (except shift) LW/SW/JALR : ADD Bxx : SUB and select bcond function : pass through 2 nd select based on instruction format type (may want to have separate extension units for primary ALU and PC offset adder) case opcode JAL : PC + immediate JALR : GPR + immediate Bxx : taken?(pc + immediate):(pc + 4) : PC+4
31 architecture Architecture Architecture vs Microarchitecture Architectural Level a clock has a hour hand and a minute hand,... a computer does.????. You can read a clock without knowing how it works Microarchitecture Level a particular clockwork has a certain set of gears arranged in a certain configuration a particular computer design has a certain path and a certain control logic Realization Level machined alloy gears vs stamped sheet metal CMOS vs ECL vs vacuum tubes S8 L03 S3, James C. Hoe, CMU/ECE/CALCM, 208 conceptual physical [Computer Architecture, Blaauw and Brooks, 997]
Lecture 2: RISC V Instruction Set Architecture. James C. Hoe Department of ECE Carnegie Mellon University
18 447 Lecture 2: RISC V Instruction Set Architecture James C. Hoe Department of ECE Carnegie Mellon University 18 447 S18 L02 S1, James C. Hoe, CMU/ECE/CALCM, 2018 Your goal today Housekeeping get bootstrapped
More informationLecture 2: RISC V Instruction Set Architecture. Housekeeping
S 17 L2 1 18 447 Lecture 2: RISC V Instruction Set Architecture James C. Hoe Department of ECE Carnegie Mellon University Housekeeping S 17 L2 2 Your goal today get bootstrapped on RISC V RV32I to start
More informationComputer Architecture
Compter Architectre Lectre 4: Intro to icroarchitectre: Single- Cycle Dr. Ahmed Sallam Sez Canal University Based on original slides by Prof. Onr tl Review Compter Architectre Today and Basics (Lectres
More informationComputer Architecture
Compter Architectre Lectre 4: Intro to icroarchitectre: Single- Cycle Dr. Ahmed Sallam Sez Canal University Spring 25 Based on original slides by Prof. Onr tl Review Compter Architectre Today and Basics
More informationCMSC Computer Architecture Lecture 4: Single-Cycle uarch and Pipelining. Prof. Yanjing Li University of Chicago
CMSC 22200 Computer Architecture Lecture 4: Single-Cycle uarch and Pipelining Prof. Yanjing Li University of Chicago Administrative Stuff! Lab1 due at 11:59pm today! Lab2 out " Pipeline ARM simulator "
More informationProgrammable Machines
Programmable Machines Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T. Quiz 1: next week Covers L1-L8 Oct 11, 7:30-9:30PM Walker memorial 50-340 L09-1 6.004 So Far Using Combinational
More informationProgrammable Machines
Programmable Machines Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T. Quiz 1: next week Covers L1-L8 Oct 11, 7:30-9:30PM Walker memorial 50-340 L09-1 6.004 So Far Using Combinational
More informationLecture 9: Microcontrolled Multi-Cycle Implementations. Who Am I?
18-447 Lecture 9: Microcontrolled Multi-Cycle Implementations S 10 L9-1 James C. Hoe José F. Martínez Electrical & Computer Engineering Carnegie Mellon University February 1, 2010 Who Am I? S 10 L9-2 Associate
More informationRISC-V Assembly and Binary Notation
RISC-V Assembly and Binary Notation L02-1 Course Mechanics Reminders Course website: http://6004.mit.edu All lectures, videos, tutorials, and exam material can be found under Information/Resources tab.
More informationProcessor. Han Wang CS3410, Spring 2012 Computer Science Cornell University. See P&H Chapter , 4.1 4
Processor Han Wang CS3410, Spring 2012 Computer Science Cornell University See P&H Chapter 2.16 20, 4.1 4 Announcements Project 1 Available Design Document due in one week. Final Design due in three weeks.
More informationISA and RISCV. CASS 2018 Lavanya Ramapantulu
ISA and RISCV CASS 2018 Lavanya Ramapantulu Program Program =?? Algorithm + Data Structures Niklaus Wirth Program (Abstraction) of processor/hardware that executes 3-Jul-18 CASS18 - ISA and RISCV 2 Program
More informationece4750-tinyrv-isa.txt
========================================================================== Tiny RISC-V Instruction Set Architecture ========================================================================== # Author :
More informationLecture 6: Microprogrammed Multi Cycle Implementation. James C. Hoe Department of ECE Carnegie Mellon University
8 447 Lectre 6: icroprogrammed lti Cycle Implementation James C. Hoe Department of ECE Carnegie ellon University 8 447 S8 L06 S, James C. Hoe, CU/ECE/CALC, 208 Yor goal today Hosekeeping nderstand why
More informationThe MIPS Instruction Set Architecture
The MIPS Set Architecture CPS 14 Lecture 5 Today s Lecture Admin HW #1 is due HW #2 assigned Outline Review A specific ISA, we ll use it throughout semester, very similar to the NiosII ISA (we will use
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 information--------------------------------------------------------------------------------------------------------------------- 1. Objectives: Using the Logisim simulator Designing and testing a Pipelined 16-bit
More informationMIPS Instruction Set
MIPS Instruction Set Prof. James L. Frankel Harvard University Version of 7:12 PM 3-Apr-2018 Copyright 2018, 2017, 2016, 201 James L. Frankel. All rights reserved. CPU Overview CPU is an acronym for Central
More informationAnne Bracy CS 3410 Computer Science Cornell University. See P&H Chapter: , , Appendix B
Anne Bracy CS 3410 Computer Science Cornell University The slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, and Sirer. See P&H Chapter: 2.16-2.20, 4.1-4.4,
More informationComputer Architecture
CS3350B Computer Architecture Winter 2015 Lecture 4.2: MIPS ISA -- Instruction Representation Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design,
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 informationLaboratory Exercise 6 Pipelined Processors 0.0
Laboratory Exercise 6 Pipelined Processors 0.0 Goals After this laboratory exercise, you should understand the basic principles of how pipelining works, including the problems of data and branch hazards
More informationCISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization
CISC 662 Graduate Computer Architecture Lecture 4 - ISA MIPS ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,
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 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 informationCS 351 Exam 2 Mon. 11/2/2015
CS 351 Exam 2 Mon. 11/2/2015 Name: Rules and Hints The MIPS cheat sheet and datapath diagram are attached at the end of this exam for your reference. You may use one handwritten 8.5 11 cheat sheet (front
More informationComputer Architecture. The Language of the Machine
Computer Architecture The Language of the Machine Instruction Sets Basic ISA Classes, Addressing, Format Administrative Matters Operations, Branching, Calling conventions Break Organization All computers
More informationReview: ISA. Review: Compiling Applications. Computer Architecture ELEC3441. Instruction Set Architecture (1) Computer Architecture: HW/SW Interface
Computer Architecture ELEC3441 Instruction Set Architecture (1) 2 nd Semester, 2017-18 Dr. Hayden Kwok-Hay So Review: ISA n Instruction set architecture defines the user observable behavior a processor
More informationMidterm. Sticker winners: if you got >= 50 / 67
CSC258 Week 8 Midterm Class average: 4.2 / 67 (6%) Highest mark: 64.5 / 67 Tests will be return in office hours. Make sure your midterm mark is correct on MarkUs Solution posted on the course website.
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 informationAnne Bracy CS 3410 Computer Science Cornell University. [K. Bala, A. Bracy, E. Sirer, and H. Weatherspoon]
Anne Bracy CS 3410 Computer Science Cornell University [K. Bala, A. Bracy, E. Sirer, and H. Weatherspoon] Understanding the basics of a processor We now have the technology to build a CPU! Putting it all
More informationCISC 662 Graduate Computer Architecture. Lecture 4 - ISA
CISC 662 Graduate Computer Architecture Lecture 4 - ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,
More informationA Processor. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter , 4.1-3
A Processor Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University See: P&H Chapter 2.16-20, 4.1-3 Let s build a MIPS CPU but using Harvard architecture Basic Computer System Registers ALU
More informationLecture 8: Data Hazard and Resolution. James C. Hoe Department of ECE Carnegie Mellon University
18 447 Lecture 8: Data Hazard and Resolution James C. Hoe Department of ECE Carnegie ellon University 18 447 S18 L08 S1, James C. Hoe, CU/ECE/CALC, 2018 Your goal today Housekeeping detect and resolve
More informationCS 4200/5200 Computer Architecture I
CS 4200/5200 Computer Architecture I MIPS Instruction Set Architecture Dr. Xiaobo Zhou Department of Computer Science CS420/520 Lec3.1 UC. Colorado Springs Adapted from UCB97 & UCB03 Review: Organizational
More informationCS Computer Architecture Spring Week 10: Chapter
CS 35101 Computer Architecture Spring 2008 Week 10: Chapter 5.1-5.3 Materials adapated from Mary Jane Irwin (www.cse.psu.edu/~mji) and Kevin Schaffer [adapted from D. Patterson slides] CS 35101 Ch 5.1
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 informationCS3350B Computer Architecture MIPS Instruction Representation
CS3350B Computer Architecture MIPS Instruction Representation Marc Moreno Maza http://www.csd.uwo.ca/~moreno/cs3350_moreno/index.html Department of Computer Science University of Western Ontario, Canada
More informationIntroduction to the MIPS. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University
Introduction to the MIPS Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Introduction to the MIPS The Microprocessor without Interlocked Pipeline Stages
More informationDesign for a simplified DLX (SDLX) processor Rajat Moona
Design for a simplified DLX (SDLX) processor Rajat Moona moona@iitk.ac.in In this handout we shall see the design of a simplified DLX (SDLX) processor. We shall assume that the readers are familiar with
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 informationICS 233 Computer Architecture & Assembly Language. ICS 233 Computer Architecture & Assembly Language
ICS 233 Computer Architecture & Assembly Language MIPS PROCESSOR INSTRUCTION SET 1 ICS 233 Computer Architecture & Assembly Language Lecture 7 2 1 Lecture Outline MIPS Instruction I-Type Format MIPS I-type
More informationImplementing RISC-V Interpreter in Hardware
Implementing RISC-V Interpreter in Hardware Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology October 16, 2018 MIT 6.004 Fall 2018 L11-1 Instruction interpreter
More informationReminder: tutorials start next week!
Previous lecture recap! Metrics of computer architecture! Fundamental ways of improving performance: parallelism, locality, focus on the common case! Amdahl s Law: speedup proportional only to the affected
More informationEC 513 Computer Architecture
EC 513 Computer Architecture Single-cycle ISA Implementation Prof. Michel A. Kinsy Computer System View Processor Applications Compiler Firmware ISA Memory organization Digital Design Circuit Design Operating
More informationCSEN 601: Computer System Architecture Summer 2014
CSEN 601: Computer System Architecture Summer 2014 Practice Assignment 5 Solutions Exercise 5-1: (Midterm Spring 2013) a. What are the values of the control signals (except ALUOp) for each of the following
More informationM2 Instruction Set Architecture
M2 Instruction Set Architecture Module Outline Addressing modes. Instruction classes. MIPS-I ISA. High level languages, Assembly languages and object code. Translating and starting a program. Subroutine
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 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 informationEE108B Lecture 3. MIPS Assembly Language II
EE108B Lecture 3 MIPS Assembly Language II Christos Kozyrakis Stanford University http://eeclass.stanford.edu/ee108b 1 Announcements Urgent: sign up at EEclass and say if you are taking 3 or 4 units Homework
More informationReduced Instruction Set Computer (RISC)
Reduced Instruction Set Computer (RISC) Focuses on reducing the number and complexity of instructions of the ISA. RISC Goals RISC: Simplify ISA Simplify CPU Design Better CPU Performance Motivated by simplifying
More informationCourse Administration
Fall 2017 EE 3613: Computer Organization Chapter 2: Instruction Set Architecture 2/4 Avinash Kodi Department of Electrical Engineering & Computer Science Ohio University, Athens, Ohio 45701 E-mail: kodi@ohio.edu
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 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 informationA Processor! Hakim Weatherspoon CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter , 4.1-3
A Processor! Hakim Weatherspoon CS 3410, Spring 2010 Computer Science Cornell University See: P&H Chapter 2.16-20, 4.1-3 Announcements! HW2 available later today HW2 due in one week and a half Work alone
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 informationInf2C - Computer Systems Lecture 12 Processor Design Multi-Cycle
Inf2C - Computer Systems Lecture 12 Processor Design Multi-Cycle Boris Grot School of Informatics University of Edinburgh Previous lecture: single-cycle processor Inf2C Computer Systems - 2017-2018. Boris
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 informationCharacter Is a byte quantity (00~FF or 0~255) ASCII (American Standard Code for Information Interchange) Page 91, Fig. 2.21
2.9 Communication with People: Byte Data & Constants Character Is a byte quantity (00~FF or 0~255) ASCII (American Standard Code for Information Interchange) Page 91, Fig. 2.21 32: space 33:! 34: 35: #...
More informationTSK3000A - Generic Instructions
TSK3000A - Generic Instructions Frozen Content Modified by Admin on Sep 13, 2017 Using the core set of assembly language instructions for the TSK3000A as building blocks, a number of generic instructions
More informationReduced Instruction Set Computer (RISC)
Reduced Instruction Set Computer (RISC) Reduced Instruction Set Computer (RISC) Focuses on reducing the number and complexity of instructions of the machine. Reduced number of cycles needed per instruction.
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 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 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 informationInstructions: MIPS ISA. Chapter 2 Instructions: Language of the Computer 1
Instructions: MIPS ISA Chapter 2 Instructions: Language of the Computer 1 PH Chapter 2 Pt A Instructions: MIPS ISA Based on Text: Patterson Henessey Publisher: Morgan Kaufmann Edited by Y.K. Malaiya for
More informationECE 4750 Computer Architecture, Fall 2014 T01 Single-Cycle Processors
ECE 4750 Computer Architecture, Fall 2014 T01 Single-Cycle Processors School of Electrical and Computer Engineering Cornell University revision: 2014-09-03-17-21 1 Instruction Set Architecture 2 1.1. IBM
More information101 Assembly. ENGR 3410 Computer Architecture Mark L. Chang Fall 2009
101 Assembly ENGR 3410 Computer Architecture Mark L. Chang Fall 2009 What is assembly? 79 Why are we learning assembly now? 80 Assembly Language Readings: Chapter 2 (2.1-2.6, 2.8, 2.9, 2.13, 2.15), Appendix
More informationEEM 486: Computer Architecture. Lecture 2. MIPS Instruction Set Architecture
EEM 486: Computer Architecture Lecture 2 MIPS Instruction Set Architecture EEM 486 Overview Instruction Representation Big idea: stored program consequences of stored program Instructions as numbers Instruction
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 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 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 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 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 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 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 informationCS31001 COMPUTER ORGANIZATION AND ARCHITECTURE. Debdeep Mukhopadhyay, CSE, IIT Kharagpur. Instructions and Addressing
CS31001 COMPUTER ORGANIZATION AND ARCHITECTURE Debdeep Mukhopadhyay, CSE, IIT Kharagpur Instructions and Addressing 1 ISA vs. Microarchitecture An ISA or Instruction Set Architecture describes the aspects
More informationDesign of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan)
Microarchitecture Design of Digital Circuits 27 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_7 Adapted from Digital
More informationMIPS ISA. 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support
Components of an ISA EE 357 Unit 11 MIPS ISA 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support SUBtract instruc. vs. NEGate + ADD instrucs. 3. Registers accessible
More informationCS/COE0447: Computer Organization
CS/COE0447: Computer Organization and Assembly Language Datapath and Control Sangyeun Cho Dept. of Computer Science A simple MIPS We will design a simple MIPS processor that supports a small instruction
More informationCS/COE0447: Computer Organization
A simple MIPS CS/COE447: Computer Organization and Assembly Language Datapath and Control Sangyeun Cho Dept. of Computer Science We will design a simple MIPS processor that supports a small instruction
More informationInstruction Set Architecture part 1 (Introduction) Mehran Rezaei
Instruction Set Architecture part 1 (Introduction) Mehran Rezaei Overview Last Lecture s Review Execution Cycle Levels of Computer Languages Stored Program Computer/Instruction Execution Cycle SPIM, a
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 informationMIPS R-format Instructions. Representing Instructions. Hexadecimal. R-format Example. MIPS I-format Example. MIPS I-format Instructions
Representing Instructions Instructions are encoded in binary Called machine code MIPS instructions Encoded as 32-bit instruction words Small number of formats encoding operation code (opcode), register
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 informationInstruction Set Architecture (ISA)
Instruction Set Architecture (ISA)... the attributes of a [computing] system as seen by the programmer, i.e. the conceptual structure and functional behavior, as distinct from the organization of the data
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 informationMidterm Questions Overview
Midterm Questions Overview Four questions from the following: Performance Evaluation: Given MIPS code, estimate performance on a given CPU. Compare performance of different CPU/compiler changes for a given
More informationA Model RISC Processor. DLX Architecture
DLX Architecture A Model RISC Processor 1 General Features Flat memory model with 32-bit address Data types Integers (32-bit) Floating Point Single precision (32-bit) Double precision (64 bits) Register-register
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 informationAdding Support for jal to Single Cycle Datapath (For More Practice Exercise 5.20)
Adding Support for jal to Single Cycle Datapath (For More Practice Exercise 5.20) The MIPS jump and link instruction, jal is used to support procedure calls by jumping to jump address (similar to j ) and
More informationLecture 5: Instruction Set Architecture : Road Map
S 09 L5-1 18-447 Lecture 5: Instruction Set Architecture James C. Hoe Dept of ECE, CMU February 2, 2009 Announcements: HW 1 due Midterm in 2 weeks Make sure you find lab partners for Lab2, no exceptions
More informationChapter 2. Instructions: Language of the Computer. Adapted by Paulo Lopes
Chapter 2 Instructions: Language of the Computer Adapted by Paulo Lopes Instruction Set The repertoire of instructions of a computer Different computers have different instruction sets But with many aspects
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 informationCS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #17 Single Cycle CPU Datapath CPS today! 2005-10-31 There is one handout today at the front and back of the room! Lecturer PSOE, new dad
More informationCS 110 Computer Architecture Single-Cycle CPU Datapath & Control
CS Computer Architecture Single-Cycle CPU Datapath & Control Instructor: Sören Schwertfeger http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University Slides
More informationMark Redekopp, All rights reserved. EE 352 Unit 3 MIPS ISA
EE 352 Unit 3 MIPS ISA Instruction Set Architecture (ISA) Defines the software interface of the processor and memory system Instruction set is the vocabulary the HW can understand and the SW is composed
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 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 informationCS 61C: Great Ideas in Computer Architecture RISC-V Instruction Formats
CS 61C: Great Ideas in Computer Architecture RISC-V Instruction Formats Instructors: Krste Asanović and Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 9/14/17 Fall 2017 - Lecture #7 1 Levels of
More information9/14/17. Levels of Representation/Interpretation. Big Idea: Stored-Program Computer
CS 61C: Great Ideas in Computer Architecture RISC-V Instruction Formats Instructors: Krste Asanović and Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 Fall 2017 - Lecture #7 1 Levels of Representation/Interpretation
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 information