CPU Overview Computer Organization II 1 February 2009 ©2006-09 McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined.

Slides:



Advertisements
Similar presentations
ECE 15B Computer Organization Spring 2010 Dmitri Strukov Lecture 2: Overview of Computer Organization Partially adapted from Computer Organization and.
Advertisements

The Processor: Datapath & Control
1  1998 Morgan Kaufmann Publishers Chapter Five The Processor: Datapath and Control.
Processor II CPSC 321 Andreas Klappenecker. Midterm 1 Tuesday, October 5 Thursday, October 7 Advantage: less material Disadvantage: less preparation time.
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.
Computer Structure - Datapath and Control Goal: Design a Datapath  We will design the datapath of a processor that includes a subset of the MIPS instruction.
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.
The Processor: Datapath & Control. Implementing Instructions Simplified instruction set memory-reference instructions: lw, sw arithmetic-logical instructions:
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.
Chapter 4 The Processor CprE 381 Computer Organization and Assembly Level Programming, Fall 2013 Zhao Zhang Iowa State University Revised from original.
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.
Processor: Datapath and Control
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.
CDA 3101 Fall 2013 Introduction to Computer Organization
Datapath Design Computer Organization I 1 August 2009 © McQuain, Feng & Ribbens Composing the Elements First-cut data path does an instruction.
CDA 3101 Fall 2013 Introduction to Computer Organization Multicycle Datapath 9 October 2013.
1 A single-cycle MIPS processor  An instruction set architecture is an interface that defines the hardware operations which are available to software.
1. Building A CPU  We’ve built a small ALU l Add, Subtract, SLT, And, Or l Could figure out Multiply and Divide  What about the rest l How do.
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.
Single Cycle Datapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor.
Elements of Datapath for the fetch and increment The first element we need: a memory unit to store the instructions of a program and supply instructions.
Datapath and Control AddressInstruction Memory Write Data Reg Addr Register File ALU Data Memory Address Write Data Read Data PC Read Data Read Data.
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.
Appendix C Basics of Logic Design. Appendix C — Logic Basic — 2 Logic Design Basics §4.2 Logic Design Conventions Objective: To understand how to build.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
Morgan Kaufmann Publishers
Introduction CPU performance factors
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers
Processor (I).
Single-Cycle DataPath
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Morgan Kaufmann Publishers The Processor
Design of the Control Unit for One-cycle Instruction Execution
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
The Processor Lecture 3.2: Building a Datapath with Control
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Topic 5: Processor Architecture
Datapath: Instruction Store/Fetch & PC Increment
Systems Architecture I
COMS 361 Computer Organization
Single Cycle Datapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
The Processor: Datapath & Control.
COMS 361 Computer Organization
MIPS Processor.
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

CPU Overview Computer Organization II 1 February 2009 © McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined by ISA and compiler – CPI and Cycle time n 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

CPU Overview Computer Organization II 2 February 2009 © McQuain & Ribbens Instruction Execution PC  instruction memory, fetch instruction Register numbers  register file, read registers Depending on instruction class – Use ALU to calculate n Arithmetic result n Memory address for load/store n Branch target address – Access data memory for load/store – PC  target address or PC + 4

CPU Overview Computer Organization II 3 February 2009 © McQuain & Ribbens CPU Overview

Computer Organization II 4 February 2009 © McQuain & Ribbens Need for Selection Mechanisms Compute address for sequential execution. Compute address for conditional branch. Must choose which one goes back to PC. BUT, you cannot just join wires together to achieve this…

CPU Overview Computer Organization II 5 February 2009 © McQuain & Ribbens Multiplexor An 2 n x 1 multiplexor receives 2 n input bits and n selector bits, and outputs exactly one of the input bits, determined by the pattern of the selector bits. 2 x 1 multiplexor 4 x 1 multiplexor

CPU Overview Computer Organization II 6 February 2009 © McQuain & Ribbens Need for Control Logic There must be a combinational circuit that determines which input should be selected and passed through to the PC. The 2x1 multiplexor must have a 1-bit control line to select between the two inputs. So, under when should the conditional address be used? … if we're executing a conditional branch instruction and the condition has evaluated to true.

CPU Overview Computer Organization II 7 February 2009 © McQuain & Ribbens Control Questions What goes here? What control settings will the ALU need? What's the logic for controlling the other MUXes?

CPU Overview Computer Organization II 8 February 2009 © McQuain & Ribbens 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 elements – Operate on data – Output is purely a function of input State (sequential) elements – Store information – Output/state depends on input and on previous state

CPU Overview Computer Organization II 9 February 2009 © McQuain & Ribbens Combinational Elements AND-gate – Y = A & B A B Y I0 I1 Y MuxMux S Multiplexer – Y = S ? I1 : I0 A B Y + A B Y ALU F Adder – Y = A + B Arithmetic/Logic Unit – Y = F(A, B)

CPU Overview Computer Organization II 10 February 2009 © McQuain & Ribbens 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 D Clk Q D Q

CPU Overview Computer Organization II 11 February 2009 © McQuain & Ribbens Sequential Elements Register with write control – Only updates on clock edge when write control input is 1 – Used when stored value is required later D Clk Q Write D Q Clk

CPU Overview Computer Organization II 12 February 2009 © McQuain & Ribbens 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

CPU Overview Computer Organization II 13 February 2009 © McQuain & Ribbens Building a Datapath Datapath – Elements that process data and addresses in the CPU n Registers, ALUs, mux’s, memories, … We will build a MIPS datapath incrementally – Refining the overview design

CPU Overview Computer Organization II 14 February 2009 © McQuain & Ribbens Instruction Fetch 32-bit register Increment by 4 for next instruction

CPU Overview Computer Organization II 15 February 2009 © McQuain & Ribbens R-Format Instructions Read two register operands Perform arithmetic/logical operation Write register result

CPU Overview Computer Organization II 16 February 2009 © McQuain & Ribbens 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

CPU Overview Computer Organization II 17 February 2009 © McQuain & Ribbens 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 n Already calculated by instruction fetch

CPU Overview Computer Organization II 18 February 2009 © McQuain & Ribbens Branch Instructions Just re-route wires Sign-bit wire replicated