Team Members Matt Fuller Vineetha Ayarpulli Robert Lundine.

Slides:



Advertisements
Similar presentations
1 Lecture 3: MIPS Instruction Set Today’s topic:  More MIPS instructions  Procedure call/return Reminder: Assignment 1 is on the class web-page (due.
Advertisements

CENG 311 Decisions in C/Assembly Language
Goal: Write Programs in Assembly
Lecture 5: MIPS Instruction Set
MIPS assembly. Review  Lat lecture, we learnt  addi,  and, andi, or, ori, xor, xori, nor,  beq, j, bne  An array is stored sequentially in the memory.
Branches Two branch instructions:
CPS3340 COMPUTER ARCHITECTURE Fall Semester, /15/2013 Lecture 11: MIPS-Conditional Instructions Instructor: Ashraf Yaseen DEPARTMENT OF MATH & COMPUTER.
Pipeline Optimization
Solution 2nd Exam.
Pipeline Computer Organization II 1 Hazards Situations that prevent starting the next instruction in the next cycle Structural hazards – A required resource.
The University of Adelaide, School of Computer Science
ELEN 468 Advanced Logic Design
Comp Sci instruction encoding 1 Instruction Encoding MIPS machine language Binary encoding of instructions MIPS instruction = 32 bits Three instruction.
Lab Assignment 2: MIPS single-cycle implementation
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Chapter Six Enhancing Performance with Pipelining
1 Chapter Six - 2nd Half Pipelined Processor Forwarding, Hazards, Branching EE3055 Web:
CSCE 212 Quiz 2 – 2/2/11 1.What is the purpose of the jal instruction? 2.What are the two conditional branching (if, goto; not the slt instruction) instructions.
Computer Structure - The Instruction Set (2) Goal: Implement Functions in Assembly  When executing a procedure (function in C) the program must follow.
1 Lecture 2: MIPS Instruction Set Today’s topic:  MIPS instructions Reminder: sign up for the mailing list cs3810 Reminder: set up your CADE accounts.
RISC Concepts, MIPS ISA and the Mini–MIPS project
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
ECE 232 L5 Assembl.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 5 MIPS Assembly.
331 Practice Exam.1Fall 2003 Naming Conventions for Registers 0$zero constant 0 (Hdware) 1$atreserved for assembler 2$v0expression evaluation & 3$v1function.
MIPS Instruction Set Advantages
CMPT 334 Computer Organization
IT253: Computer Organization Lecture 5: Assembly Language and an Introduction to MIPS Tonga Institute of Higher Education.
Memory and Addressing How and Where Information is Stored.
1 Pipelining Reconsider the data path we just did Each instruction takes from 3 to 5 clock cycles However, there are parts of hardware that are idle many.
1. 2 Instructions: Words of the language understood by CPU Instruction set: CPU’s vocabulary Instruction Set Architecture (ISA): CPU’s vocabulary together.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
1 CS/COE0447 Computer Organization & Assembly Language Chapter 2 Part 4.
Fall EE 333 Lillevik 333f06-l5 University of Portland School of Engineering Computer Organization Lecture 5 MIPS Instructions Loops Machine Instructions.
Lecture 4: MIPS Instruction Set
IFT 201: Unit 1 Lecture 1.3: Processor Architecture-3
Computer Organization & Programming Chapter 6 Single Datapath CPU Architecture.
MIPS coding. Review Shifting – Shift Left Logical (sll) – Shift Right Logical (srl) – Moves all of the bits to the left/right and fills in gap with 0’s.
Computer Architecture CSE 3322 Lecture 3 Assignment: 2.4.1, 2.4.4, 2.6.1, , Due 2/3/09 Read 2.8.
Team DataPath Research Computer Architechture. PC and IF in the Processor.
MS108 Computer System I Lecture 3 ISA Prof. Xiaoyao Liang 2015/3/13 1.
Computer Organization Instructions Language of The Computer (MIPS) 2.
Computer Organization CS224 Fall 2012 Lessons 7 and 8.
Computer Architecture CSE 3322 Lecture 4 Assignment: 2.4.1, 2.4.4, 2.6.1, , Due 2/10/09
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 11 Conditional Operations.
Introduction to Computer Organization Pipelining.
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.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
Computer Architecture & Operations I
CS2100 Computer Organization
MIPS Instruction Set Advantages
Morgan Kaufmann Publishers
Lecture 4: MIPS Instruction Set
ELEN 468 Advanced Logic Design
CDA 3101 Spring 2016 Introduction to Computer Organization
The University of Adelaide, School of Computer Science
Pipelining review.
Addressing in Jumps jump j Label go to Label op address 2 address
Computer Architecture
Pipelining in more detail
Computer Architecture
The University of Adelaide, School of Computer Science
Pipelining: Basic Concepts
Instruction Rescheduling and Loop-Unroll
MIPS e pipelining Tecniche di base.
Data Hazard Example (no stalls).
MIPS Coding Continued.
CPU Design use pipeline
7/6/
9/13/
Presentation transcript:

Team Members Matt Fuller Vineetha Ayarpulli Robert Lundine

Programming Language: C++ Number of Instructions: New Instructions implemented : EXIT and along with slt, slti was also implemented. Number of Registers: 8 Formats Used: R-type, I-type, J-type Falling Edge Triggered

Instruction Name Mnemonic OperationOpcodeFunctionFormat Addadd add $s3, $s2, $s1; $s3 = $s2 + $s R Subtractsubsub $s3, $s2, $s1; $s3 = $s2 - $s R Andandand $s3, $s2, $s1; $s3 = $s2 & $s R Nornornor $s3, $s2, $s1; $s3 = ~($s2 | $s1) R Ororor $s3, $s2, $s1; $s3 = $s2 | $s R Set Less Thansltslt $s3, $s2, $s1; $s3 = ($s2 < $s1)?1: R Shift Leftsllsll $s3, $s2, $s1; $s3 = $s2 << $s10110 I Shift Rightsrlsrl $s3, $s2, $s1; $s3 = $s2 >> $s10111 I Add Immediateaddi addi $s1, $s2, 100; $s1 = $s I exit 1001 J Set Less Than Immediate slti slti $s1, $s2, 100; $s1 = ($s2 < 100)?1: I Load Wordlw lw $s1, 100($s2); $s1 = [$s2] + (100*4) 1011 I Store Wordsw sw $s1, 100($s2); $s1 = [$s2] + (100*4) 1100 I Branch on Equalbeq beq $s1, $s2, L1; ($s1==$s2)? PC = PC+4+address L I Branch on Not Equal bne bne $s1, $s2, L1; ($s1!=$s2)? PC = PC+4+address L I Jumpj J L1; PC = address L J

Forwarding and Hazard detection worked fine, but it in turn resulted in infinite loops. Branch prediction was not functioning as desired, led to stalls more often. Getting the pipelined version to run properly due to forwarding and hazard detection errors.

Forwarding and Hazard detection units were rectified and it gave desired results. The errors which led to infinite loops were corrected. Branch prediction was tackled in a different way : Code was reordered to minimize the stalls, thus Branch prediction gave expected results and fewer stalls. Voila !!! The pipelined version is up and working perfectly !!!