16-bit 4-stage Pipelined Microprocessor EECS 427 Project Group: JARS (John, Abhishek, Ramashis, Syed)

Slides:



Advertisements
Similar presentations
The CPU The Central Presentation Unit What is the CPU?
Advertisements

Chapter 1. Basic Structure of Computers
Central Processing Unit
Adding the Jump Instruction
Instructor: Yuzhuang Hu Final Exam! The final exam is scheduled on 7 th, August, Friday 7:00 pm – 10:00 pm.
MIPS Pipelined Datapath
Review: MIPS Pipeline Data and Control Paths
CS-447– Computer Architecture Lecture 12 Multiple Cycle Datapath
EECS 470 Pipeline Hazards Lecture 4 Coverage: Appendix A.
Fall 2007 MIPS Datapath (Single Cycle and Multi-Cycle)
1 Stalling  The easiest solution is to stall the pipeline  We could delay the AND instruction by introducing a one-cycle delay into the pipeline, sometimes.
Lec 8: Pipelining Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University.
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.
I/O Subsystem Organization and Interfacing Cs 147 Peter Nguyen
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
Class 9.1 Computer Architecture - HUJI Computer Architecture Class 9 Microprogramming.
Pipelining By Toan Nguyen.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Chapter 5 Basic Processing Unit
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Computer Architecture Lecture 09 Fasih ur Rehman.
Pipelined Datapath and Control
Fall EE 333 Lillevik 333f06-l8 University of Portland School of Engineering Computer Organization Lecture 8 Detailed MIPS datapath Timing overview.
Sample Code (Simple) Run the following code on a pipelined datapath: add1 2 3 ; reg 3 = reg 1 + reg 2 nand ; reg 6 = reg 4 & reg 5 lw ; reg.
Electrical and Computer Engineering University of Cyprus LAB 2: MIPS.
C HAPTER 5 T HE PROCESSOR : D ATAPATH AND C ONTROL M ULTICYCLE D ESIGN.
TEAM FRONT END ECEN 4243 Digital Computer Design.
1 A single-cycle MIPS processor  An instruction set architecture is an interface that defines the hardware operations which are available to software.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
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.
11 Pipelining Kosarev Nikolay MIPT Oct, Pipelining Implementation technique whereby multiple instructions are overlapped in execution Each pipeline.
CSE431 L06 Basic MIPS Pipelining.1Irwin, PSU, 2005 MIPS Pipeline Datapath Modifications  What do we need to add/modify in our MIPS datapath? l State registers.
CMPE 421 REVIEW: MIDTERM 1. A MODIFIED FIVE-Stage Pipeline PC A Y R MD1 addr inst Inst Memory Imm Ext add rd1 GPRs rs1 rs2 ws wd rd2 we wdata addr wdata.
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
CDA 3101 Spring 2016 Introduction to Computer Organization Microprogramming and Exceptions 08 March 2016.
1 CS/COE0447 Computer Organization & Assembly Language Chapter 5 Part 3.
STUDY OF PIC MICROCONTROLLERS.. Design Flow C CODE Hex File Assembly Code Compiler Assembler Chip Programming.
Electrical and Computer Engineering University of Cyprus
Computer Organization
ARM Organization and Implementation
Morgan Kaufmann Publishers
Morgan Kaufmann Publishers The Processor
Decode and Operand Read
Design of the Control Unit for Single-Cycle Instruction Execution
MIPS processor continued
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers The Processor
CS/COE0447 Computer Organization & Assembly Language
Computer Architecture
Design of the Control Unit for One-cycle Instruction Execution
8086 Ahad.
Systems Architecture II
MIPS Processor.
Rocky K. C. Chang 6 November 2017
Levels in Processor Design
Levels in Processor Design
Branch instructions We’ll implement branch instructions for the eight different conditions shown here. Bits 11-9 of the opcode field will indicate the.
Control Unit (single cycle implementation)
Levels in Processor Design
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
Control Unit for Multiple Cycle Implementation
MIPS processor continued
Review: The whole processor
Control Unit for Multiple Cycle Implementation
The Processor: Datapath & Control.
COMS 361 Computer Organization
MIPS Pipelined Datapath
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

16-bit 4-stage Pipelined Microprocessor EECS 427 Project Group: JARS (John, Abhishek, Ramashis, Syed)

Block Diagram CONTROLLER On-Chip Memory (RAM) DATAPATH On-Chip Memory (ROM) I/O

Write Back Data Jump Target Write Jump PC IR PC RegA RegB Register File MUX ALU SHIFTER Data Memory (RAM) Sign Extend MUX +1 Instr Mem (ROM) Datapath – 4 Stages Stage 1 (Instruction Fetch) Sends PC to Instruction Memory Gets the Instruction Increments PC to PC+1 Stage 2 (Instruction Decode and Register Fetch) Instruction is Decoded in controller Operands for current Instruction is fetched from Register file/Instruction In case of Bypass, value is forwarded from previous instruction Stage 3 (ALU, Shifter, Memory Access) Operands are properly chosen and fed into the ALU, Shifter and Memory units Tri-state MUX is used to select the correct result to be fed into the data-bus Provision for data- forwarding PSR calculations and Branch Prediction done Stage 4 (Register Write-back and PC Update) Writes back the result in Destination Register In case of Jump, it loads PC with the new value

Simulation Results:

Simulation Results (… Contd)

External Read/Write Store and Load instructions are slightly modified to incorporate I/O from outside. Output Instruction: Store r0, rn % rn – contains address of data memory from where data has to be sent. ‘r0’ tells controller that it is an external output. Input Instruction: Load raddr’, r1 % raddr’[9] = ‘1’ which tells controller to store external data to memory address raddr’[8:0]. (Note: 9 th bit is unused for normal load operation as we are using 512 RAM) Idle-waiting has been implemented to wait for data till it is available to the μP.

Data Out RAM I/O Selector Output Buffer Output ReadyDATA INDATA OUT Outside world Inside Chip

Data Input (Idle waiting) Instruction Memory PCPC Interrupt Controller IRIR Input Ready load_enable +1

Project Done! DRC & LVS checked layout of μP without on- chip memory. DRC checked layout of μP with memory. Memory mapped data I/O with idle-waiting implemented. DFT: All internal datapath registers are part of Scan chain which facilitates testing.

Thank You - JARS