Morgan Kaufmann Publishers

Slides:



Advertisements
Similar presentations
The Processor: Datapath & Control
Advertisements

1  1998 Morgan Kaufmann Publishers Chapter Five The Processor: Datapath and Control.
Lec 17 Nov 2 Chapter 4 – CPU design data path design control logic design single-cycle CPU performance limitations of single cycle CPU multi-cycle CPU.
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
Chapter Five The Processor: Datapath and Control.
Shift Instructions (1/4)
Processor I CPSC 321 Andreas Klappenecker. Midterm 1 Thursday, October 7, during the regular class time Covers all material up to that point History MIPS.
The Processor Andreas Klappenecker CPSC321 Computer Architecture.
Designing a Simple Datapath Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Revised 9/12/2013.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Lecture 9. MIPS Processor Design – Instruction Fetch Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education &
Chapter 4 CSF 2009 The processor: Building the datapath.
Lecture 8: Processors, Introduction EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014,
Lecture 14: Processors CS 2011 Fall 2014, Dr. Rozier.
Lec 15Systems Architecture1 Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some.
Gary MarsdenSlide 1University of Cape Town Chapter 5 - The Processor  Machine Performance factors –Instruction Count, Clock cycle time, Clock cycles per.
Computer Organization CS224 Fall 2012 Lesson 22. The Big Picture  The Five Classic Components of a Computer  Chapter 4 Topic: Processor Design Control.
ECE 445 – Computer Organization
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /19/2013 Lecture 17: The Processor - Overview Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER.
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
D ATA P ATH OF A PROCESSOR (MIPS) Module 1.1 : Elements of computer system UNIT 1.
Computer Architecture Lecture 9 MIPS ALU and Data Paths Ralph Grishman Oct NYU.
CPU Overview Computer Organization II 1 February 2009 © McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor.
COM181 Computer Hardware Lecture 6: The MIPs CPU.
Gary MarsdenSlide 1University of Cape Town Computer Architecture – Introduction Andrew Hutchinson & Gary Marsden (me) ( ) September 2003.
MIPS Processor.
Morgan Kaufmann Publishers The Processor
May 22, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 14: A Simple Implementation of MIPS * Jeremy R. Johnson Mon. May 17, 2000.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
CS161 – Design and Architecture of Computer Systems
Single-Cycle Datapath and Control
Morgan Kaufmann Publishers
Morgan Kaufmann Publishers The Processor
Introduction CPU performance factors
/ Computer Architecture and Design
Morgan Kaufmann Publishers The Processor
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
Morgan Kaufmann Publishers The Processor
Processor (I).
CS/COE0447 Computer Organization & Assembly Language
Design of the Control Unit for Single-Cycle Instruction Execution
Single-Cycle DataPath
Morgan Kaufmann Publishers The Processor
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Morgan Kaufmann Publishers The Processor
CSCI206 - Computer Organization & Programming
MIPS Processor.
Morgan Kaufmann Publishers The Processor
Topic 5: Processor Architecture Implementation Methodology
Rocky K. C. Chang 6 November 2017
Composing the Elements
Composing the Elements
Architecture Overview
The Processor Lecture 3.2: Building a Datapath with Control
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Topic 5: Processor Architecture
Systems Architecture I
COMS 361 Computer Organization
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Lecture 14: Single Cycle MIPS Processor
Single Cycle Datapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Chapter Four The Processor: Datapath and Control
The Processor: Datapath & Control.
COMS 361 Computer Organization
Designing a Single-Cycle Processor
MIPS Processor.
Processor: Datapath and Control
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

Morgan Kaufmann Publishers September 6, 2018 DataPath (4.3) Lecture 35 Chapter 1 — Computer Abstractions and Technology

Morgan Kaufmann Publishers 6 September, 2018 Introduction §4.1 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 version A more realistic pipelined version Simple subset, shows most aspects Memory reference: lw, sw Arithmetic/logical: add, sub, and, or, slt Control transfer: beq, j Chapter 4 — The Processor — 2 Chapter 4 — The Processor

