Lab Assignment 2: MIPS single-cycle implementation

Slides:



Advertisements
Similar presentations
CS/COE1541: Introduction to Computer Architecture Datapath and Control Review Sangyeun Cho Computer Science Department University of Pittsburgh.
Advertisements

ELEN 468 Advanced Logic Design
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
©UCB CS 161Computer Architecture Chapter 5 Lecture 9 Instructor: L.N. Bhuyan Adapted from notes by Dave Patterson (http.cs.berkeley.edu/~patterson)
1 Chapter Five The Processor: Datapath and Control.
The Processor: Datapath & Control
1  1998 Morgan Kaufmann Publishers Chapter Five The Processor: Datapath and Control.
©UCB CS 162 Computer Architecture Lecture 1 Instructor: L.N. Bhuyan
Lec 17 Nov 2 Chapter 4 – CPU design data path design control logic design single-cycle CPU performance limitations of single cycle CPU multi-cycle CPU.
Computer ArchitectureFall 2007 © October 3rd, 2007 Majd F. Sakr CS-447– Computer Architecture.
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.
Chapter Five The Processor: Datapath and Control.
Lecture 16: Basic CPU Design
Datapath and Control Andreas Klappenecker CPSC321 Computer Architecture.
Processor I CPSC 321 Andreas Klappenecker. Midterm 1 Thursday, October 7, during the regular class time Covers all material up to that point History MIPS.
The Processor Andreas Klappenecker CPSC321 Computer Architecture.
Computing Systems The Processor: Datapath and Control.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Lecture 9. MIPS Processor Design – Instruction Fetch Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education &
A full die photograph of the MIPS R2000 RISC Microprocessor is shown above. The 1986 MIPS R2000 with five pipeline stages and 450,000 transistors was the.
Processor: Datapath and Control
Lec 15Systems Architecture1 Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some.
1 COMP541 Multicycle MIPS Montek Singh Apr 4, 2012.
CSE 340 Computer Architecture Summer 2014 Basic MIPS Pipelining Review.
Gary MarsdenSlide 1University of Cape Town Chapter 5 - The Processor  Machine Performance factors –Instruction Count, Clock cycle time, Clock cycles per.
CS.305 Computer Architecture Enhancing Performance with Pipelining Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from.
Computer Organization CS224 Fall 2012 Lesson 22. The Big Picture  The Five Classic Components of a Computer  Chapter 4 Topic: Processor Design Control.
ECE 445 – Computer Organization
CDA 3101 Fall 2013 Introduction to Computer Organization
Electrical and Computer Engineering University of Cyprus LAB 2: MIPS.
W.S Computer System Design Lecture 4 Wannarat Suntiamorntut.
COMP541 Multicycle MIPS Montek Singh Mar 25, 2010.
D ATA P ATH OF A PROCESSOR (MIPS) Module 1.1 : Elements of computer system UNIT 1.
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
1  2004 Morgan Kaufmann Publishers Chapter Five.
By Wannarat Computer System Design Lecture 4 Wannarat Suntiamorntut.
CPU Overview Computer Organization II 1 February 2009 © McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined.
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.
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.
MIPS Processor.
May 22, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 14: A Simple Implementation of MIPS * Jeremy R. Johnson Mon. May 17, 2000.
1. 2 MIPS Hardware Implementation Full die photograph of the MIPS R2000 RISC Microprocessor. The 1986 MIPS R2000 with five pipeline stages and 450,000.
Computer Architecture Lecture 6.  Our implementation of the MIPS is simplified memory-reference instructions: lw, sw arithmetic-logical instructions:
CS161 – Design and Architecture of Computer Systems
Electrical and Computer Engineering University of Cyprus
ELEN 468 Advanced Logic Design
Morgan Kaufmann Publishers
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
Processor (I).
CS/COE0447 Computer Organization & Assembly Language
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Designing MIPS Processor (Single-Cycle) Presentation G
CSCI206 - Computer Organization & Programming
MIPS Processor.
Levels in Processor Design
Morgan Kaufmann Publishers The Processor
Topic 5: Processor Architecture Implementation Methodology
Rocky K. C. Chang 6 November 2017
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Topic 5: Processor Architecture
Systems Architecture I
COMS 361 Computer Organization
Chapter Four The Processor: Datapath and Control
The Processor: Datapath & Control.
MIPS Processor.
Processor: Datapath and Control
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

