Processor Data Paths -ALU and Registers

Slides:



Advertisements
Similar presentations
Central Processing Unit
Advertisements

Adding the Jump Instruction
Arithmetic Logic Unit (ALU)
Multicycle Datapath & Control Andreas Klappenecker CPSC321 Computer Architecture.
1  1998 Morgan Kaufmann Publishers We will be reusing functional units –ALU used to compute address and to increment PC –Memory used for instruction and.
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.
10/18/2005Comp 120 Fall October Questions? Instruction Execution.
L15 – Control & Execution 1 Comp 411 – Spring /25/08 Control & Execution Finite State Machines for Control MIPS Execution.
Class 9.1 Computer Architecture - HUJI Computer Architecture Class 9 Microprogramming.
9/15/09 - L25 Registers & Load Enable Copyright Joanne DeGroat, ECE, OSU1 Registers & Load Enable.
The Computer Processor
Control pins and Writing Microcode. Simple architecture Recall our architecture from the previous week It was a simple bus architecture “Control” was.
Computer Science 210 Computer Organization The von Neumann Architecture.
Computer Architecture Lecture 09 Fasih ur Rehman.
EECS 322: Computer Architecture
Fetch-execute cycle.
1/8/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU1 Processor Data Paths - ALU and Registers Incorporating the ALU into a.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
LC-3 Datapath ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin – Madison.
CS161 – Design and Architecture of Computer Systems
Subtitle: How to design the data path of a processor.
The Stored Program Computer
ECE 4110–5110 Digital System Design
Control & Execution Finite State Machines for Control MIPS Execution.
Modification that can be done to the datapath.
Computer Science 210 Computer Organization
Computer Organization
Systems Architecture I
Lecture on Microcomputer
Chapter 4 The Von Neumann Model
Five Execution Steps Instruction Fetch
Behavioral modeling of a dual ported register set.
Computer Architecture
Processor (I).
CS/COE0447 Computer Organization & Assembly Language
Chapter Five.
Control & Execution Finite State Machines for Control MIPS Execution.
Computer Architecture
Computer Science 210 Computer Organization
Functional Units.
The Multicycle Implementation
Modification that can be done to the datapath.
A Multiple Clock Cycle Instruction Implementation
Chapter Five The Processor: Datapath and Control
Computer Organization
ARM implementation the design is divided into a data path section that is described in register transfer level (RTL) notation control section that is viewed.
The Multicycle Implementation
MicroBaby Datapath.
The Little Man Computer
Systems Architecture I
Copyright Joanne DeGroat, ECE, OSU
L25 – Datapath ALU.
MicroBaby Datapath.
Copyright Joanne DeGroat, ECE, OSU
Multicycle Approach We will be reusing functional units
22 October 3 classes before 2nd exam! Control 1/16/2019
April 3 Fun with MUXes Implementing arbitrary logical functions
Fundamental Concepts Processor fetches one instruction at a time and perform the operation specified. Instructions are fetched from successive memory locations.
COMS 361 Computer Organization
Multicycle Design.
The Stored Program Computer
Chapter Four The Processor: Datapath and Control
Behavioral modeling of a dual ported register set.
Copyright Joanne DeGroat, ECE, OSU
Systems Architecture I
Computer Architecture
CS161 – Design and Architecture of Computer Systems
Presentation transcript:

Processor Data Paths -ALU and Registers Incorporating the ALU into a Processor Data Path 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

L4 – Incorporint ALU into data path Building up the data path from the ALU Control of the data path Datapath Evolution 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Have our multifunction ALU Will now put an interface around the ALU and build up a data path 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU The wrapper Establish an interface to the ALU slices Have the data inputs (multibit) Have a Carry in Have control in (PKR) Produce The result R A carry out 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Build up step 1 – latches – busses Add input and output latches/bus drivers Add 2 internal data busses Add flag generation Inputs & control – A,B,Cin,Pctl, Kctl, Rctl Outputs – Cout, R, Nflag, Zflag 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Build up step 2 Now add general purpose registers These are dual ported registers Loading or driving of registers on the bus is controlled by the clock Busses are tristate 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Dual Ported Registers Register are dual ported Registers can be loaded from or drive a value onto both the A Bus and B Bus simultaneously Possible combinations on same cycle Drive both the A Bus and B Bus – may or may not be possible for it to be the same register. Load from both the A Bus and B Bus Must be different registers!!!!!!!!! Register bank does not check for this – responsibility of the controller Load from one Bus and drive the other 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Now add the controller Control unit contains Instruction Register Flags register Finite state machine Control unit generates control signals 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Program Counter and MDR, MAR MDR – Memory Data Register MAR – Memory Address Register Program Counter Register increment and offset integrated into register design 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Other Functional Units May want to incorporate Shifter Floating Point Units Index addressing registers Etc. 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

General Operation of a Datapath Datapaths are generally synchronous Internal clock most likely higher than bus clock Typical RTL of datapath Cyc 1: Mem(PC) -> IR PC + 1 -> PC Cyc 2: RS1+RS2 -> ALUout Cyc 3: ALU out -> RS1 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Datapath Control Evolution Finite State Machine (FSM) Fixed and unvarying action of a datapath FSM implemented with PLA 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Use of flags Here the current data can affect the action of the controller 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Load flags By loading a flags register can use them to affect the controller only at specific points in the “program” 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Data from memory used In addition to flags, data from memory can affect the state and the datapaths action 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Instruction Reg Have now progressed to a “stored” program 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Alternative form Here use a ROM rather than a PLA finite state machine 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Another alternative Use a microprogram counter 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU A different slice Just a different visualization 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Operation Shows steps the controller would go through to execute the instructions 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Operation Examples – ALU op 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU

Store result back to memory 1/8/2007 - Data Path Design & Control Copyright 2006 - Joanne DeGroat, ECE, OSU