Register Transfer Level (RTL) Design
|
|
- Jack Powell
- 5 years ago
- Views:
Transcription
1 CSE4: Components and Design Techniques for Digital Systems Register Transfer Level (RTL) Design Instructor: Mohsen Imani Slides from Tajana Simunic Rosing
2 CAPE CAPEs are out!!! Please submit your evaluations!!!! Your feedback is very important, please take the time to fill out the survey.
3 3D Xpoint Memory
4 About the final ~5 minutes Final Exam Bring one 8 ½ x paper with handwritten notes, but nothing else Problems including (but not limited to): - design - components (shifters, adders, etc.) - FSM - Moore, Mealy, design of FSM using state table, excitation table - Timing constraints - RTL design and HLSM
5 : Arithmetic Logic Unit
6 Designing an Arithmetic Logic Unit op A 3 N Zero N Result Overflow B N CarryOut Control Lines (op) Function And Or Add Subtract Set-on-less-than 6
7 A One Bit This -bit performs AND, OR, and ADD
8 A 32-bit -bit 32-bit 8
9 Subtract We d like to implement a means of doing A-B (subtract) but with only minor changes to our hardware. How?. Provide an option to use bitwise NOT A 2. Provide an option to use bitwise NOT B 3. Provide an option to use bitwise A XOR B 4. Provide an option to use instead of the first CarryIn 5. Provide an option to use instead of the first CarryIn Selection Choices A alone B Both and 2 C Both 3 and 4 D Both 2 and 5 E None of the above 9
10 Full 32-bit what signals accomplish ADD? Binvert CIn Oper A 2 B 2 C 2 D 2 E NONE OF THE ABOVE sign bit (adder output from bit 3)
11 Full 32-bit what signals accomplish OR? Binvert CIn Oper A B C D E NONE OF THE ABOVE sign bit (adder output from bit 3)
12 Full 32-bit Little more intense can you get this? what signals accomplish SUB? Binvert CIn Oper A 2 B 2 C 2 D 2 E NONE OF THE ABOVE sign bit (adder output from bit 3) 2
13 Arithmetic Logic Unit Example 2 A A B N N B N N N N F2 Y N Cout + [N-] S Zero Extend N N N N F F2: Function A&B A B A+B Not used A & ~B A ~B A-B Not used F: N Y
14 Problem x y z OP A+B A-B A+A A<B A*4 A/4 Reverse (A) 2-complement (B) Design an with two 8bit inputs A and B that has three control bits xyz and implements the operations described in the table
15 Problem x y z OP A+B A-B A+A A<B A*4 A/4 Reverse (A) 2-complement (B)
16 Problem x y z OP A+B A-B A+A A<B A*4 A/4 Reverse (A) 2-complement (B)
17 Problem x y z OP A+B A-B A+A A<B A*4 A/4 Reverse (A) 2-complement (B)
18 Design of a new FF (waveforms) Q(t) x Q(t+)
19 Design of a new FF Q(t+) = Q(t) x + Q(t)x Q(t) x Q(t+)
20 Problem: FSM from circuit to state diagram
21 Problem: FSM from circuit to state diagram D = y= Q a D y Qo \ a
22 Problem: FSM from circuit to state diagram D = Q *a y = Qo + a Q a D y Qo \ a,,,,
23 Problem: FSM from word description to state diagram A microwave oven has 3 modes of operation when it is on: High temperature (H), Low temperature (L) and Defrost (D). A -bit input signal X is controlled by a button. Whenever the button is pressed, X changes its value. When the oven is off, X = will make it switch on to D mode. After that, every time X changes its value, the oven goes to L, then H the off again. a. Is it a Moore or a Mealy machine? b. How many states does it have? How many bits are required to represent them? c. Draw the state diagram
24 Solution
25 Solution
26 Solution
27 Problem: FSM from state diagram to circuit QQ D A D Y QQ\A,,,,,,,,
28 Solution QQ D A D Y QQ\A,,,,,,,,
29 Solution D = Q Q \ QA D = QQ + QA + Q A Q \ QA Y = Q Q + QQA Q \ QA QQ D A D Y
30 Solution
31 Circuit timing recap Gate: - minimum (contamination) delay : t_cd - maximum (propagation) delay : t_pd D-FF: - Input: - Setup : t_setup - Hold : t_hold - Output: - Minimum (contamination) delay : t_ccq - Maximum (propagation) delay : t_pcq
32 Time constraints Setup time constraints: T_c t_pcq + t_pd + t_setup Hold time constraints: t_hold < t_ccq + t_cd
33 Time constraints with skew Setup time constraints: T_c t_pcq + t_pd + t_setup + t_skew t_pd T_c (t_pcq + t_setup + t_skew) Hold time constraints: t_ccq + t_cd > t_hold + t_skew t_cd > t_hold + t_skew t_ccq
34 Timing constraints example D-FF: - t_ccq = 4 - t_pcq = 6 - t_setup = 7 - t_hold = 8 Gates: AND: - t_pd = 4 - t_cd = 3 OR: - t_pd = 4 - t_cd = 3 NOT: - t_pd = 3 - t_cd = 2
35 Timing constraints example D-FF: - t_ccq = 4 - t_pcq = 6 - t_setup = 7 - t_hold = 8 Gates: AND: - t_pd = 4 - t_cd = 3 OR: - t_pd = 4 - t_cd = 3 NOT: - t_pd = 3 - t_cd = 2
36 Timing constraints example Setup time constraints: T_c t_pcq + t_pd + t_setup T_c (6) + (3*4 + 3) + 7 T_c 28ps Hold time constraints: t_hold < t_ccq + t_cd 8 < > NO!! ----> add buffer!
37 Timing constraints example Setup time constraints with skew: What is the maximum t_skew that can be tolerated before having a setup timing error with a frequency of 3 GHz? T_c = / f = / 3e9 = 333ps T_c t_pcq + t_pd + t_setup + t_skew (6) - (3*4 + 3) - 7 t_skew 53ps t_skew
38 CPU Control and Datapath Execute Instruction Set Processor Control Datapath PC R E G I S T E R S DEVICES IN Main Memory OUT Control takes program as input; it interprets each instruction and tells the Datapath to operate on data via, memory and registers 38
39 PC+4 [3-28] JMP ADDRESS [3-] 4 ADDER ADDER I[25-] PC << 2 JMP ADDRESS [25-] << 2 BRANCH REG_DST INSTRUCTION[3-26] REG_ ADDRESS INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] _SRC MEM_,MEM OP ZERO REGISTERS REGISTER JUMP MEM_TO_REG CON TROL 2 ADDRESS MEMORY INSTRUCTION[5-] Sign Extend INSTRUCTION[5-] CONTROL 39
40 CPU Components Single Cycle Execution Assumptions: Every machine language instruction happens in Clock Cycle MIPS architecture Microprocessor without interlocked pipeline stages reg-reg architecture: all operands must be in registers (total 24) 3 Instruction Types; each instruction 32 bits long. R-type: all data in registers (most arithmetic and logical) e.g. add $s, $s2, $s3 2. I-type: branches, memory transfers, constants e.g. beq $s, $s2, Label; lw $s, 32($s2) 3. J-type: jumps and calls e.g. j Label; add $s, $s, $s
41 R-type Instruction: reg-reg ops (e.g. add, and) Tells specific variant of operation (e.g. add/sub have same opcode) Tells operation to be performed R-type Instruction OPCODE = 3-26 RS 25-2 RT RD shamt FUNCT = 32 or ADD $S, $S2, $S3 ADD RD, RS, RT Source Register (attached to Read Register input) Shift amount (for sll, srl etc.) Source Register 2 (attached to Read Register 2 input) Destination Register (attached to Write Register input) 4
42 4 ADDER ADDER << 2 PC REG_DST INSTRUCTION[3-26] INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] _SRC MEM_,MEM OP ZERO REGISTERS REGISTER MEM_TO_REG REG_ ADDRESS BRANCH CON TROL 2 ADDRESS MEMORY INSTRUCTION[5-] Step (R-type): Fetch instruction and advance PC Sign Extend INSTRUCTION[5-] CONTROL 42
43 4 ADDER ADDER << 2 PC REG_DST INSTRUCTION[3-26] INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] REGISTER MEM_,MEM OP ZERO REGISTERS _SRC MEM_TO_REG REG_ ADDRESS BRANCH CON TROL 2 ADDRESS MEMORY Sign Extend INSTRUCTION[5-] INSTRUCTION[5-] Step 2 (R-type): Read two registers and set control signals CONTROL 43
44 4 ADDER ADDER << 2 PC REG_DST INSTRUCTION[3-26] INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] _SRC MEM_,MEM OP ZERO REGISTERS REGISTER MEM_TO_REG REG_ ADDRESS BRANCH CON TROL 2 ADDRESS MEMORY INSTRUCTION[5-] Step 3 (R-type): Perform the operation Sign Extend INSTRUCTION[5-] CONTROL 44
45 4 ADDER ADDER << 2 PC REG_DST INSTRUCTION[3-26] INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] _SRC MEM_,MEM OP ZERO REGISTERS REGISTER MEM_TO_REG REG_ ADDRESS BRANCH CON TROL 2 ADDRESS MEMORY INSTRUCTION[5-] Step 4 (R-type): Write result to register Sign Extend INSTRUCTION[5-] CONTROL 45
46 I-Type: Store Instruction Tells operation to be performed Store Instruction OPCODE = 35 or Base Address Register (attached to Read Register input) SW $S, 32($S2) SW RT, #(RS) RS 25-2 RT OFFSET Source register whose value will be stored to memory (attached to Read Register 2 input) Constant offset (added to the base address in RS) Note: same as x86 MOV [ebx+32], eax
47 4 ADDER ADDER << 2 PC REG_DST INSTRUCTION[3-26] INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] _SRC MEM_,MEM OP ZERO REGISTERS REGISTER MEM_TO_REG REG_ ADDRESS BRANCH CON TROL 2 ADDRESS MEMORY INSTRUCTION[5-] Step (store): Fetch instruction and advance PC Sign Extend INSTRUCTION[5-] CONTROL 47
48 4 ADDER ADDER << 2 PC REG_DST INSTRUCTION[3-26] INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] _SRC MEM_,MEM OP ZERO REGISTERS REGISTER MEM_TO_REG REG_ ADDRESS BRANCH CON TROL 2 ADDRESS MEMORY INSTRUCTION[5-] Step 2 (store): Read register values and set control signals Sign Extend INSTRUCTION[5-] CONTROL 48
49 4 ADDER ADDER << 2 PC REG_DST INSTRUCTION[3-26] INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] _SRC MEM_,MEM OP ZERO REGISTERS REGISTER MEM_TO_REG REG_ ADDRESS BRANCH CON TROL 2 ADDRESS MEMORY INSTRUCTION[5-] Step 3 (store): Compute the address Sign Extend INSTRUCTION[5-] CONTROL 49
50 4 ADDER ADDER << 2 REG_DST INSTRUCTION[3-26] INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 PC INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] _SRC MEM_,MEM OP ZERO REGISTERS REGISTER MEM_TO_REG REG_ ADDRESS BRANCH CON TROL 2 ADDRESS MEMORY INSTRUCTION[5-] Step 4 (store): Write the value to memory Sign Extend INSTRUCTION[5-] CONTROL 5
51 I-Type: Conditional Branch BEQ/BNE Instruction OPCODE = 4 or 5 RS RT BRANCH TARGET S OFFSET Source Register Source register 2 (attached to Read (attached to Read Register input) Register 2 input) BEQ Source, Source2, Offset BEQ $S, $S2, = AL = ML (in binary) 5- Word Offset, which we multiply by 4 (via <<2) to get Bit Offset, then add to PC+4 to get the address of the instruction to which we branch if RS = RT) PC-relative address 5
52 4 ADDER ADDER << 2 PC REG_DST INSTRUCTION[3-26] INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] REGISTER MEM_,MEM OP ZERO REGISTERS _SRC MEM_TO_REG REG_ ADDRESS BRANCH CON TROL 2 ADDRESS MEMORY Sign Extend INSTRUCTION[5-] INSTRUCTION[5-] Step (beq): Fetch instruction and advance PC CONTROL 52
53 4 ADDER ADDER << 2 PC REG_DST INSTRUCTION[3-26] INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] _SRC MEM_,MEM OP ZERO REGISTERS REGISTER MEM_TO_REG REG_ ADDRESS BRANCH CON TROL 2 ADDRESS MEMORY INSTRUCTION[5-] Step 2 (beq): Read register values and set control signals Sign Extend INSTRUCTION[5-] CONTROL 53
54 4 ADDER ADDER << 2 PC REG_DST INSTRUCTION[3-26] INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] _SRC MEM_,MEM OP ZERO REGISTERS REGISTER MEM_TO_REG REG_ ADDRESS BRANCH CON TROL 2 ADDRESS MEMORY INSTRUCTION[5-] Sign Extend INSTRUCTION[5-] Step 3 (beq): Compare registers, calculate branch target, and choose new PC CONTROL 54
55 J-Type: Unconditional Branch JMP/JAL Instruction OPCODE = 2 or BRANCH TARGET ADDRESS 25- J Offset Actual Address (in words) which we multiply by 4 (<<2) to get 28-Bit Address, J = AL then concatenate to upper 4 bits of PC = ML (in binary) to get the 32-bit addresss of instruction to which we branch unconditionally 55
56 PC+4 [3-28] JMP ADDRESS [3-] 4 ADDER ADDER I[25-] PC << 2 JMP ADDRESS [25-] << 2 BRANCH REG_DST INSTRUCTION[3-26] REG_ ADDRESS INSTRUCTION[25-2] REGISTER INSTRUCTION[2-6] REGISTER 2 INSTRUCTION MEMORY INSTRUCTION [3-] INST[5-] _SRC MEM_,MEM OP ZERO REGISTERS REGISTER JUMP MEM_TO_REG CON TROL 2 ADDRESS MEMORY INSTRUCTION[5-] Single-Cycle Datapath with Support for the Jump Instruction Sign Extend INSTRUCTION[5-] CONTROL 56
57
CSE140: Components and Design Techniques for Digital Systems
CSE4: Components and Design Techniques for Digital Systems Tajana Simunic Rosing Announcements and Outline Check webct grades, make sure everything is there and is correct Pick up graded d homework at
More 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 informationCPE 335 Computer Organization. Basic MIPS Architecture Part I
CPE 335 Computer Organization Basic MIPS Architecture Part I Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s8/index.html CPE232 Basic MIPS Architecture
More informationChapter 4. The Processor
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 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 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. Chapter 4. The Processor: A Based on P&H
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface Chapter 4 The Processor: A Based on P&H Introduction We will examine two MIPS implementations A simplified version A more realistic pipelined
More 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 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 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 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 informationThe MIPS Processor Datapath
The MIPS Processor Datapath Module Outline MIPS datapath implementation Register File, Instruction memory, Data memory Instruction interpretation and execution. Combinational control Assignment: Datapath
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 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 informationUnsigned Binary Integers
Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0
More informationUnsigned Binary Integers
Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0
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 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 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 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 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 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 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 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 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 informationECE232: Hardware Organization and Design
ECE232: Hardware Organization and Design Lecture 14: One Cycle MIPs Datapath Adapted from Computer Organization and Design, Patterson & Hennessy, UCB R-Format Instructions Read two register operands Perform
More 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 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 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 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 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 informationData paths for MIPS instructions
You are familiar with how MIPS programs step from one instruction to the next, and how branches can occur conditionally or unconditionally. We next examine the machine level representation of how MIPS
More informationIntroduction. Datapath Basics
Introduction CPU performance factors - Instruction count; determined by ISA and compiler - CPI and Cycle time; determined by CPU hardware 1 We will examine a simplified MIPS implementation in this course
More 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 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 informationECE468 Computer Organization and Architecture. Designing a Single Cycle Datapath
ECE468 Computer Organization and Architecture Designing a Single Cycle Datapath ECE468 datapath1 The Big Picture: Where are We Now? The Five Classic Components of a Computer Processor Control Input Datapath
More informationComputer Science 141 Computing Hardware
Computer Science 4 Computing Hardware Fall 6 Harvard University Instructor: Prof. David Brooks dbrooks@eecs.harvard.edu Upcoming topics Mon, Nov th MIPS Basic Architecture (Part ) Wed, Nov th Basic Computer
More 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 informationThe Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
The Processor (1) Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3050: Theory on Computer Architectures, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu)
More informationLECTURE 5. Single-Cycle Datapath and Control
LECTURE 5 Single-Cycle Datapath and Control PROCESSORS In lecture 1, we reminded ourselves that the datapath and control are the two components that come together to be collectively known as the processor.
More 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 informationCPE 335. Basic MIPS Architecture Part II
CPE 335 Computer Organization Basic MIPS Architecture Part II Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE232 Basic MIPS Architecture
More 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 informationSystems Architecture I
Systems Architecture I Topics A Simple Implementation of MIPS * A Multicycle Implementation of MIPS ** *This lecture was derived from material in the text (sec. 5.1-5.3). **This lecture was derived from
More 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. 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 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 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 informationcomp 180 Lecture 25 Outline of Lecture The ALU Control Operation & Design The Datapath Control Operation & Design HKUST 1 Computer Science
Outline of Lecture The Control Operation & Design The Datapath Control Operation & Design HKST 1 Computer Science Control After the design of partial single IPS datapath, we need to add the control unit
More informationECE232: Hardware Organization and Design. Computer Organization - Previously covered
ECE232: Hardware Organization and Design Part 6: MIPS Instructions II http://www.ecs.umass.edu/ece/ece232/ Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Computer Organization
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 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 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 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 informationCSE 141 Computer Architecture Summer Session Lecture 3 ALU Part 2 Single Cycle CPU Part 1. Pramod V. Argade
CSE 141 Computer Architecture Summer Session 1 2004 Lecture 3 ALU Part 2 Single Cycle CPU Part 1 Pramod V. Argade Reading Assignment Announcements Chapter 5: The Processor: Datapath and Control, Sec. 5.3-5.4
More informationProcessor: Multi- Cycle Datapath & Control
Processor: Multi- Cycle Datapath & Control (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann, 27) COURSE
More informationECE260: Fundamentals of Computer Engineering
MIPS Instruction Set James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy MIPS Registers MIPS
More informationMerging datapaths: (add,lw, sw)
COP 273 Winter 2012 1 - IPS datapath and control 2 ar., 2012 erging datapaths: (add,lw, sw) The datapaths that we saw last lecture considered each instruction in isolation. I drew only those elements that
More 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 informationCC 311- Computer Architecture. The Processor - Control
CC 311- Computer Architecture The Processor - Control Control Unit Functions: Instruction code Control Unit Control Signals Select operations to be performed (ALU, read/write, etc.) Control data flow (multiplexor
More informationThe Processor: Datapath & Control
Chapter Five 1 The Processor: Datapath & Control We're ready to look at an implementation of the MIPS Simplified to contain only: memory-reference instructions: lw, sw arithmetic-logical instructions:
More informationLecture Topics. Announcements. Today: Integer Arithmetic (P&H ) Next: The MIPS ISA (P&H ) Consulting hours. Milestone #1 (due 1/26)
Lecture Topics Today: Integer Arithmetic (P&H 3.1-3.4) Next: The MIPS ISA (P&H 2.1-2.14) 1 Announcements Consulting hours Milestone #1 (due 1/26) Milestone #2 (due 2/2) 2 1 Review: Integer Operations Internal
More informationFundamentals of Computer Systems
Fundamentals of Computer Systems Single Cycle MIPS Processor Stephen. Edwards Columbia University Summer 26 Illustrations Copyright 27 Elsevier The path The lw The sw R-Type s The beq The Controller Encoding
More informationReview. Steps to writing (stateless) circuits: Create a logic function (one per output)
MIPS ALU Review Steps to writing (stateless) circuits: Create a truth table Go through all different combinations of inputs For each row, generate each output based on the problem description Create a
More informationLearning Outcomes. Spiral 3-3. Sorting: Software Implementation REVIEW
3-3. Learning Outcomes 3-3. Spiral 3-3 Single Cycle CPU I understand how the single-cycle CPU datapath supports each type of instruction I understand why each mux is needed to select appropriate inputs
More informationECE260: Fundamentals of Computer Engineering
MIPS Instruction Set James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy MIPS Registers MIPS
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 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 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 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 informationHow to design a controller to produce signals to control the datapath
ECE48 Computer Organization and Architecture Designing Single Cycle How to design a controller to produce signals to control the datapath ECE48. 2--7 Recap: The MIPS Formats All MIPS instructions are bits
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 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 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 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 informationFormat. 10 multiple choice 8 points each. 1 short answer 20 points. Same basic principals as the midterm
Final Review Format 10 multiple choice 8 points each Make sure to show your work Can write a description to the side as to why you think your answer is correct for possible partial credit 1 short answer
More informationRISC Design: Multi-Cycle Implementation
RISC Design: Multi-Cycle Implementation Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology Bombay http://www.ee.iitb.ac.in/~viren/
More informationChapter 5 Solutions: For More Practice
Chapter 5 Solutions: For More Practice 1 Chapter 5 Solutions: For More Practice 5.4 Fetching, reading registers, and writing the destination register takes a total of 300ps for both floating point add/subtract
More informationLECTURE 6. Multi-Cycle Datapath and Control
LECTURE 6 Multi-Cycle Datapath and Control SINGLE-CYCLE IMPLEMENTATION As we ve seen, single-cycle implementation, although easy to implement, could potentially be very inefficient. In single-cycle, we
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 informationRISC Processor Design
RISC Processor Design Single Cycle Implementation - MIPS Virendra Singh Indian Institute of Science Bangalore virendra@computer.org Lecture 13 SE-273: Processor Design Feb 07, 2011 SE-273@SERC 1 Courtesy:
More informationImproving Performance: Pipelining
Improving Performance: Pipelining Memory General registers Memory ID EXE MEM WB Instruction Fetch (includes PC increment) ID Instruction Decode + fetching values from general purpose registers EXE EXEcute
More informationCSE 378 Midterm 2/12/10 Sample Solution
Question 1. (6 points) (a) Rewrite the instruction sub $v0,$t8,$a2 using absolute register numbers instead of symbolic names (i.e., if the instruction contained $at, you would rewrite that as $1.) sub
More informationComputer Hardware Engineering
Computer Hardware Engineering IS2, spring 27 Lecture 9: LU and s ssociate Professor, KTH Royal Institute of Technology Slides version. 2 Course Structure Module : C and ssembly Programming LE LE2 LE EX
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 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 informationThe Single Cycle Processor
EECS 322 Computer Architecture The Single Cycle Processor Instructor: Francis G. Wolff wolff@eecs.cwru.edu Case Western Reserve University This presentation uses powerpoint animation: please viewshow CWRU
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 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 informationECE232: Hardware Organization and Design
ECE232: Hardware Organization and Design Lecture 4: Logic Operations and Introduction to Conditionals Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview Previously examined
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 informationENGN1640: Design of Computing Systems Topic 04: Single-Cycle Processor Design
ENGN64: Design of Computing Systems Topic 4: Single-Cycle Processor Design Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown University
More informationIntroduction. ENG3380 Computer Organization and Architecture MIPS: Data Path Design Part 3. Topics. References. School of Engineering 1
ENG8 Computer Organization and rchitecture MIPS: Data Path Design Part Winter 7 S. reibi School of Engineering University of Guelph Introduction Topics uilding a Complete Data Path for MIPS Multi Cycle
More informationChapter 5: The Processor: Datapath and Control
Chapter 5: The Processor: Datapath and Control Overview Logic Design Conventions Building a Datapath and Control Unit Different Implementations of MIPS instruction set A simple implementation of a processor
More 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 informationLecture Topics. Announcements. Today: The MIPS ISA (P&H ) Next: continued. Milestone #1 (due 1/26) Milestone #2 (due 2/2)
Lecture Topics Today: The MIPS ISA (P&H 2.1-2.14) Next: continued 1 Announcements Milestone #1 (due 1/26) Milestone #2 (due 2/2) Milestone #3 (due 2/9) 2 1 Evolution of Computing Machinery To understand
More informationLets Build a Processor
Lets Build a Processor Almost ready to move into chapter 5 and start building a processor First, let s review Boolean Logic and build the ALU we ll need (Material from Appendix B) operation a 32 ALU result
More informationMulticycle Approach. Designing MIPS Processor
CSE 675.2: Introduction to Computer Architecture Multicycle Approach 8/8/25 Designing MIPS Processor (Multi-Cycle) Presentation H Slides by Gojko Babić and Elsevier Publishing We will be reusing functional
More informationMath 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro
Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L09.1 Smith Spring 2008 MIPS
More information