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

Slides:



Advertisements
Similar presentations
Fetch-Execute cycle. Memory Read operation Read from memory.
Advertisements

The Fetch – Execute Cycle
Central Processing Unit
Adding the Jump Instruction
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
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.
L14 – Control & Execution 1 Comp 411 – Fall /04/09 Control & Execution Finite State Machines for Control MIPS Execution.
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
10/18/2005Comp 120 Fall October Questions? Instruction Execution.
Computer ArchitectureFall 2008 © September 17th, 2008 Majd F. Sakr CS-447– Computer Architecture.
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
Princess Sumaya Univ. Computer Engineering Dept. Chapter 4: IT Students.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 4:
Computer Organization. Motivation Computer Design as an application of digital logic design  Computer = Processing Unit + Memory System  Processing.
Control pins and Writing Microcode. Simple architecture Recall our architecture from the previous week It was a simple bus architecture “Control” was.
Chapter 5 Basic Processing Unit
Computer Science 210 Computer Organization The von Neumann Architecture.
Lecture 16 Today’s topics: –MARIE Instruction Decoding and Control –Hardwired control –Micro-programmed control 1.
1/8/ L3 Data Path DesignCopyright Joanne DeGroat, ECE, OSU1 ALUs and Data Paths Subtitle: How to design the data path of a processor.
Computer Architecture Lecture 09 Fasih ur Rehman.
L26 – Datapath ALU implementation
Princess Sumaya Univ. Computer Engineering Dept. Chapter 5:
PHY 201 (Blum)1 Microcode Source: Digital Computer Electronics (Malvino and Brown)
EECS 322: Computer Architecture
Fetch-execute cycle.
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
W.S Computer System Design Lecture 4 Wannarat Suntiamorntut.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
L20 – Register Set. The 430 Register Set  Not exactly a dual ported register set, but a dual drive register set.  Ref: text Unit 10, 17, 20 9/2/2012.
CS61C L20 Datapath © UC Regents 1 Microprocessor James Tan Adapted from D. Patterson’s CS61C Copyright 2000.
By Wannarat Computer System Design Lecture 4 Wannarat Suntiamorntut.
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 7 Behavioral modeling of a dual ported register set.
CS161 – Design and Architecture of Computer Systems
ECE 4110–5110 Digital System Design
Control & Execution Finite State Machines for Control MIPS Execution.
Computer Science 210 Computer Organization
Systems Architecture I
Five Execution Steps Instruction Fetch
Computer Architecture
Processor (I).
CS/COE0447 Computer Organization & Assembly Language
Chapter Five.
Control & Execution Finite State Machines for Control MIPS Execution.
Computer Science 210 Computer Organization
Functional Units.
Processor Data Paths -ALU and Registers
A Multiple Clock Cycle Instruction Implementation
Chapter Five The Processor: Datapath and Control
MicroBaby Datapath.
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
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.
Copyright Joanne DeGroat, ECE, OSU
Systems Architecture I
Computer Architecture
CS161 – Design and Architecture of Computer Systems
Presentation transcript:

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

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

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

1/8/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU4 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/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU5 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/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU6 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/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU7 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/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU8 Now add the controller  Control unit contains Instruction Register Flags register Finite state machine  Control unit generates control signals

1/8/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU9 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/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU10 Other Functional Units  May want to incorporate Shifter Floating Point Units Index addressing registers Etc.

1/8/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU11 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/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU12 Datapath Control Evolution  Finite State Machine (FSM) Fixed and unvarying action of a datapath FSM implemented with PLA

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

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

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

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

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

1/8/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU18 Another alternative  Use a microprogram counter

1/8/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU19 A different slice  Just a different visualization

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

1/8/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU21 Operation Examples – ALU op

1/8/ Data Path Design & Control Copyright Joanne DeGroat, ECE, OSU22 Store result back to memory