Interactive MIPS Datapath Tutorial Stephanie Holeman Jeffrey Larson John Even Scott Service Advisor/Client: Dr Prasant Mohapatra 28 April 1999
Overview Background Design Objectives Technical Approach Budgets Project Evaluation Future Work Lessons Learned Summary
Computer Architecture Background Computer Architecture Memory I/O Devices Processor Datapath Control
Background About MIPS Processor Uses MIPS Architecture Sony Playstation Nintendo 64 Project Vincent MIPS Architecture RISC based Pipelined All trademarks and copyrights are property of their respective owners.
Background 5 Stage Pipeline Instruction Fetch (IF), Instruction Decode (ID), Execute (EX), Memory (MEM), Write Back (WB)
Background Problem Statement Lack of interactive tools for understanding Computer Architecture concepts Aim to supplement lectures, slides, textbooks and problems
Design Objectives Web-based interactive learning tool Graphically simulate the datapath Implement MIPS instruction subset Question Mode (eliminated as per the client’s request)
Technical Approach Programming solutions considered Hardware Description Language (HDL) Microsoft® PowerPoint® C++ Java™ Chose instructions to implement Control features to implement Chose coding model
Technical Approach Assumptions and Limitations Accessibility Java (JDK 1.17b) Netscape Navigator® and Internet Explorer® Limited instruction set Control features no hazard detection no data forwarding
Technical Approach Coding Model GUI Pipeline Processor contains all interface components contains the pipeline Pipeline draws the datapath Processor simulates the datapath displays current stage data values
Technical Approach End Product Description Instruction selection add, addi, and, or, lw, sw, beq, slt, nop Insertion Phase Execution Phase
Budgets (Monetary) Monetary Budget Discrepancies Planned Budget ($50) Poster ($41) Color Copies ($12) Binding ($5) Transparencies ($8) We had unplanned expenditures!
Budgets (Fall Hours) Major Budget Discrepancies Planning (+19.5) Poster (+72) Design Review Document (+13) Java Tasks (-46) Weekly Meetings (-60) Too much time spent on the poster!
Budgets (Spring Hours) Major Budget Discrepancies Creating GUI (+8) Preparing for Initial Oral (+19) Final Report (+17.5) Learning Java (+16) Non GUI Java (-26) Elimination of Question Mode (-80)
Project Evaluation Long Term Success Short Term Success Usefulness to students Usefulness to instructors Short Term Success Meeting design objectives Satisfying client
Future Work Analyze user feedback Display the datapath control module Add hazard detection and data forwarding Implement additional instructions Implement question mode Allow instruction insertion from a text file
Lessons Learned Keep track of the big picture Team work skills Have third parties review your work Effective group management
Summary Computer Architecture refresher Learned Java Fulfilled client’s requirements Web-based interactive MIPS simulator A potential on-going senior design project
End Product Demonstration Let the learning begin
Thank you for your attention ?? Do you have any questions?