15-447 Computer ArchitectureFall 2007 © October 1st, 2007 Majd F. Sakr CS-447– Computer Architecture.

Slides:



Advertisements
Similar presentations
Finite State Machine Continued
Advertisements

Adding the Jump Instruction
EEM 486 EEM 486: Computer Architecture Lecture 4 Designing a Multicycle Processor.
10/13/2005Comp 120 Fall October Questions? Today Control.
CS-447– Computer Architecture Lecture 12 Multiple Cycle Datapath
L14 – Control & Execution 1 Comp 411 – Fall /04/09 Control & Execution Finite State Machines for Control MIPS Execution.
1 COMP541 Datapaths II Montek Singh Mar 22, 2007.
Levels in Processor Design
Computer ArchitectureFall 2007 © October 24nd, 2007 Majd F. Sakr CS-447– Computer Architecture.
Give qualifications of instructors: DAP
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
Computer ArchitectureFall 2007 © November 7th, 2007 Majd F. Sakr CS-447– Computer Architecture.
Computer ArchitectureFall 2007 © October 3rd, 2007 Majd F. Sakr CS-447– Computer Architecture.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Lecture 16: Basic CPU Design
Computer ArchitectureFall 2008 © September 17th, 2008 Majd F. Sakr CS-447– Computer Architecture.
Computer ArchitectureFall 2007 © October 31, CS-447– Computer Architecture M,W 10-11:20am Lecture 17 Review.
L15 – Control & Execution 1 Comp 411 – Spring /25/08 Control & Execution Finite State Machines for Control MIPS Execution.
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
Computer ArchitectureFall 2008 © October 6th, 2008 Majd F. Sakr CS-447– Computer Architecture.
Computer ArchitectureFall 2007 © Sep 10 th, 2007 Majd F. Sakr CS-447– Computer Architecture.
Chapter 6 Memory and Programmable Logic Devices
Processor Types And Instruction Sets Barak Perelman CS147 Prof. Lee.
Lecture 24: CPU Design Today’s topic –Multi-Cycle ALU –Introduction to Pipelining 1.
Dr. Iyad F. Jafar Basic MIPS Architecture: Multi-Cycle Datapath and Control.
Lecture 17 General finite state machine (FSM) design
Computing Systems The Processor: Datapath and Control.
Computer Science 210 Computer Organization The von Neumann Architecture.
Computer Design Basics
EKT221 ELECTRONICS DIGITAL II CHAPTER 4: Computer Design Basics
Chapter 4 Computer Design Basics. Chapter Overview Part 1 – Datapaths  Introduction  Datapath Example  Arithmetic Logic Unit (ALU)  Shifter  Datapath.
Lec 3bSystems Architecture1 Systems Architecture Lecture 3b: Review of Sequential Logic Circuits Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan.
A Simple Computer Architecture Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
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.
Spring 2002INEL 4206 Microprocessors Lecture 4 1 Practical Universal Computers Prof. Bienvenido Velez Lecture 4 Bits Wires Gates Turing Machines.
1/8/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU1 Processor Data Paths - ALU and Registers Incorporating the ALU into a.
Computer Structure & Architecture 7b - CPU & Buses.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
EKT 221 : Chapter 4 Computer Design Basics
ALU (Continued) Computer Architecture (Fall 2006).
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
EKT 221 : Digital 2 Computer Design Basics Date : Lecture : 2 hrs.
Finite State Machine. Clock Clock cycle Sequential circuit Digital logic systems can be classified as combinational or sequential. – Combinational circuits.
Interrupt, again! Lin Zhong ELEC424, Fall 2010.
Controller Implementation
CS161 – Design and Architecture of Computer Systems
Control & Execution Finite State Machines for Control MIPS Execution.
Systems Architecture I
Morgan Kaufmann Publishers
Simple Processor Control Unit
Control & Execution Finite State Machines for Control MIPS Execution.
Jeremy R. Johnson Mon. Apr. 3, 2000
Computer Architecture
Controller Implementation--Part II
Morgan Kaufmann Publishers The Processor
Levels in Processor Design
Systems Architecture I
22 October 3 classes before 2nd exam! Control 1/16/2019
April 3 Fun with MUXes Implementing arbitrary logical functions
Recall: ROM example Here are three functions, V2V1V0, implemented with an 8 x 3 ROM. Blue crosses (X) indicate connections between decoder outputs and.
Levels in Processor Design
ECE 352 Digital System Fundamentals
Systems Architecture I
Lecture 20 Logistics Last lecture Today HW6 due Wednesday
Lecture 6 CdM-8 CPU overview
Levels in Processor Design
Systems Architecture I
Finite State Machine Continued
CS161 – Design and Architecture of Computer Systems
Presentation transcript:

Computer ArchitectureFall 2007 © October 1st, 2007 Majd F. Sakr CS-447– Computer Architecture M,W 10-11:20am Lecture 10 Datapath & Control

