Agenda. Recap: Adding branches to datapath. Adding jalr to datapath. CS 61C: Great Ideas in Computer Architecture
|
|
- Ellen Fox
- 6 years ago
- Views:
Transcription
1 /5/7 CS 6C: Great Ideas in Computer Architecture Lecture : Control & Operating Speed Krste Asanović & Randy Katz CS 6c Lecture : Control & Performance Recap: Adding branches to datapath Implementing JALR Instruction (I-Format) inst[:7] inst[9:5] A DataA inst[4:] B DataB inst[3:7] Imm imm[3:] Reg[rs] Reg[rs] Branch DataR DataW mem inst[3:] ImmSel RegWEn BrUnBrEq BrLT ASel BSel Sel MemRW WBSel JALR rd, rs, immediate Writes PC to Reg[rd] (return address) Sets PC = Reg[rs] + immediate Uses same immediates as arithmetic and loads no multiplication by bytes CS 6c 3 4 Adding jalr to datapath Adding jalr to datapath inst[:7] inst[9:5] inst[4:] A DataA B DataB Reg[rs] Reg[rs] Branch DataR inst[:7] inst[9:5] inst[4:] A DataA B DataB Reg[rs] Reg[rs] Branch DataR inst[3:7] Imm imm[3:] inst[3:7] Imm imm[3:] inst[3:] ImmSel RegWEn BrUnBrEq BrLT ASel BSel Sel MemRW WBSel inst[3:] ImmSel=I RegWEn= Bsel= Asel= MemRW=Read WBSel= BrUn=* BrEq=* BrLT=* Sel=Add CS 6c 5 CS 6c 6
2 /5/7 Implementing jal Instruction Adding jal to datapath JAL saves PC in Reg[rd] (the return address) Set PC = PC + offset (PC-relative jump) Target somewhere within ± 9 locations, bytes apart ± 8 3-bit instructions Immediate encoding optimized similarly to branch instruction to reduce hardware cost inst[:7] inst[9:5] A DataA inst[4:] B DataB inst[3:7] Imm imm[3:] Reg[rs] Reg[rs] Branch DataR DataW mem inst[3:] ImmSel RegWEn BrUnBrEq BrLT ASel BSel Sel MemRW WBSel 7 CS 6c 8 Adding jal to datapath Upper Immediate instructions inst[:7] inst[9:5] A DataA inst[4:] B DataB inst[3:7] Imm imm[3:] inst[3:] ImmSel=J RegWEn= Reg[rs] Reg[rs] Branch Bsel= BrUn=* BrEq=* BrLT=* Asel= Sel=Add DataR DataW MemRW=Read mem WBSel= Has -bit immediate in upper bits of 3-bit instruction word One destination register, rd Used for two instructions LUI Load Upper Immediate (add to zero) AUIPC Add Upper Immediate to PC CS 6c 9 Implementing lui Implementing aui inst[:7] inst[9:5] inst[4:] A DataA B DataB Reg[rs] Reg[rs] Branch DataR inst[:7] inst[9:5] inst[4:] A DataA B DataB Reg[rs] Reg[rs] Branch DataR inst[3:7] Imm imm[3:] inst[3:7] Imm imm[3:] = inst[3:] ImmSel=U RegWEn= Bsel=Asel=* Sel=B MemRW=Read WBSel= = inst[3:] ImmSel=U RegWEn= Bsel=Asel=Sel=Add MemRW= WBSel= BrUn=* BrE=* BrLT=* BrUn=* BrE=* BrLT=* CS 6c CS 6c
3 /5/7 Recap: Complete RV3I ISA Single-Cycle RISC-V RV3I Datapath inst[:7] inst[9:5] A DataA inst[4:] B DataB Reg[rs] Reg[rs] Branch DataR DataW mem Not in CS6C inst[3:7] Imm imm[3:] RV3I has 47 instructions total 37 instructions covered in CS6C 3 inst[3:] ImmSel RegWEn BrUnBrEq BrLT ASel BSel Sel MemRW WBSel CS 6c 4 CS 6c Lecture : Control & Performance 5 Processor Control Datapath PC Registers Arithmetic & Logic Unit () Processor Enable? Read/Write ess Write Data Read Data Memory Program Bytes Processor-Memory Interface CS 6c Lecture : Control & Performance 6 Data Single-Cycle RISC-V RV3I Datapath Control Logic Truth Table (incomplete) Inst[3:] BrEq BrLT ImmSel BrUn ASel BSel Sel MemRW RegWEn WBSel add * * * * Reg Reg Add Read sub * * * * Reg Reg Sub Read inst[:7] inst[9:5] inst[4:] A DataA B DataB Reg[rs] Reg[rs] Branch DataR (R-R Op) * * * * Reg Reg (Op) Read addi * * I * Reg Imm Add Read lw * * I * Reg Imm Add Read Mem sw * * S * Reg Imm Add Write * beq * B * PC Imm Add Read * beq * B * PC Imm Add Read * inst[3:7] Imm imm[3:] bne * B * PC Imm Add Read * bne * B * PC Imm Add Read * blt * B PC Imm Add Read * bltu * B PC Imm Add Read * inst[3:] ImmSel RegWEn BrUnBrEq BrLT ASel BSel Sel MemRW WBSel jalr * * I * Reg Imm Add Read PC Control Logic CS 6c 7 jal * * J * PC Imm Add Read PC aui * * U * PC Imm Add Read CS 6c Lecture : Control & Performance 8 3
4 /5/7 Control Realization Options ROM Read-Only Memory Regular structure Can be easily reprogrammed fix errors add instructions Popular when designing control logic manually Combinatorial Logic Today, chip designers use logic synthesis tools to convert truth tables to networks of gates CS 6c Lecture : Control & Performance 9 RV3I, a nine-bit ISA! Instruction type encoded using only 9 bits inst[3],inst[4:], inst[6:] inst[3] inst[4:] inst[6:] Not in CS6C ROM-based Control -bit address (inputs) Inst[3,4:,6:] BrEq BrLT 9 ROM ImmSel[:] BrUn ASel BSel Sel[3:] MemRW RegWEn WBSel[:] CS 6c Lecture : Control & Performance data bits (outputs) Inst[] BrEQ BrLT ROM Controller Implementation ess Decoder add sub or jal Control Word for add Control Word for sub Control Word for or CS 6c Lecture : Control & Performance Controller output (, ImmSel, ) Administrivia Homework Due tomorrow :59 pm Project Part Due Monday Oct 9 Part due Monday Oct 6 Midterm Regrades due next Tuesday Talk to a TA if you don t understand a midterm question or are unsure of a regrade Break! CS 6c Lecture : Control & Performance 3 /5/7 4 4
5 /5/7 CS 6c Lecture : Control & Performance 5 Instruction Timing IF ID EX MEM WB Total I-MEM Reg Read D-MEM Reg W ps ps ps ps ps 8 ps CS 6c Lecture : Control & Performance 6 Maximum clock frequency f max = /8ps = 5 GHz Instruction Timing Instr IF = ps ID = ps = ps MEM=ps WB = ps Total add X X X X 6ps beq X X X 5ps jal X X X 5ps lw X X X X X 8ps sw X X X X 7ps Most blocks idle most of the time Eg f max, = /ps = 5 GHz! How can we keep busy all the time? 5 billion adds/sec, rather than just 5 billion? Idea: Factories use three employee shifts - equipment is always busy! CS 6c Lecture : Control & Performance 8 Performance Measures Our RISC-V executes instructions at 5 GHz instruction every 8 ps Can we improve its performance? What do we mean with this statement? Not so obvious: Quicker response time, so one job finishes faster? More jobs per unit time (eg web server returning pages)? Longer battery life? CS 6c Lecture : Control & Performance 9 Transportation Analogy Sports Car Bus Passenger Capacity 5 Travel Speed mph 5 mph Gas Mileage 5 mpg mpg 5 Mile trip: Sports Car Bus Travel Time 5 min 6 min Time for passengers 75 min min Gallons per passenger 5 gallons 5 gallons CS 6c Lecture : Control & Performance 3 5
6 /5/7 Transportation Trip Time Time for passengers Gallons per passenger Computer Analogy Computer Program execution time: eg time to update display Throughput: eg number of server requests handled per hour Energy per task*: eg how many movies you can watch per battery charge or energy bill for datacenter * Note: power is not a good measure, since low-power CPU might run for a long time to complete one task consuming more energy than faster computer running at higher power for a shorter time 3 Iron Law of Processor Performance Time = Instructions Cycles Time Program Program * Instruction * Cycle 3 Instructions per Program Determined by Task Algorithm, eg O(N ) vs O(N) Programming language Compiler Instruction Set Architecture (ISA) (Average) Clock cycles per Instruction Determined by ISA Processor implementation (or microarchitecture) Eg for our single-cycle RISC-V design, CPI = Complex instructions (eg strcpy), CPI >> Superscalar processors, CPI < (next lecture) CS 6c Lecture : Control & Performance 33 CS 6c Lecture : Control & Performance 34 Time per Cycle (/Frequency) Determined by Processor microarchitecture (determines critical path through logic gates) Technology (eg 4nm versus 8nm) Power budget (lower voltages reduce transistor speed) CS 6c Lecture : Control & Performance 35 Speed Tradeoff Example For some task (eg image compression) Processor A Processor B # Instructions Million 5 Million Average CPI 5 Clock rate f 5 GHz GHz Execution time ms 75 ms Processor B is faster for this task, despite executing more instructions and having a lower clock rate! CS 6c Lecture : Control & Performance 36 6
7 /5/7 Energy per Task Energy = Instructions Energy Program Program * Instruction Energy α Instructions * C V Program Program Energy Tradeoff Example Next-generation processor C (Moore s Law): -5 % Supply voltage, V sup : -5 % Energy consumption: - (-85) 3 = -39 % Capacitance depends on technology, processor features eg # of cores Supply voltage, eg V Significantly improved energy efficiency thanks to Moore s Law AND Reduced supply voltage Want to reduce capacitance and voltage to reduce energy/task 37 CS 6c Lecture : Control & Performance Energy Iron Law Performance = Power * Energy Efficiency (Tasks/Second) (Joules/Second) (Tasks/Joule) Energy efficiency (eg, instructions/joule) is key metric in all computing devices For power-constrained systems (eg, MW datacenter), need better energy efficiency to get more performance at same power For energy-constrained systems (eg, W phone), need better energy efficiency to prolong battery life End of Scaling In recent years, industry has not been able to reduce supply voltage much, as reducing it further would mean increasing leakage power where transistor switches don t fully turn off (more like dimmer switch than on-off switch) Also, size of transistors and hence capacitance, not shrinking as much as before between transistor generations Power becomes a growing concern the power wall Cost-effective air-cooled chip limit around ~5W CS 6c Lecture : Control & Performance 4 Processor Trends Break! Transistors (Thousands) Frequency (MHz) Power (W) Cores [Olukotun, Hammond,Sutter,Smith,Batten] 4 /5/7 4 7
8 /5/7 CS 6c Lecture : Control & Performance 43 A familiar example: Getting a university degree Pipelining Year Year Year 3 Year 4 Shortage of Computer scientists (your startup is growing): How long does it take to educate 6,? CS 6c Lecture : Control & Performance 44 Computer Scientist Education Option : serial 4 enter Option : pipelining year 4 graduate 4 graduate 4 graduate 6, in 6 years, average throughput is /year 4 6, in 7 years Steady state throughput is 4/year 4 graduate Resources used efficiently 4 graduate 4-fold improvement over serial education 4 graduate 4 graduate 7 years CS 6c Lecture : Control & Performance 45 Latency versus Throughput Latency Time from entering college to graduation Serial Pipelining Throughput Average number of students graduating each year Serial Pipelining 4 Pipelining Increases throughput (4x in this example) But does nothing to latency sometimes worse (additional overhead eg for shift transition) CS 6c Lecture : Control & Performance 46 Simultaneous versus Sequential What happens sequentially? What happens simultaneously? 4 graduate 4 graduate 4 graduate 4 graduate 4 graduate 4 graduate 4 graduate 4 graduate 4 graduate 4 graduate CS 6c Lecture : Control & Performance 47 CS 6c Lecture : Control & Performance 48 8
9 /5/7 instruction sequence Pipelining with RISC-V Phase Pictogram tstep Serial tcycle Pipelined Instruction Fetch ps ps Reg Read ps ps ps ps Memory ps ps Register Write ps ps tinstruction 8 ps ps t instruction add t, t, t or t3, t4, t5 sll t6, t, t3 CS 6c t cycle 49 instruction sequence Pipelining with RISC-V add t, t, t or t3, t4, t5 sll t6, t, t3 t instruction t cycle Single Cycle Pipelining Timing tstep = ps tcycle = ps Register access only ps All cycles same length Instruction time, tinstruction = tcycle = 8 ps ps Clock rate, fs /8 ps = 5 GHz / ps = 5 GHz Relative speed x 4 x CS 6c 5 instruction sequence Sequential vs Simultaneous add t, t, t or t3, t4, t5 sll t6, t, t3 sw t, 4(t3) lw t, 8(t3) addi t, t, What happens sequentially, what happens simultaneously? t instruction = ps t cycle = ps CS 6c Lecture : Control & Performance 5 And in Conclusion, Tells universal datapath how to execute each instruction Instruction timing Set by instruction complexity, architecture, technology Pipelining increases clock frequency, instructions per second But does not reduce time to complete instruction Performance measures Different measures depending on objective Response time Jobs / second Energy per task CS 6c Lecture : Control & Performance 53 9
CS 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 informationCS 61C: Great Ideas in Computer Architecture (Machine Structures) Caches Part 1
CS 61C: Great Ideas in Computer Architecture (Machine Structures) Caches Part 1 Instructors: Krste Asanović & Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/ 10/11/17 Fall 2017 - Lecture #14 1 Parallel
More information10/11/17. New-School Machine Structures. Review: Single Cycle Instruction Timing. Review: Single-Cycle RISC-V RV32I Datapath. Components of a Computer
// CS C: Great Ideas in Computer Architecture (Machine Structures) s Part Instructors: Krste Asanović & Randy H Katz http://insteecsberkeleyedu/~csc/ // Fall - Lecture # Parallel Requests Assigned to computer
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 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 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 informationDepartment of Electrical Engineering and Computer Sciences Fall 2017 Instructors: Randy Katz, Krste Asanovic CS61C MIDTERM 2
University of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences Fall 2017 Instructors: Randy Katz, Krste Asanovic 2017 10 31 CS61C MIDTERM 2 After the
More informationLecture 4 - Pipelining
CS 152 Computer Architecture and Engineering Lecture 4 - Pipelining John Wawrzynek Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~johnw
More informationComputer Architecture. Lecture 6.1: Fundamentals of
CS3350B Computer Architecture Winter 2015 Lecture 6.1: Fundamentals of Instructional Level Parallelism Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and
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 informationPipelining. CSC Friday, November 6, 2015
Pipelining CSC 211.01 Friday, November 6, 2015 Performance Issues Longest delay determines clock period Critical path: load instruction Instruction memory register file ALU data memory register file Not
More information--------------------------------------------------------------------------------------------------------------------- 1. Objectives: Using the Logisim simulator Designing and testing a Pipelined 16-bit
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 informationCS 61C: Great Ideas in Computer Architecture (Machine Structures) Caches Part 3
CS 61C: Great Ideas in Computer Architecture (Machine Structures) Caches Part 3 Instructors: Krste Asanović & Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/ 10/19/17 Fall 2017 - Lecture #16 1 Parallel
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 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 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 informationCS 61C: Great Ideas in Computer Architecture Pipelining and Hazards
CS 61C: Great Ideas in Computer Architecture Pipelining and Hazards Instructors: Vladimir Stojanovic and Nicholas Weaver http://inst.eecs.berkeley.edu/~cs61c/sp16 1 Pipelined Execution Representation Time
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 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 informationCOMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 4. The Processor
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle
More informationCO Computer Architecture and Programming Languages CAPL. Lecture 18 & 19
CO2-3224 Computer Architecture and Programming Languages CAPL Lecture 8 & 9 Dr. Kinga Lipskoch Fall 27 Single Cycle Disadvantages & Advantages Uses the clock cycle inefficiently the clock cycle must be
More informationEECS 151/251A: SPRING 17 MIDTERM 2 SOLUTIONS
University of California College of Engineering Department of Electrical Engineering and Computer Sciences J. Rabaey G. Alexandrov, N. Narevsky, V. Iyer MoWe 4-5:30pm Mo, Oct. 2, 6:00-7:30pm EECS 151/251A:
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 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 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 informationUC Berkeley CS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 24 Introduction to CPU Design 2007-03-14 CS61C L24 Introduction to CPU Design (1) Lecturer SOE Dan Garcia www.cs.berkeley.edu/~ddgarcia
More informationCS 110 Computer Architecture. Pipelining. Guest Lecture: Shu Yin. School of Information Science and Technology SIST
CS 110 Computer Architecture Pipelining Guest Lecture: Shu Yin http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University Slides based on UC Berkley's CS61C
More informationFull Name: NetID: Midterm Summer 2017
Full Name: NetID: Midterm Summer 2017 OAKLAND UNIVERSITY, School of Engineering and Computer Science CSE 564: Computer Architecture Please write and/or mark your answers clearly and neatly; answers that
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. 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 informationThese actions may use different parts of the CPU. Pipelining is when the parts run simultaneously on different instructions.
MIPS Pipe Line 2 Introduction Pipelining To complete an instruction a computer needs to perform a number of actions. These actions may use different parts of the CPU. Pipelining is when the parts run simultaneously
More informationCPU Performance Pipelined CPU
CPU Performance Pipelined CPU Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H Chapters 1.4 and 4.5 In a major matter, no details are small French Proverb 2 Big Picture:
More informationAdvanced processor designs
Advanced processor designs We ve only scratched the surface of CPU design. Today we ll briefly introduce some of the big ideas and big words behind modern processors by looking at two example CPUs. The
More informationCOSC3330 Computer Architecture Lecture 7. Datapath and Performance
COSC3330 Computer Architecture Lecture 7. Datapath and Performance Instructor: Weidong Shi (Larry), PhD Computer Science Department University of Houston Datapath Performance 2 Datapath Control Signals
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 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 informationTruth Table! Review! Use this table and techniques we learned to transform from 1 to another! ! Gate Diagram! Today!
CS61C L17 Combinational Logic Blocks and Intro to CPU Design (1)! inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 17 Combinational Logic Blocks and Intro to CPU Design 2010-07-20!!!Instructor
More informationCSE Computer Architecture I Fall 2009 Lecture 13 In Class Notes and Problems October 6, 2009
CSE 30321 Computer Architecture I Fall 2009 Lecture 13 In Class Notes and Problems October 6, 2009 Question 1: First, we briefly review the notion of a clock cycle (CC). Generally speaking a CC is the
More 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 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 3: Single Cycle Microarchitecture. James C. Hoe Department of ECE Carnegie Mellon University
8 447 Lecture 3: Single Cycle Microarchitecture James C. Hoe Department of ECE Carnegie Mellon University 8 447 S8 L03 S, James C. Hoe, CMU/ECE/CALCM, 208 Your goal today Housekeeping first try at implementing
More informationChapter 4 The Processor 1. Chapter 4B. The Processor
Chapter 4 The Processor 1 Chapter 4B The Processor Chapter 4 The Processor 2 Control Hazards Branch determines flow of control Fetching next instruction depends on branch outcome Pipeline can t always
More informationLecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1
Lecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1 Introduction Chapter 4.1 Chapter 4.2 Review: MIPS (RISC) Design Principles Simplicity favors regularity fixed size instructions small number
More informationComputer Systems Architecture Spring 2016
Computer Systems Architecture Spring 2016 Lecture 01: Introduction Shuai Wang Department of Computer Science and Technology Nanjing University [Adapted from Computer Architecture: A Quantitative Approach,
More informationCS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #18 Introduction to CPU Design 2007-7-25 Scott Beamer, Instructor CS61C L18 Introduction to CPU Design (1) What about overflow? Consider
More informationProcessor Architecture. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Processor Architecture Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Moore s Law Gordon Moore @ Intel (1965) 2 Computer Architecture Trends (1)
More informationCOSC 6385 Computer Architecture - Pipelining
COSC 6385 Computer Architecture - Pipelining Fall 2006 Some of the slides are based on a lecture by David Culler, Instruction Set Architecture Relevant features for distinguishing ISA s Internal storage
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 informationComputer Organization and Structure
Computer Organization and Structure 1. Assuming the following repeating pattern (e.g., in a loop) of branch outcomes: Branch outcomes a. T, T, NT, T b. T, T, T, NT, NT Homework #4 Due: 2014/12/9 a. What
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 informationECE 2300 Digital Logic & Computer Organization. More Single Cycle Microprocessor
ECE 23 Digital Logic & Computer Organization Spring 28 More Single Cycle Microprocessor Lecture 6: HW6 due tomorrow Announcements Prelim 2: Tues April 7, 7:3pm, Phillips Hall Coverage: Lectures 8~6 Inform
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 informationEC 413 Computer Organization - Fall 2017 Problem Set 3 Problem Set 3 Solution
EC 413 Computer Organization - Fall 2017 Problem Set 3 Problem Set 3 Solution Important guidelines: Always state your assumptions and clearly explain your answers. Please upload your solution document
More informationProcessor Architecture
Processor Architecture Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE2030: Introduction to Computer Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu)
More informationECE331: Hardware Organization and Design
ECE331: Hardware Organization and Design Lecture 27: Midterm2 review Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Midterm 2 Review Midterm will cover Section 1.6: Processor
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 informationCS/COE1541: Introduction to Computer Architecture
CS/COE1541: Introduction to Computer Architecture Dept. of Computer Science University of Pittsburgh http://www.cs.pitt.edu/~melhem/courses/1541p/index.html 1 Computer Architecture? Application pull Operating
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 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 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 informationClever Signed Adder/Subtractor. Five Components of a Computer. The CPU. Stages of the Datapath (1/5) Stages of the Datapath : Overview
Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 24 Introduction to CPU design Hi to Vitaly Babiy from Albany, NY! 2008-03-21 Stanford researchers developing
More informationCS3350B Computer Architecture Winter 2015
CS3350B Computer Architecture Winter 2015 Lecture 5.5: Single-Cycle CPU Datapath Design Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design, Patterson
More informationCOMPUTER ORGANIZATION AND DESIGN
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 information10/19/17. You Are Here! Review: Direct-Mapped Cache. Typical Memory Hierarchy
CS 6C: Great Ideas in Computer Architecture (Machine Structures) Caches Part 3 Instructors: Krste Asanović & Randy H Katz http://insteecsberkeleyedu/~cs6c/ Parallel Requests Assigned to computer eg, Search
More informationCOMPUTER ORGANIZATION AND DESI
COMPUTER ORGANIZATION AND DESIGN 5 Edition th The Hardware/Software Interface Chapter 4 The Processor 4.1 Introduction Introduction CPU performance factors Instruction count Determined by ISA and compiler
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 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 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 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 L04 Instruction Set 1 A General-Purpose Computer The von
More informationCPS104 Computer Organization and Programming Lecture 19: Pipelining. Robert Wagner
CPS104 Computer Organization and Programming Lecture 19: Pipelining Robert Wagner cps 104 Pipelining..1 RW Fall 2000 Lecture Overview A Pipelined Processor : Introduction to the concept of pipelined processor.
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 informationMulticore and Parallel Processing
Multicore and Parallel Processing Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University P & H Chapter 4.10 11, 7.1 6 xkcd/619 2 Pitfall: Amdahl s Law Execution time after improvement
More informationCS 230 Practice Final Exam & Actual Take-home Question. Part I: Assembly and Machine Languages (22 pts)
Part I: Assembly and Machine Languages (22 pts) 1. Assume that assembly code for the following variable definitions has already been generated (and initialization of A and length). int powerof2; /* powerof2
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 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 informationCS 61C: Great Ideas in Computer Architecture Introduction to Assembly Language and RISC-V Instruction Set Architecture
CS 61C: Great Ideas in Computer Architecture Introduction to Assembly Language and RISC-V Instruction Set Architecture Instructors: Krste Asanović & Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c 9/7/17
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 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 informationCS 152, Spring 2011 Section 2
CS 152, Spring 2011 Section 2 Christopher Celio University of California, Berkeley About Me Christopher Celio celio @ eecs Office Hours: Tuesday 1-2pm, 751 Soda Agenda Q&A on HW1, Lab 1 Pipelining Questions
More informationComputer Architecture
Lecture 3: Pipelining Iakovos Mavroidis Computer Science Department University of Crete 1 Previous Lecture Measurements and metrics : Performance, Cost, Dependability, Power Guidelines and principles in
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 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 informationELEC / Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2)
ELEC 5200-001/6200-001 Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2) Victor P. Nelson, Professor & Asst. Chair Vishwani D. Agrawal, James J. Danaher Professor Department
More informationThe Processor: Instruction-Level Parallelism
The Processor: Instruction-Level Parallelism Computer Organization Architectures for Embedded Computing Tuesday 21 October 14 Many slides adapted from: Computer Organization and Design, Patterson & Hennessy
More informationCS 152 Computer Architecture and Engineering
CS 152 Computer Architecture and Engineering Lecture 7 Pipelining I 2006-9-19 John Lazzaro (www.cs.berkeley.edu/~lazzaro) TAs: Udam Saini and Jue Sun www-inst.eecs.berkeley.edu/~cs152/ Last Time: ipod
More informationModern Computer Architecture
Modern Computer Architecture Lecture2 Pipelining: Basic and Intermediate Concepts Hongbin Sun 国家集成电路人才培养基地 Xi an Jiaotong University Pipelining: Its Natural! Laundry Example Ann, Brian, Cathy, Dave each
More informationCS 61C: Great Ideas in Computer Architecture Control and Pipelining
CS 6C: Great Ideas in Computer Architecture Control and Pipelining Instructors: Vladimir Stojanovic and Nicholas Weaver http://inst.eecs.berkeley.edu/~cs6c/sp6 Datapath Control Signals ExtOp: zero, sign
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 informationA General-Purpose Computer The von Neumann Model. Concocting an Instruction Set. Meaning of an Instruction. Anatomy of an Instruction
page 1 Concocting an Instruction Set Nerd Chef at work. move flour,bowl add milk,bowl add egg,bowl move bowl,mixer rotate mixer... A General-Purpose Computer The von Neumann Model Many architectural approaches
More informationLecture 4: MIPS Instruction Set
Lecture 4: MIPS Instruction Set No class on Tuesday Today s topic: MIPS instructions Code examples 1 Instruction Set Understanding the language of the hardware is key to understanding the hardware/software
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 information6.823 Computer System Architecture Datapath for DLX Problem Set #2
6.823 Computer System Architecture Datapath for DLX Problem Set #2 Spring 2002 Students are allowed to collaborate in groups of up to 3 people. A group hands in only one copy of the solution to a problem
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 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 informationComputer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture
Computer Science 324 Computer Architecture Mount Holyoke College Fall 2009 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture. Idea:
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 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 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 information