1 ECE243 CPU Modification Lab. 2 You will add new insts to a CPU A CPU that implements mini ISA exists –you can compile it, load it onto DE2, run programs.

Slides:



Advertisements
Similar presentations
Adding the Jump Instruction
Advertisements

Instruction-Level Parallel Processors {Objective: executing two or more instructions in parallel} 4.1 Evolution and overview of ILP-processors 4.2 Dependencies.
ISA Issues; Performance Considerations. Testing / System Verilog: ECE385.
MIPS processor continued. Review Different parts in the processor should be connected appropriately to be able to carry out the functions. Connections.
Electrical and Computer Engineering MIDI Note Number Display UGA Presentation and Demo ECE 353 Lab B.
Computer Architecture Abhinav Agarwal Veeramani V.
Review of Blackfin Syntax Moves and Adds 1) What we already know and have to remember to apply 2) What we need to learn.
Lab Assignment 2: MIPS single-cycle implementation
Over-view of Lab. 1 For more details – see the Lab. 1 web-site There will be a 20 min prelab quiz (based on Assignment 1 and 2) at the start of the lab.
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Computer Architecture I - Class 9
Levels in Processor Design
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
ECE 4436ECE 5367 ISA I. ECE 4436ECE 5367 CPU = Seconds= Instructions x Cycles x Seconds Time Program Program Instruction Cycle CPU = Seconds= Instructions.
CS 101 Problem Solving and Structured Programming in C Sami Rollins Spring 2003.
1 COMP541 Completing the MIPS Datapath Montek Singh Mar 27, 2007.
THE BIG PICTURE. How does JavaScript interact with the browser?
1 A Simple but Realistic Assembly Language for a Course in Computer Organization Eric Larson Moon Ok Kim Seattle University October 25, 2008.
Designing the WRAMP Dean Armstrong The University of Waikato.
IT253: Computer Organization Lecture 10: Making a Processor: Control Signals Tonga Institute of Higher Education.
COMP3221 lec04--prog-model.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lecture 4: Programmer’s Model of Microprocessors
2/8/02CSE MultiCycle From One Cycle to Many Note: Some of the material in this lecture are COPYRIGHT 1998 MORGAN KAUFMANN PUBLISHERS, INC. ALL RIGHTS.
Constructive Computer Architecture Tutorial 3: Debugging SMIPS Andy Wright 6.S195 TA October 4, 2013http://csg.csail.mit.edu/6.s195T03-1.
Lab 05 Sen Ma.
Multiple-Cycle Hardwired Control Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
Computer Organization & Programming Chapter 6 Single Datapath CPU Architecture.
Lab 2 Parallel processing using NIOS II processors
1/8/ Extra CreditCopyright Joanne DeGroat, ECE, OSU1 PS3xcr Extra Credit Project Modification that can be done to the datapath.
Problem sets/ EE382 Project: Starting with Verilog EE Veynu Narasiman Carlos Villavieja.
ECE 2372 Modern Digital System Design Section 4.8 Xilinx Schematic Capture Simulation Tutorial.
MIPS Pipeline and Branch Prediction Implementation Shuai Chang.
Constructive Computer Architecture Tutorial 4: Running and Debugging SMIPS Andy Wright TA October 10, 2014http://csg.csail.mit.edu/6.175T04-1.
Teaching Digital Logic courses with Altera Technology
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.
1 CSE 140L Discussion How to design your CPU (and how it works!)
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
Exercise 4.2 The basic single-cycle MIPS implementation in Figure 4.2 can only implement some instructions. New instructions can be added to an existing.
Introduction to the FPGA and Labs
An introduction to Reverse engineering, the tools and assembly
CS161 – Design and Architecture of Computer Systems
Today’s Agenda Exam 2 Part 2 (11:15am-12:30pm)
CS161 – Design and Architecture of Computer Systems
Computer Architecture
Modification that can be done to the datapath.
Computer Architecture CSCE 350
Computer Programming Machine and Assembly.
CS/COE0447 Computer Organization & Assembly Language
CS/COE0447 Computer Organization & Assembly Language
Modification that can be done to the datapath.
Figure 8.1 Architecture of a Simple Computer System.
Levels in Processor Design
Topic 5: Processor Architecture Implementation Methodology
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Computer Science A Level
Copyright Joanne DeGroat, ECE, OSU
Topic 5: Processor Architecture
COMS 361 Computer Organization
Branch instructions We’ll implement branch instructions for the eight different conditions shown here. Bits 11-9 of the opcode field will indicate the.
A Discussion on Assemblers
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.
Blackfin BF533 EZ-KIT Control The O in I/O
Program Execution.
Copyright Joanne DeGroat, ECE, OSU
Review: The whole processor
Design of Digital Circuits Lab 8 Supplement: Full System Integration
Control Unit (single cycle implementation)
Hmmm Assembly Language
Blackfin Syntax Moves and Adds
Presentation transcript:

1 ECE243 CPU Modification Lab

2 You will add new insts to a CPU A CPU that implements mini ISA exists –you can compile it, load it onto DE2, run programs Your job: add support for new instructions –just like examples we did “on paper” in class –but harder cuz you have to do it for real Kewlness factor: –a taste of real processor design

3 Outline of What to Do 1) download/read documents/tutorials!! 2) decide steps (cycles) for each new inst 3) decide additions to datapath (and draw them) 4) decide new control states –and what ctrl signals (outputs) will be 5) implement your design You should already know how to do (1)-(4) The challenge is learning how to do (5)

4 5) Implementing Your Design modify the control first: modify verilog file 'FSM.v' –add any new control signals to the list of outputs –make the state register wider if out of bits for new states –add new state transitions (easy) –add list of control signal values for each new state modify the datapath--two different ways to do it: –modify verilog file (change code in 'multicycle.v') –OR modify schematic (mouse/GUI)

5 Programming Your New CPU You must write new mini-ISA programs –to exercise the new insts you added to the CPU You have to modify the mini-ISA assembler –to support these new insts

6 Don’t Panic! Lots of info to read –lab web page, tutorials Several new tools to learn –very basic verilog –Quartus/schematic –mini-ISA assembler Not too bad if you carefully follow the documentation