Instruction Execution Morgan Kaufmann Publishers 6 September, 2018 Instruction Execution PC  instruction memory, fetch instruction Register numbers  register file, read registers Depending on instruction class Use ALU to calculate Arithmetic result Memory address for load/store Branch target address Access data memory for load/store PC  target address or PC + 4 Chapter 4 — The Processor — 3 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 CPU Overview Chapter 4 — The Processor — 4 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 Multiplexers Can’t just join wires together Use multiplexers What logic component can we use to choose between multiple inputs? Chapter 4 — The Processor — 5 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 Control Typically we won’t show all these control wires b/c they make the picture messy. Instead we’ll just show a blue line segment going in to the appropriate place. Chapter 4 — The Processor — 6 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 Logic Design Basics Information encoded in binary Low voltage = 0, High voltage = 1 One wire per bit Multi-bit data encoded on multi-wire buses Combinational element Operate on data Output is a function of input State (sequential) elements Store information §4.2 Logic Design Conventions Chapter 4 — The Processor — 7 Chapter 4 — The Processor

Combinational Elements Morgan Kaufmann Publishers 6 September, 2018 Combinational Elements AND-gate Y = A & B Adder Y = A + B A B Y + A B Y Arithmetic/Logic Unit Y = F(A, B) Multiplexer Y = S ? I1 : I0 A B Y ALU F I0 I1 Y M u x S Chapter 4 — The Processor — 8 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 Sequential Elements Register: stores data in a circuit Uses a clock signal to determine when to update the stored value Edge-triggered: update when Clk changes from 0 to 1 Clk D Q D Clk Q Chapter 4 — The Processor — 9 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 Sequential Elements Register with write control Only updates on clock edge when write control input is 1 Used when stored value is required later Write D Q Clk D Clk Q Write Chapter 4 — The Processor — 10 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 Clocking Methodology Combinational logic transforms data during clock cycles Between clock edges Input from state elements, output to state element Longest delay determines clock period Chapter 4 — The Processor — 11 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 Building a Datapath Datapath Elements that process data and addresses in the CPU Registers, ALUs, mux’s, memories, … We will build a MIPS datapath incrementally Refining the overview design §4.3 Building a Datapath Chapter 4 — The Processor — 12 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 Instruction Fetch Increment by 4 for next instruction 32-bit register Why do we need to increment by 4? So how big is the PC? Chapter 4 — The Processor — 13 Chapter 4 — The Processor

R-Format Instructions Morgan Kaufmann Publishers 6 September, 2018 R-Format Instructions Read two register operands Perform arithmetic/logical operation Write register result Why 5 bits? Chapter 4 — The Processor — 14 Chapter 4 — The Processor

Load/Store Instructions Morgan Kaufmann Publishers 6 September, 2018 Load/Store Instructions Read register operands Calculate address using 16-bit offset Use ALU, but sign-extend offset Load: Read memory and update register Store: Write register value to memory Chapter 4 — The Processor — 15 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 Branch Instructions Read register operands Compare operands Use ALU, subtract and check Zero output Calculate target address Sign-extend displacement Shift left 2 places (word displacement) Add to PC + 4 Already calculated by instruction fetch What addressing mode do branch instructions use? Chapter 4 — The Processor — 16 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 Branch Instructions Just re-routes wires Sign-bit wire replicated Chapter 4 — The Processor — 17 Chapter 4 — The Processor

Composing the Elements Morgan Kaufmann Publishers 6 September, 2018 Composing the Elements First-cut data path does an instruction in one clock cycle Each datapath element can only do one function at a time Hence, we need separate instruction and data memories Use multiplexers where alternate data sources are used for different instructions Chapter 4 — The Processor — 18 Chapter 4 — The Processor

R-Type/Load/Store Datapath Morgan Kaufmann Publishers 6 September, 2018 R-Type/Load/Store Datapath Chapter 4 — The Processor — 19 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 Full Datapath Chapter 4 — The Processor — 20 Chapter 4 — The Processor

Morgan Kaufmann Publishers 6 September, 2018 ALU Control ALU used for Load/Store: add Branch: subtract R-type: depends on funct field §4.4 A Simple Implementation Scheme ALU control Function 0000 AND 0001 OR 0010 add 0110 subtract 0111 set-on-less-than 1100 NOR Why that relationship between add and subtract? Remember the picture of our ALU? Need to generate these 4 ALU control bits based on the instruction we are currently executing.. Chapter 4 — The Processor — 21 Chapter 4 — The Processor