SD1020 Number of Members :3 Vidura Manu Wijayasekara Ridhima Agarwal Bhaskar Kumar Advisor : Dr. Sudarshan Srinivasan.

Slides:



Advertisements
Similar presentations
Processor Data Path and Control Diana Palsetia UPenn
Advertisements

Execution Cycle. Outline (Brief) Review of MIPS Microarchitecture Execution Cycle Pipelining Big vs. Little Endian-ness CPU Execution Time 1 IF ID EX.
By Praveen Venkataramani DESIGN OF A 16 BIT RISC MICROPROCESSOR USING MULTI-CYCLE DATA PATH.
Morgan Kaufmann Publishers The Processor
Final Project : Pipelined Microprocessor Joseph Kim.
1 ITCS 3181 Logic and Computer Systems B. Wilkinson Slides9.ppt Modification date: March 30, 2015 Processor Design.
Lecture Objectives: 1)Define pipelining 2)Calculate the speedup achieved by pipelining for a given number of instructions. 3)Define how pipelining improves.
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
1 A few words about the quiz Closed book, but you may bring in a page of handwritten notes. –You need to know what the “core” MIPS instructions do. –I.
Lab Assignment 2: MIPS single-cycle implementation
The Processor: Datapath & Control
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
Chapter Six Enhancing Performance with Pipelining
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 Structure - Datapath and Control Goal: Design a Datapath  We will design the datapath of a processor that includes a subset of the MIPS instruction.
Chapter Five The Processor: Datapath and Control.
DLX Instruction Format
Pipelining By Toan Nguyen.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Pipeline Hazard CT101 – Computing Systems. Content Introduction to pipeline hazard Structural Hazard Data Hazard Control Hazard.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Chapter 2 Summary Classification of architectures Features that are relatively independent of instruction sets “Different” Processors –DSP and media processors.
Lecture 8: Processors, Introduction EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014,
Pipelined 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.
Chapter 4 The Processor CprE 381 Computer Organization and Assembly Level Programming, Fall 2012 Revised from original slides provided by MKP.
CSE 340 Computer Architecture Summer 2014 Basic MIPS Pipelining Review.
CS.305 Computer Architecture Enhancing Performance with Pipelining Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from.
CMPE 421 Parallel Computer Architecture
Computer Organization CS224 Fall 2012 Lesson 22. The Big Picture  The Five Classic Components of a Computer  Chapter 4 Topic: Processor Design Control.
1 Designing a Pipelined Processor In this Chapter, we will study 1. Pipelined datapath 2. Pipelined control 3. Data Hazards 4. Forwarding 5. Branch Hazards.
CSIE30300 Computer Architecture Unit 04: Basic MIPS Pipelining Hsin-Chou Chi [Adapted from material by and
CPU Overview Computer Organization II 1 February 2009 © McQuain & Ribbens Introduction CPU performance factors – Instruction count n Determined.
LECTURE 7 Pipelining. DATAPATH AND CONTROL We started with the single-cycle implementation, in which a single instruction is executed over a single cycle.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
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.
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.
COM181 Computer Hardware Lecture 6: The MIPs CPU.
Simulator Outline of MIPS Simulator project  Write a simulator for the MIPS five-stage pipeline that does the following: Implements a subset of.
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
Computer Organization
ARM Organization and Implementation
Pipelining Chapter 6.
Morgan Kaufmann Publishers
Introduction CPU performance factors
Morgan Kaufmann Publishers
Morgan Kaufmann Publishers The Processor
Single Clock Datapath With Control
CDA 3101 Spring 2016 Introduction to Computer Organization
\course\cpeg323-08F\Topic6b-323
CS/COE0447 Computer Organization & Assembly Language
Design of the Control Unit for Single-Cycle Instruction Execution
Pipelining Chapter 6.
Design of the Control Unit for One-cycle Instruction Execution
Systems Architecture II
\course\cpeg323-05F\Topic6b-323
Topic 5: Processor Architecture Implementation Methodology
Rocky K. C. Chang 6 November 2017
Data Hazards Data Hazard
The Processor Lecture 3.6: Control Hazards
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Topic 5: Processor Architecture
Instruction Execution Cycle
Pipelining: Basic Concepts
Morgan Kaufmann Publishers The Processor
Introduction to Computer Organization and Architecture
Processor: Datapath and Control
Pipelining Hazards.
Chapter 4 The Von Neumann Model
Presentation transcript:

SD1020 Number of Members :3 Vidura Manu Wijayasekara Ridhima Agarwal Bhaskar Kumar Advisor : Dr. Sudarshan Srinivasan

THE FIVE CLASSIC COMPONENTS OF A COMPUTER Input,output,momory,datapath and control. The last two sometimes combine and called the processor.

32-Bit MIPS Elastic Synchronous Processor

INTRODUCTION In this project we would implement a synchronous processor, which is latency insensitive by design. Many research is happening in the industry on this topic, since the timing issues get more harder to solve with wire delays becoming an significant factor. In current method wire delays cannot be determined until final layout, which is a significant draw back in the synchronous design phase.

LATENCY

As the size of the transistor gets smaller… -Gate delay improves -Wire delay becomes too large to ignore Logic Gate Logic Gate Logic Gate Logic Gate Logic Gate Logic Gate Logic Gate Logic Gate Logic Gate Logic Gate Logic Gate Logic Gate

WIRE DELAY CANNOT BE DETERMINED UNTIL THE FINAL LAYOUT

REQUIREMENTS Study the MIPS (Microprocessor without Interlocked Pipeline Stages) architecture Test with two benchmarks to verify the functionality of the processor Study Synthesis of Synchronous Elastic Architectures and implement on a MIPS processor. Compile, simulate, test, and verify each component on the DE2 development board with the Altera Cyclone II FPGA. Design controllers for Latency Insensitive Design.

TECHNICAL CONTENT DESIGN APPROACH CURRENT DESIGN COMPONENTS PIPELINING ELASTIC CONTROLLERS TESTING, EVALUATION, AND VERIFICATION SOFTWARE IMPLEMENTATION

DESIGN APPROACH The logic design is described using VHDL Will be tested on Altera Cyclone II FPGA The project is in two phases: Phase 1: a synchronous microprocessor will be designed and implemented. Phase2: the design will be modified to a latency insensitive microprocessor and implemented

COMPONENTS ALU Program Counter Instruction Memory Data Memory Registers & Register File Decoder Forwarding Unit Hazard Detection Unit Elastic Controllers

ALU (Arithmetic Logic Unit) Does the major calculations including add, AND, OR sub In MIPS, the ALU takes two 32-bit inputs and produces one 32-bit output, plus some additional signals.

Final 32-Bit ALU

Program Counter (PC) The register containing the address of the instruction in the program being executed. MIPS instructions are each four bytes long, so the PC should be incremented by four to read the next instruction in sequence.

Instruction Memory (IM) Holds the instructions of a program. This design is capable of four basic instructions: R type Instructions (includes all the ALU operations) Load/Store Instructions Load: read a value from a memory location Store: write a value to a memory location Branch if equal Instruction Branch to a given offset if two register values are equal.

Instruction Fetch Stage

Data Memory A 32-bit register file being used for the data memory for simplicity. This model contains only 128 bytes of memory.

Registers AND Register File Register File: A state element that consists of a set of registers that can be read and written by supplying a register number to be accessed. Registers: Small, fast, storage units that are a part of the data path of the computer. Size: from a few bits to a few hundred bits. MIPS registers hold 32 bits. Number: from one to a few hundred. MIPS has 32 registers.

Decoder A logic block that has an n-bit input and 2n outputs where only one output is asserted for each input combination Block diagram of MIPS decode unit

Forwarding Unit A method of resolving the data hazard by retrieving from internal buffers rather than waiting for it to arrive from programmer-visible registers or memo Hazard Detection Unit This operates in the ID stage. Handles the data and control hazards created by the Forwarding unit. It stalls or flushes the registers to prevent unpredictable operations.

Final Datapath before Pipelining

Pipelining Buffered, Synchronous pipelines Conventional microprocessors are synchronous circuits that use buffered, synchronous pipelines. In these pipelines, "pipeline registers" are inserted in-between pipeline stages, and are clocked synchronously. The time between each clock signal is set to be greater than the longest delay between pipeline stages, so that when the registers are clocked, the data that is written to them is the final result of the previous stage.

Pipelined Datapath

Elastic Controllers For Latency Insensitivity, the latches in the pipeline will be replaced with Elastic Controllers. This will be done in the next semester.

TESTING, EVALUATION AND VERIFICATION Each component has been separately tested on Altera (FPGA). The functionality of each component is further evaluated on the FPGA and the data or the output after performing the test have been collected. The verification of the data/output has been done.

EVALUATION OF THE PIPELINE Executed instruction: 000000 00001 00011 00011 00000 100000 1st cc 2nd cc 3rd cc 4th cc 5th cc 6th cc 7th cc 8th cc 9th cc REG03 1 2 3 4 5 IF/ID ... …. … ID/EX EX/ MEM MEM/WB

Software Implementation Why Software is needed: Hardware doesn’t execute MIPS assembly language code. It only stores and executes those instructions that are written in a suitable format. This binary format is called the Machine Language. Software chosen: Machine Language: As it can be used directly by the hardware for execution. Assembly Language: Since machine code is very hard to understand that is why it is needed to make it understandable and human-centric. For this, Assembly Language is selected as it is very close to Machine code.

Instructions Performed ALU Instructions: ADD , AND , OR , SUB , SLT , J  OP Code( it is of 6 bits of length)  1St Register( 5 bits of address length) 2ND Register( 5 bits of address length) 16 bits of number to be performed with 2ND register.   ALU Instruction Op Code ADD 001000 AND 100100 OR 100101 SUB 100010 SLT 101010 J 000010

BUBBLE SORTING

LINEAR SEARCH

PROJECT STATUS The first phase of the project has been achieved successfully. This second phase will be resumed starting from Spring 2011. Some work is already being done for the second phase.(Elastic Controllers)

UPDATED TIMELINE First Group Meeting 2 All Requirements Capture 3 SL.NO   TASKS DURATION ( weeks) Person Responsible 1 First Group Meeting 2 All Requirements Capture 3 Adder & Subs tractor ALU instruction program for MIPS in Asm 4 Rid-Vid, Bhaskar ALU (Operations+ Unit) Encode programs in machine code 4,5 5 Implement Pipeline Algorithm for Linear Search 5,6 6 Decoding Logic Algorithm for Sorting 6,7 7 Program Counter Logic Asm for Linear search 6,8 8 ALU Instructions Asm for linear sorting 7-9,9 9 Load Instructions Encoding Linear Search 9-11,10 10 Store Instructions Encode Sorting 11 Branch Instructions, EC Test Sorting 12-14,12 12 FPGA test Test Binary search Program 15,13-15 13 Presentation + Demo 16

“COMPUTER ORGNIZATION AND DESIGN” BUDGET ITEM DISCRIPTION AMOUNT($) BOOK “COMPUTER ORGNIZATION AND DESIGN” 50.00 TOTAL APPROVED BUDGET

SUMMARY The Synchronous Latency Insensitive is an effective design which can resolve the timing issues. The software segment holds a vital importance in the verification of the final design. So far we were able to accomplish our target and look towards the upcoming semester.