{ CPU Design-Project CPU Design-Project Multicycle Datapath with Finite State Machine as Control Unit N.S.V Ravi Tej Uppu.

Slides:



Advertisements
Similar presentations
1 Datapath and Control (Multicycle datapath) CDA 3101 Discussion Section 11.
Advertisements

Microprocessor Design Multi-cycle Datapath Nia S. Bradley Vijay.
CSE 308 – Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals Multicycle Implementation.
Chapter 5 The Processor: Datapath and Control Basic MIPS Architecture Homework 2 due October 28 th. Project Designs due October 28 th. Project Reports.
EECE476 Lecture 9: Multi-cycle CPU Datapath Chapter 5: Section 5.5 The University of British ColumbiaEECE 476© 2005 Guy Lemieux.
1 5.5 A Multicycle Implementation A single memory unit is used for both instructions and data. There is a single ALU, rather than an ALU and two adders.
Preparation for Midterm Binary Data Storage (integer, char, float pt) and Operations, Logic, Flip Flops, Switch Debouncing, Timing, Synchronous / Asynchronous.
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
Copyright 1998 Morgan Kaufmann Publishers, Inc. All rights reserved. Digital Architectures1 Machine instructions execution steps (1) FETCH = Read the instruction.
331 W10.1Spring :332:331 Computer Architecture and Assembly Language Spring 2005 Week 10 Building a Multi-Cycle Datapath [Adapted from Dave Patterson’s.
EECC550 - Shaaban #1 Selected Chapter 5 For More Practice Exercises Winter The MIPS jump and link instruction, jal is used to support procedure.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Multi-Cycle Processor.
CSE431 L05 Basic MIPS Architecture.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 05: Basic MIPS Architecture Review Mary Jane Irwin.
Dr. Iyad F. Jafar Basic MIPS Architecture: Multi-Cycle Datapath and Control.
CMPE 421 Advanced Computer Architecture Supplementary material for Pipelining PART1.
CASE STUDY OF A MULTYCYCLE DATAPATH. Alternative Multiple Cycle Datapath (In Textbook) Minimizes Hardware: 1 memory, 1 ALU Ideal Memory Din Address 32.
CPE232 Basic MIPS Architecture1 Computer Organization Multi-cycle Approach Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides
1 CS/COE0447 Computer Organization & Assembly Language Multi-Cycle Execution.
Computer Architecture and Design – ECEN 350 Part 6 [Some slides adapted from A. Sprintson, M. Irwin, D. Paterson and others]
1 Processor: Datapath and Control Single cycle processor –Datapath and Control Multicycle processor –Datapath and Control Microprogramming –Vertical and.
1 Processor: Datapath and Control Single cycle processor –Datapath and Control Multicycle processor –Datapath and Control Microprogramming –Vertical and.
ECE-C355 Computer Structures Winter 2008 The MIPS Datapath Slides have been adapted from Prof. Mary Jane Irwin ( )
Datapath and Control AddressInstruction Memory Write Data Reg Addr Register File ALU Data Memory Address Write Data Read Data PC Read Data Read Data.
Fall 2015, Sep ELEC / Lecture 5 1 ELEC / Computer Architecture and Design Fall 2015 Datapath and Control (Chapter.
PC Instruction Memory Address Instr. [31-0] 4 Fig 4.6 p 309 Instruction Fetch.
Datapath and Control AddressInstruction Memory Write Data Reg Addr Register File ALU Data Memory Address Write Data Read Data PC Read Data Read Data.
Design a MIPS Processor
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.
RegDst 1: RegFile destination No. for the WR Reg. comes from rd field. 0: RegFile destination No. for the WR Reg. comes from rt field.
EI209 Chapter 4B.1Haojin Zhu, SJTU 2015 EI 209 Computer Organization Fall 2015 Chapter 4B: The Processor, Control and Multi-cycle Datapath [Adapted from.
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 10: Control Design
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE 7: Multicycle CPU Instructor: Francis G. Wolff Case Western Reserve University.
Chapter 4 From: Dr. Iyad F. Jafar Basic MIPS Architecture: Multi-Cycle Datapath and Control.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
Design a MIPS Processor (II)
Single-cycle CPU Control
CSE 331 Computer Organization and Design Fall 2007 Week 10 & 11
Access the Instruction from Memory
Multi-Cycle Datapath and Control
Chapter 5: A Multi-Cycle CPU.
Computer Architecture
IT 251 Computer Organization and Architecture
Systems Architecture I
Multi-Cycle CPU.
Extensions to the Multicycle CPU
Single Cycle Processor
D.4 Finite State Diagram for the Multi-cycle processor
Multi-Cycle CPU.
Basic MIPS Architecture
CS/COE0447 Computer Organization & Assembly Language
CS/COE0447 Computer Organization & Assembly Language
The Multicycle Implementation
The Multicycle Implementation
Systems Architecture I
Vishwani D. Agrawal James J. Danaher Professor
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Processor: Multi-Cycle Datapath & Control
Multi-Cycle Datapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Review Fig 4.15 page 320 / Fig page 322
Control Unit for Multiple Cycle Implementation
5.5 A Multicycle Implementation
CS/COE0447 Computer Organization & Assembly Language
Systems Architecture I
Control Unit for Multiple Cycle Implementation
FloorPlan for Multicycle MIPS
The Processor: Datapath & Control.
COMS 361 Computer Organization
Processor: Datapath and Control
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

{ CPU Design-Project CPU Design-Project Multicycle Datapath with Finite State Machine as Control Unit N.S.V Ravi Tej Uppu

NameMnemicFormat OperationOpcode Add add RR[rd] = R[rs] + R[rt] 0000 And and RR[rd] = R[rs] & R[rt] 0001 Or or RR[rd] = R[rs] | R[rt] 0010 Subtract sub RR[rd] = R[rs] - R[rt] 0011 Not not RR[rd] = nt[ R[rs] | $0] 0100 Xor xor RR[rd] = R[rs] xor R[rt] 0101 Load word lw IR[rt]=M(R[rs]+signExtImm) 0110 Store word sw IM(R[rs]+signExtImm)=R[rt] 0111 Add Imm addi IR[rt] = R[rs] + signExtImm 1000 And Imm andi IR[rt] = R[rs] & signExtImm 1001 Or Imm ori IR[rt] = R[rs] | signExtImm 1010 Branch on equal beq Iif R[rs]==R[rt],PC=PC+4+brn add 1011 Halt hlt JPC = PC Jump j JPC = jump address 1101 Set on less than slt RR[rd] = (R[rs]<R[rt]) ? 1 : Jump and link jal IR[15]=PC+4; PC = jump address 1111 Core Instruction set:-

15 opcode 1211 rs 87 rt 43 rd 0 Basic Instruction Formats: R 15 opcode 1211 rs 87 rt 43 immediate 0 I J15 opcode 1211 address 0 Name Number Use $zero 0the constant value ‘0’ $at 1assembler Temporary $v0 2values for function results $a0-$a3 3-6arguments $t0-$t3 7-10temporary registers $s0-$s saved temporary $ra 15return address Register Name, Number, Use:

Multicycle Datapath with Control unit: PC 1 mux 0 Address Memory Mem data Write data Inst(15-12) Instruction( 11-8) Instruction( 7-4) (Inst Reg) Instruction( 4-0) Memory Data Register 1 mux 0 Sign Exten d Read reg 1 read data 1 Read reg 2 Reg-file Write reg read data 2 Write data A B 1 mux AL U- op o/p’s Contr ol Op(3- 0) rsrs rt PCWriteCond PCWrite IorD Mem Write IRWrite Regdst RegWrite ALUSrcA ALUSrcB ALUop PCSource zero Inst(0-11) & PC(12-15) rd MemtoReg

Finite State Machine Control: ALUSrcA=0 IorD=0,IRwrt ALUSrcB=01 ALUOp=000 PCwrite=1 PCSource=00 ALUSrcA=0 ALUSrcB=10 ALUop=000 PCwrite PCSource =10 ALUSrcA=1 ALUSrcB=00 ALUop=011 PCwritecond PCSource=01 ALUSrcA=1 ALUSrcB=00 ALUop= opcode(2-0) A LUSrcA=1 ALUSrcB=0 0 AlUop=000 IorD= 1 Memwrite IorD=1 RegDst=1 Regwrite Memtore g=0 RegDst= 0 Regwrite Memto Reg=1 Start 0 Instruction Fetch 1 Instruction Decode (op=‘lw’)or(op=‘sw’) op = R-type Op=beq Op=‘jmp’ Mem Addr Comp Exec Branch Comp Jmp Comp MemAccs Mem Read Comp R-type Comp

Defining The Control Signals: Signal Name\state RegDst RegWrite ALUSrcA MemWrite MemtoReg IorD IRWrite PCWrite PCWriteCond ALUop ALUSrcB PCSource

Test Program: High Level Language Assembly LanguageMachine Language Traditional loop in c: While (save[i] < k) i += 1; Assuming: i -> $s0 k -> $s1 base address of save->$s3 loop: add $t1,$s0,$0 add $t1,$t1,$s3 lw $t0,0($t1) beq $t0,$s1,Exit addi $s0,$s0,1 j loop Exit: add $s2,$0,$0 Exit: Exit loop address

Future modifications: Future modifications: - Make changes in the core instruction set and add instructions like (a) Jump register (b) Shift left logic -Implement the control unit as a Micro Computer using: (a) Micro Instructions (b) Microprogramming. -Make effective use of the registers defined. Conclusion: The above designed CPU can execute a sequence of instructions which include R-type, Data transfer, branching etc., while its operations for programs which include functions is to be tested.

Questions Questions

Thank you! Thank you!