Computer ArchitectureFall 2007 © Lecture Objectives ° Learn what a datapath is, and how does it provide the required functions. ° Appreciate why different implementation strategies affects the clock rate and CPI of a machine. ° Understand how the ISA determines many aspects of the hardware implementation.

Computer ArchitectureFall 2007 © The Big Picture of a Computer System DatapathControl Processor Main Memory Input / Output

Computer ArchitectureFall 2007 © Focusing on CPU & Memory Register File ALU Datapath IR PC CPUMemory Data Address Control Unit

Computer ArchitectureFall 2007 © The Datapath A load / store machine (RISC), register – register where access to memory is only done by load & store operations. Source 1 Register File ALU Source 2 Destination Result Control : (Register File)

Computer ArchitectureFall 2007 © Register File Design # Bits / Register = 8=> 8 MUXs # Registers = 4=>4 to 1 each MUX 4->1 MUX control 4->1 MUX s1_buss2_bus Reg A Reg B Reg CReg D

Computer ArchitectureFall 2007 © A0 A1 A2 A3C0 C1 C2 C3 MUX 4 -> 1 A0 B0 C0 D0 MUX 4 -> 1 A1 B1 C1 D1 MUX 4 -> 1 A2 B2 C2 D2 MUX 4 -> 1 A2 B2 C2 D2 B0 B1 B2 B3 MUX 4 -> 1 A0 B0 C0 D0 MUX 4 -> 1 A1 B1 C1 D1 MUX 4 -> 1 A2 B2 C2 D2 MUX 4 -> 1 A2 B2 C2 D2 D0 D1 D2 D3 S0 S1 S2 S3 s0 s1 s2 s3 Register File: 4 registers, 4 bits / register Control bits

Computer ArchitectureFall 2007 © The Datapath The Result of the operation performed in the ALU needs to be stored in a register. Source 1 Register File ALU Source 2 Destination Result Control

Computer ArchitectureFall 2007 © Destination: 2 registers / 3-bits per register DeMux3DeMux2DeMux1 Register 1Register 2 Control Result from ALU to Destination Bus

Computer ArchitectureFall 2007 © Quiz °Draw your design of a register file: Three registers, each is 2-bits wide Two source buses, one destination bus °How many & what size: Muxes did you use? Demuxes did you use? °Total number of control lines?

Computer ArchitectureFall 2007 © The Datapath A load / store machine (RISC), register – register where access to memory is only done by load & store operations. Source 1 Register File ALU Source 2 Destination Result Control : (ALU)

Computer ArchitectureFall 2007 © Simple ALU Design control s1_bus dest_bus Add/Sub s2_bus Shift/Logic 16 to 8 MUX

Computer ArchitectureFall 2007 © How about the Control? Register File ALU Datapath IR PC CPUMemory Data Address Control Unit

Computer ArchitectureFall 2007 © The Control Unit Control Logic

Computer ArchitectureFall 2007 © A simple device Build a custom controller for a vending machine. We could use a general purpose processor, but we might save money with a custom controller. Take coins, give drinks

Computer ArchitectureFall 2007 © Input and Output Inputs: 10 drink selectors coin trigger refund button Outputs: 10 drink release latches Coin refund latch 10 pressure sensors

Computer ArchitectureFall 2007 © Operation of Machine Accepts quarters only Once we get the money, they can select a drink. If they want a refund, release any coins inserted All drinks are $0.75 No free drinks! No stealing money!

Computer ArchitectureFall 2007 © Building the controller °Finite State Remember how many coins have been put in the machine and what inputs are acceptable °Read-Only Memory (ROM) Define the outputs and state transitions °Custom combinational circuits Reduce the size (and therefore cost) of the controller

Computer ArchitectureFall 2007 © Finite State Machines °A Finite State Machine (FSM) consists of: K states: S = {s 1, s 2, …,s k }, s 1 is initial state N inputs: I = {i 1, i 2, …,i n } M outputs: O = {o 1, o 2, …,o m } Transition function T(S,I) mapping each current state and input to next state Output Function P(S) [or P(S,I)] specifies output

Computer ArchitectureFall 2007 © Two common state machines °Moore machine output function based on current state only °Mealy machine output function based on current state and current input see P&H page B-35

Computer ArchitectureFall 2007 © FSM for vending machine 0 coins1 coin 3 coins2 coins Coin trigger Refund button Drink Select Ran out of specific drink selection

Computer ArchitectureFall 2007 © D Q Implementing FSM D Q Current state Implement transition functions (using a ROM and combinational circuits) InputsOutputs Next state 2-bit state

Computer ArchitectureFall 2007 © ROMs and PROMs °Read Only Memory Array of memory values that are constant Non-volatile °Programmable Read Only Memory Array of memory values that can be written exactly once (destructive writes) °You can use ROMs to implement FSM transition functions ROM inputs: ROM address ; current state + primary inputs ROM outputs: ROM data ; next state + primary outputs