Lab Assignment 2: MIPS single-cycle implementation Electrical and Computer Engineering University of Cyprus

Lab Tutorial Assignment ISE Tool setup Any Questions? A solution/tutorial will be uploaded once all assignments have been submitted

The Five Classic Components of a Computer Processor Datapath: The processor elements that operate on and/or store data Control: The processor element that decides how and when parts of the datapath are executed  FSM Memory Input Control Output Datapath

INTRODUCTION The MIPS processor, designed in 1984 by researchers at Stanford University. Is a RISC (Reduced Instruction Set Computer) processor. Compared with their CISC (Complex Instruction Set Computer) counterparts (such as the Intel Pentium processors), RISC processors typically support fewer and much simpler instructions. A RISC processor can be made much faster than a CISC processor because of its simpler design.

INTRODUCTION (…) RISC processors typically have a load-store architecture. Two instructions for accessing memory: a load (l) instruction to load data from memory, a store (s) instruction to write data to memory. None of the other instructions can access memory directly.

5-Stage MIPS Stage 5 PC Registers ALU Instruction Memory (Imem) Data (Dmem) Stage 1 Stage 2 Stage 3 Stage 4 IFtch Dcd Exec Mem WB ALU IM Reg DM

STAGES OF EXECUTION IN MIPS 5 stage instruction pipeline 1) I-fetch: Fetch Instruction, Increment PC 2) Decode: Instruction, Read Registers 3) Execute: Mem-reference: Calculate Address R-format: Perform ALU Operation 4) Memory: Load: Read Data from Data Memory Store: Write Data to Data Memory 5) Write Back: Write Data to Register

Block Diagram of MIPS single-cycle processor

Datapath elements Instruction memory Register file ALU Data memory PC register, adder increment PC by 4 Register file ALU Data memory

Edge Triggered Methodology Unclocked vs. Clocked Clocks used in synchronous logic when should an element that contains state be updated? — wouldn't want to read a signal at the same time it was being written cycle time rising edge falling edge

Edge Triggered Methodology Register file A clocking methodology defines when signals can be read and written Write Data to Memory Instruction Read From Memory Value Written to Register File Read Register Values Execute

The MIPS instructions format

Single-cycle Implementation All operations take the same amount of time - a single cycle long cycle time Instructions same size Source registers always in same place Immediates same size, location Operations always on registers/immediates

LAB2 You will become familiar with the MIPS instruction set by implementing a single-cycle core in VHDL The example code will be uploaded to the website You have two weeks for this project don’t wait until the night before to tackle

LAB2 You will be given the design skeleton of a single-cycle MIPS processor that is capable of performing some instructions. Complete the design of the single-cycle implementation in order to support the required MIPS instruction set.

MIPS 32 Instruction Set - We're ready to look at an implementation of the MIPS - Simplified to contain only: - memory-reference instructions: lw, sw - arithmetic-logical instructions: add, sub, and, or, slt - control flow instructions: beq - Generic Implementation: - use the program counter (PC) to supply instruction address - get the instruction from memory - read registers - use the instruction to decide exactly what to do

MIPS IFETCH CONTROL EXECUTE DMEMORY IFETCH IFETCH IDECODE

DEMO You'll want to build a suite of test programs to test the new capabilities of your implementation as you add them. Test Programs are Stored in the IFETCH.vhd file You will be expected to run a number of supplied programs.

REPORT Objective of this lab and intro. Your implementation Your test programs and results (simulations) Your conclusion Attach your VHDL source code (email)

Important Announcements! Lab material (Tutorials, VHDL Files) will be uploaded in the website! Deadline for Lab 2 is on: 1/10/2014 No Lab Lecture next week, but we can be at the lab if there are questions

Adding Instructions to MIPS (Tutorial) Branch not Equal (Bne) Load Upper Immediate (Lui)

Branch Not Equal (Ben)

Load Upper Immediate (Lui)