CPU Design for Computer Integrated Experiment
|
|
- Janel Gardner
- 6 years ago
- Views:
Transcription
1 CPU Design for Computer Integrated Experiment Shan Lu, Guangyao Li, Yijianan Wang CEIE, Tongji University, Shanghai, China Abstract - Considering the necessity and difficulty of designing a CPU for students, we simplify the MIPS instruction set for a MIPS architecture processor. Besides this, data path is given and all internal modules are compiled such as ALU module, controller module, bus module and so on. After testing and validation, the difficulty and time consumption of designing such a CPU are proved possible for students. As a result, a suit of experiment platforms based on CPU is born. It not only provides students a chance to have their own processor, but also provides us with a platform for further experiment, such as OS and fundamentals of compilation. Key words: MIPS, processor, integrated experiment 1 Introduction Nowadays, most students whose major are CS have little understanding of the principle of CPU works, and have little practice. So these students can hardly grasp the main point of principle computer organization. To solve this problem, a simple student-oriented CPU is born. This design is used to help students to learn more about the computer configuration in practice. What s more, this CPU also provides a platform for the following course of OS and fundamentals of compilation. Thanks to the open instruction model, MIPS instruction set [1] is chosen. In this model, subscribers are encouraged to design your own CPU in accordance with their own demands. Besides this, MIPS belongs to the RISC architecture, and the instructions are simple and few. So it is a good idea to choose MIPS instruction to structure our CPU. It is easy for students to see the achievement in a short term. Verilog [2] is chosen to design this CPU because it is similar to C, and majority of students have C programming foundation. What s more, there are enough choices for you to design, such as ALU module, controller module, I/O module [3], storage module and so on. In this article, the designs and verification of all modules are involved. As a result, this CPU design has achieved the expected effect. 2 The Design of MIPS Processor 2.1 MIPS Instruction Set According to Harvard structure, data are stored separately from instruction. Figure 1 shows the five steps of execute a MIPS instruction in a single cycle. The five steps are IF, ID, EX, MEM, W B. (1) IF step, instruction address is taken from PC Register(PC_Reg) to identify the current execution instruction and sent to Instruction Memory(Instr_Mem) to get the binary code of the instruction through Address Bus. (2) ID step, instruction code is decoded by Controller to get the control signal. According to the different instruction type, the corresponding register value is obtained from the Register File(Reg File). (3) EX step, the operand and the control signal are sent to the ALU for arithmetical or logical operation or the BS module for shifting. (4) MEM step, according to different MIPS instruction, the ALU result will be sent to the bus controller for arbitration. The bus controller will decide the destination of data such as Data Memory(Data_Mem) or GPIO. GPIO module realizes the responsibility of cache to solve the speed relation between internal unit and peripheral unit. (5) WB, according to the control signal, write-back mux module will decide whether the data writes back to the Register File(Reg_File).
2 IF ID EX MEM WB Controller ALU Bus Controller PC Reg Instr Mem WriteBack Mux Reg File BS Data Mem GPIO Figure 1 process and modules of MIPS Figure 2 MIPS processor data path The 30 most common used instructions as shown in Table 1 include the arithmetical operation, logical operation, branch, store instruction and so on. This set meets all the demands we need in the following design. MIPS instruction sets include three types: R-type, I-type and J-type. (1) R-type means register instructions. Two operands are taken from Register File, and the result is also sent to the Register File. (2) I-type means immediate instructions. These instructions fetch 16-bit immediate as an operand. (3) J-type means jump instructions. These instructions fetch 26-bit immediate as the destination address which will be stored into PC Register. of MIPS processor is designed as Figure 2. Pin information and wiring information is designed as well according to the statement in section ALU design ALU module typically handles logical and arithmetical operation. The operation between operand A and B is controlled by ALU control signal(alucontrol). Afterwards ALU result and zero flag can be fetched from the output pins. Figure 3 shows the pin signal and Table 2 shows the detailed information of pins. 2.2 MIPS CPU Design Data Path Design After analyzing the MIPS instruction format and its [4, 5] classification, referring to the relevant CPU design and the MIPS modules defined in Figure 1, the data path Figure 3 ALU pin signal
3 Table 1 MIPS instruction set and its format Mnemonic Symbol Format Sample Bit # R-type op rs rt rd shamt func add rs rt rd add $1,$2,$3 addu rs rt rd addu $1,$2,$3 sub rs rt rd sub $1,$2,$3 subu rs rt rd subu $1,$2,$3 and rs rt rd and $1,$2,$3 or rs rt rd or $1,$2,$3 xor rs rt rd xor $1,$2,$3 nor rs rt rd nor $1,$2,$3 slt rs rt rd slt $1,$2,$3 sltu rs rt rd sltu $1,$2,$3 sll rt rd shamt sll $1,$2,10 srl rt rd shamt srl $1,$2,10 sra rt rd shamt sra $1,$2,10 sllv rs rt rd sllv $1,$2,$3 srlv rs rt rd srlv $1,$2,$3 srav rs rt rd srav $1,$2,$3 jr rs jr $31 Bit # I-type op rs rt immediate addi rs rt immediate addi $1,$2,100 addiu rs rt immediate addiu $1,$2,100 andi rs rt immediate andi $1,$2,10 ori rs rt immediate andi $1,$2,10 xori rs rt immediate andi $1,$2,10 lw rs rt immediate lw $1,10($2) sw rs rt immediate sw $1,10($2) beq rs rt immediate beq $1,$2,10 bne rs rt immediate bne $1,$2,10 slti rs rt immediate slti $1,$2,10 sltiu rs rt immediate sltiu $1,$2,10 Bit # J-type op address j address j jal address jal 10000
4 Table 2 ALU pin signal and function a(31:0) operand a of arithmetical or logical operation b(31:0) operand b of arithmetical or logical operation alucontrol(3:0) control signal, operation type result(31:0) ALU result zero zero flag, if it is effective, ALU result is zero Controller Design During the five steps of implementing MIPS instructions, signals from controller control the data flow in EX step, Mem step and WB step. Controller receives the machine code from instruction register, and then decodes it into control signal to control others modules, such as ALU module, BS module and so on. Figure 4 shows the pin signal and Table 3 shows the detailed information of pins. Figure 4 controller pin signal Table 3 controller pin signal and function funct(5:0) funct filed of instruction ImmHigh(7:0) data bus, controller get the high 8-bit of immediate to identify the data direction, to I/O or memory zero zero flag alucontrol(3:0) ALU control signal bscontrol(2:0) BS control signal aluormem data strobe signal, if it is effective, ALU result is sent to register, else data from memory is sent to register dstreg address strobe signal, if it is effective, Instr are set as destination register address, else bits of instructions are set as destination register address jal data or address strobe signal, when signal is effective, the value of PC+4 is sent to the NO.31 register jmp PC strobe signal, when signal is effective, the jump location is sent to PC register jorjr PC strobe signal, when signal is effective, the jump location is sent to PC register muxtobs bit strobe signal, if it is effective, the bit is the value which is stored in the register, which address is bits of instructions, else the immediate in the 10-6 bits of instruction is sent to BS as the bit to be shifted pcsrc branch signal readio I/O read signal readmem memory read signal rtorimm data strobe signal, if it is effective, ALU operand is the value from register, else 15-0 bits of instruction writebackorbs data strobe signal, if it is effective, BS result is written back writeio I/O write signal writemem memory write signal writereg register write signal zeroorsign extend control signal, if it is effective, the 15-0 bits will extend by zero, else the 15-0 bits will extend by symbol
5 2.2.4 BS Module Design This CPU is a single cycle processor. In this type of process, shift instruction is demanded to complete in a single cycle. Nowadays, there are three popular encoding. After analyzing these decoding, full-encoding [6] is chosen to realize the BS module. For 32-bit barrel shifter, it demands 5-bit control signal to co mplete logical shift, arithmetical shift and cyclic shift. Figure 5 shows the pin signal and Table 4 shows the detailed information of pins. Figure 5 barrel shifter pin signal Table 4 barrel shifter pin signal and function Bit(4:0) bit to shift Sin(31:0) operand type(2:0) type Sout(31:0) BS result Bus Module Bus module provides the unified writing and reading management of I/O and memory. The data can be distributed and I/O selected signal and port address can be given by the I/O or memory read-write signal. Figure 6 shows the pin signal and Table 5 shows the detailed information of pins. Table 5 bus module pin signal and function address(15:0) address bus, the low 16-bit of ALU result is set as the address of memory or I/O iodate(15:0) data bus, the data from I/O is sent to bus controller mdata(31:0) data bus, data from memory is sent to bus controller wdata(31:0) data bus, data from register is sent to bus controller readio I/O read signal readmem memory read signal writeio I/O write signal writemem memory write signal portaddr(3:0) port address, the low 4-bit of I/O address is set as port address rdata(31:0) data bus, I/O or memory read signal decide to read I/O data or memory data write_data(31:0) data bus, I/O or memory write signal decide to write data to I/O or memory LEDCtrl LED strobe signal Register Module Register module(figure 7) consists of 32 registers. Among those registers, No.31 register is used to store return address, the other registers are general-purpose register. During the five steps of implementing MIPS instructions, register module typically handles EX step and WB step. During EX step, operand is fetched from register and sent to ALU module. During WB step, the data is written to the register by the write register signal. Figure 6 bus module pin signal Figure 7 register module pin signal
6 S T E P. A S T E P. B C o n t r o l l o r T e s t i n g P C I n s t r u c t i o n B u s C o n t r o l M e m o r y & R e g A L U B S G P I O Figure 8 module testing process Figure 9 TestBench code Table 6 register module pin signal and function ra1(4:0) address bus, the bits of instruction is send to register as register address ra2(4:0) address bus, the bits of instruction is send to register as register address wa3(4:0) address bus, the data written back is sent to register as register address wd3(31:0) data bus, the data written back is sent to register as register data clk clock signal we3 register write signal rd1(31:0) data bus, the data is read from registers according to the ra1 address rd2(31:0) data bus, the data is read from registers according to the ra2 address 3 Testing and Verification RTL simulation consists of two parts, module testing and system testing. This simulation needs complete testbench, and output response for observation. You can determine whether the design reach the expected function in accordance with these information 3.1 Module Testing This testing is divided into two parts as shown in Figure 8. Step A verifies the correctness of PC to fetch the current instruction and next instruction. That is, to verify whether the MIPS processor fetches the machine code which PC points to, correctly parses the func filed, op filed and ImmHigh field of instruction and sends the binary code into right pin. Step B use QtSpim to generate the machine code of test program. The test programs are required to cover the routine testing and marginal testing.
7 All test programs are run in Modelsim. You can determine whether the design reach the desired function with the help of output pin signal. 3.2 System Testing Write testbench to test the MIPS processor by black box testing. The test which involves all instructions includes logical operation test, arithmetical operation test, GPIO test and so on. Figure 9 shows the testbench code of jump instruction which contains all J-type instruction, jr instruction and parts of I-type instruction such as beq instruction. With the help of instruction execute order and the registers data generated by Modelsim, we can determine whether the design reach the desired function or not. 4 Conclusion A student-oriented MIPS processor is designed to recognize and execute MIPS instruction set correctly. Besides this, as supplements, interface information and function explanation are given. Tests show that the difficulty and time factor are considered to be possible for students to design such a CPU. What s more, the implement of this MIPS processor provide the computer integrated experiment a visual testbed. In the process of this design, students can learn more about the computer configuration in practice. Up till now, we have completed the design and implementation of MIPS processor. The future work is to improve and enlarge the processor, and to program some software such as BIOS, Mini OS or Compiler beyond it. 5 Reference [1] MipsMIPS32 Architecture For Programmers Volume II: The MIPS32 Instruction Set,, MIPS Technologies, Inc. [2] Yuwen Xia, Verilog Digital System Design Tutorial. 2008, Beijing University of Aeronautics and Astronautics Press. [3] XILINX, XPS General Purpose Input/Output(GPIO) (v2.00a). [4] David Money Harris, Sarah L. Harris, Digital Design and Computer Architecture. [5] Quansheng Yang, The Computer System Comprehensive Design Course. 2008, Tsinghua University Press. [6] Field Programmable Gate Array. 1999, Atmel Corporation.
Computer Architecture Experiment
Computer Architecture Experiment Jiang Xiaohong College of Computer Science & Engineering Zhejiang University Architecture Lab_jxh 1 Topics 0 Basic Knowledge 1 Warm up 2 simple 5-stage of pipeline CPU
More informationCENG 3420 Lecture 06: Datapath
CENG 342 Lecture 6: Datapath Bei Yu byu@cse.cuhk.edu.hk CENG342 L6. Spring 27 The Processor: Datapath & Control q We're ready to look at an implementation of the MIPS q Simplified to contain only: memory-reference
More information101 Assembly. ENGR 3410 Computer Architecture Mark L. Chang Fall 2009
101 Assembly ENGR 3410 Computer Architecture Mark L. Chang Fall 2009 What is assembly? 79 Why are we learning assembly now? 80 Assembly Language Readings: Chapter 2 (2.1-2.6, 2.8, 2.9, 2.13, 2.15), Appendix
More informationMIPS%Assembly% E155%
MIPS%Assembly% E155% Outline MIPS Architecture ISA Instruction types Machine codes Procedure call Stack 2 The MIPS Register Set Name Register Number Usage $0 0 the constant value 0 $at 1 assembler temporary
More informationMIPS ISA. 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support
Components of an ISA EE 357 Unit 11 MIPS ISA 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support SUBtract instruc. vs. NEGate + ADD instrucs. 3. Registers accessible
More informationRTL Model of a Two-Stage MIPS Processor
RTL Model of a Two-Stage MIPS Processor 6.884 Laboratory February 4, 5 - Version 45 Introduction For the first lab assignment, you are to write an RTL model of a two-stage pipelined MIPS processor using
More informationCENG 3420 Computer Organization and Design. Lecture 06: MIPS Processor - I. Bei Yu
CENG 342 Computer Organization and Design Lecture 6: MIPS Processor - I Bei Yu CEG342 L6. Spring 26 The Processor: Datapath & Control q We're ready to look at an implementation of the MIPS q Simplified
More informationCISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization
CISC 662 Graduate Computer Architecture Lecture 4 - ISA MIPS ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,
More informationMidterm. Sticker winners: if you got >= 50 / 67
CSC258 Week 8 Midterm Class average: 4.2 / 67 (6%) Highest mark: 64.5 / 67 Tests will be return in office hours. Make sure your midterm mark is correct on MarkUs Solution posted on the course website.
More informationProcessor. Han Wang CS3410, Spring 2012 Computer Science Cornell University. See P&H Chapter , 4.1 4
Processor Han Wang CS3410, Spring 2012 Computer Science Cornell University See P&H Chapter 2.16 20, 4.1 4 Announcements Project 1 Available Design Document due in one week. Final Design due in three weeks.
More informationCISC 662 Graduate Computer Architecture. Lecture 4 - ISA
CISC 662 Graduate Computer Architecture Lecture 4 - ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,
More informationWeek 10: Assembly Programming
Week 10: Assembly Programming Arithmetic instructions Instruction Opcode/Function Syntax Operation add 100000 $d, $s, $t $d = $s + $t addu 100001 $d, $s, $t $d = $s + $t addi 001000 $t, $s, i $t = $s +
More informationCS 351 Exam 2 Mon. 11/2/2015
CS 351 Exam 2 Mon. 11/2/2015 Name: Rules and Hints The MIPS cheat sheet and datapath diagram are attached at the end of this exam for your reference. You may use one handwritten 8.5 11 cheat sheet (front
More informationA Processor. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter , 4.1-3
A Processor Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University See: P&H Chapter 2.16-20, 4.1-3 Let s build a MIPS CPU but using Harvard architecture Basic Computer System Registers ALU
More informationF. Appendix 6 MIPS Instruction Reference
F. Appendix 6 MIPS Instruction Reference Note: ALL immediate values should be sign extended. Exception: For logical operations immediate values should be zero extended. After extensions, you treat them
More informationComputer Architecture. The Language of the Machine
Computer Architecture The Language of the Machine Instruction Sets Basic ISA Classes, Addressing, Format Administrative Matters Operations, Branching, Calling conventions Break Organization All computers
More informationEEM 486: Computer Architecture. Lecture 2. MIPS Instruction Set Architecture
EEM 486: Computer Architecture Lecture 2 MIPS Instruction Set Architecture EEM 486 Overview Instruction Representation Big idea: stored program consequences of stored program Instructions as numbers Instruction
More informationThe MIPS Instruction Set Architecture
The MIPS Set Architecture CPS 14 Lecture 5 Today s Lecture Admin HW #1 is due HW #2 assigned Outline Review A specific ISA, we ll use it throughout semester, very similar to the NiosII ISA (we will use
More informationCS3350B Computer Architecture Quiz 3 March 15, 2018
CS3350B Computer Architecture Quiz 3 March 15, 2018 Student ID number: Student Last Name: Question 1.1 1.2 1.3 2.1 2.2 2.3 Total Marks The quiz consists of two exercises. The expected duration is 30 minutes.
More informationMark Redekopp, All rights reserved. EE 357 Unit 11 MIPS ISA
EE 357 Unit 11 MIPS ISA Components of an ISA 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support SUBtract instruc. vs. NEGate + ADD instrucs. 3. Registers accessible
More informationReduced Instruction Set Computer (RISC)
Reduced Instruction Set Computer (RISC) Reduced Instruction Set Computer (RISC) Focuses on reducing the number and complexity of instructions of the machine. Reduced number of cycles needed per instruction.
More informationMIPS Instruction Reference
Page 1 of 9 MIPS Instruction Reference This is a description of the MIPS instruction set, their meanings, syntax, semantics, and bit encodings. The syntax given for each instruction refers to the assembly
More informationAnne Bracy CS 3410 Computer Science Cornell University. See P&H Chapter: , , Appendix B
Anne Bracy CS 3410 Computer Science Cornell University The slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, and Sirer. See P&H Chapter: 2.16-2.20, 4.1-4.4,
More informationECE260: Fundamentals of Computer Engineering
MIPS Instruction Set James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy MIPS Registers MIPS
More informationConcocting an Instruction Set
Concocting an Instruction Set Nerd Chef at work. move flour,bowl add milk,bowl add egg,bowl move bowl,mixer rotate mixer... Read: Chapter 2.1-2.7 L03 Instruction Set 1 A General-Purpose Computer The von
More informationInstruction Set Principles. (Appendix B)
Instruction Set Principles (Appendix B) Outline Introduction Classification of Instruction Set Architectures Addressing Modes Instruction Set Operations Type & Size of Operands Instruction Set Encoding
More informationEE108B Lecture 3. MIPS Assembly Language II
EE108B Lecture 3 MIPS Assembly Language II Christos Kozyrakis Stanford University http://eeclass.stanford.edu/ee108b 1 Announcements Urgent: sign up at EEclass and say if you are taking 3 or 4 units Homework
More informationDesign of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan)
Microarchitecture Design of Digital Circuits 27 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_7 Adapted from Digital
More informationA General-Purpose Computer The von Neumann Model. Concocting an Instruction Set. Meaning of an Instruction. Anatomy of an Instruction
page 1 Concocting an Instruction Set Nerd Chef at work. move flour,bowl add milk,bowl add egg,bowl move bowl,mixer rotate mixer... A General-Purpose Computer The von Neumann Model Many architectural approaches
More informationECE260: Fundamentals of Computer Engineering
MIPS Instruction Set James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy MIPS Registers MIPS
More informationMIPS Instruction Set
MIPS Instruction Set Prof. James L. Frankel Harvard University Version of 7:12 PM 3-Apr-2018 Copyright 2018, 2017, 2016, 201 James L. Frankel. All rights reserved. CPU Overview CPU is an acronym for Central
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware 4.1 Introduction We will examine two MIPS implementations
More informationAnne Bracy CS 3410 Computer Science Cornell University. [K. Bala, A. Bracy, E. Sirer, and H. Weatherspoon]
Anne Bracy CS 3410 Computer Science Cornell University [K. Bala, A. Bracy, E. Sirer, and H. Weatherspoon] Understanding the basics of a processor We now have the technology to build a CPU! Putting it all
More information5/17/2012. Recap from Last Time. CSE 2021: Computer Organization. The RISC Philosophy. Levels of Programming. Stored Program Computers
CSE 2021: Computer Organization Recap from Last Time load from disk High-Level Program Lecture-2 Code Translation-1 Registers, Arithmetic, logical, jump, and branch instructions MIPS to machine language
More informationReduced Instruction Set Computer (RISC)
Reduced Instruction Set Computer (RISC) Focuses on reducing the number and complexity of instructions of the ISA. RISC Goals RISC: Simplify ISA Simplify CPU Design Better CPU Performance Motivated by simplifying
More informationChapter 2. Computer Abstractions and Technology. Lesson 4: MIPS (cont )
Chapter 2 Computer Abstractions and Technology Lesson 4: MIPS (cont ) Logical Operations Instructions for bitwise manipulation Operation C Java MIPS Shift left >>> srl Bitwise
More informationRecap from Last Time. CSE 2021: Computer Organization. Levels of Programming. The RISC Philosophy 5/19/2011
CSE 2021: Computer Organization Recap from Last Time load from disk High-Level Program Lecture-3 Code Translation-1 Registers, Arithmetic, logical, jump, and branch instructions MIPS to machine language
More informationQuestion 0. Do not turn this page until you have received the signal to start. (Please fill out the identification section above) Good Luck!
CSC B58 Winter 2017 Final Examination Duration 2 hours and 50 minutes Aids allowed: none Last Name: Student Number: UTORid: First Name: Question 0. [1 mark] Read and follow all instructions on this page,
More informationInstruction Set Architecture part 1 (Introduction) Mehran Rezaei
Instruction Set Architecture part 1 (Introduction) Mehran Rezaei Overview Last Lecture s Review Execution Cycle Levels of Computer Languages Stored Program Computer/Instruction Execution Cycle SPIM, a
More informationProject Part A: Single Cycle Processor
Curtis Mayberry Andrew Kies Mark Monat Iowa State University CprE 381 Professor Joseph Zambreno Project Part A: Single Cycle Processor Introduction The second part in the three part MIPS Processor design
More informationConcocting an Instruction Set
Concocting an Instruction Set Nerd Chef at work. move flour,bowl add milk,bowl add egg,bowl move bowl,mixer rotate mixer... Read: Chapter 2.1-2.7 L04 Instruction Set 1 A General-Purpose Computer The von
More informationConcocting an Instruction Set
Concocting an Instruction Set Nerd Chef at work. move flour,bowl add milk,bowl add egg,bowl move bowl,mixer rotate mixer... Read: Chapter 2.1-2.6 L04 Instruction Set 1 A General-Purpose Computer The von
More informationMips Code Examples Peter Rounce
Mips Code Examples Peter Rounce P.Rounce@cs.ucl.ac.uk Some C Examples Assignment : int j = 10 ; // space must be allocated to variable j Possibility 1: j is stored in a register, i.e. register $2 then
More informationComputer Architecture. MIPS Instruction Set Architecture
Computer Architecture MIPS Instruction Set Architecture Instruction Set Architecture An Abstract Data Type Objects Registers & Memory Operations Instructions Goal of Instruction Set Architecture Design
More informationENCM 369 Winter 2013: Reference Material for Midterm #2 page 1 of 5
ENCM 369 Winter 2013: Reference Material for Midterm #2 page 1 of 5 MIPS/SPIM General Purpose Registers Powers of Two 0 $zero all bits are zero 16 $s0 local variable 1 $at assembler temporary 17 $s1 local
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified
More informationCOMPSCI 313 S Computer Organization. 7 MIPS Instruction Set
COMPSCI 313 S2 2018 Computer Organization 7 MIPS Instruction Set Agenda & Reading MIPS instruction set MIPS I-format instructions MIPS R-format instructions 2 7.1 MIPS Instruction Set MIPS Instruction
More informationECE 2035 Programming HW/SW Systems Fall problems, 7 pages Exam Two 23 October 2013
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationReview: MIPS Organization
1 MIPS Arithmetic Review: MIPS Organization Processor Memory src1 addr 5 src2 addr 5 dst addr 5 write data Register File registers ($zero - $ra) bits src1 data src2 data read/write addr 1 1100 2 30 words
More informationTSK3000A - Generic Instructions
TSK3000A - Generic Instructions Frozen Content Modified by Admin on Sep 13, 2017 Using the core set of assembly language instructions for the TSK3000A as building blocks, a number of generic instructions
More informationCS61CL Machine Structures. Lec 5 Instruction Set Architecture
CS61CL Machine Structures Lec Instruction Set Architecture David Culler Electrical Engineering and Computer Sciences University of California, Berkeley What is Computer Architecture? Applications Compiler
More informationMIPS Reference Guide
MIPS Reference Guide Free at PushingButtons.net 2 Table of Contents I. Data Registers 3 II. Instruction Register Formats 4 III. MIPS Instruction Set 5 IV. MIPS Instruction Set (Extended) 6 V. SPIM Programming
More informationInstructions: MIPS ISA. Chapter 2 Instructions: Language of the Computer 1
Instructions: MIPS ISA Chapter 2 Instructions: Language of the Computer 1 PH Chapter 2 Pt A Instructions: MIPS ISA Based on Text: Patterson Henessey Publisher: Morgan Kaufmann Edited by Y.K. Malaiya for
More informationInstruction Set Architecture of. MIPS Processor. MIPS Processor. MIPS Registers (continued) MIPS Registers
CSE 675.02: Introduction to Computer Architecture MIPS Processor Memory Instruction Set Architecture of MIPS Processor CPU Arithmetic Logic unit Registers $0 $31 Multiply divide Coprocessor 1 (FPU) Registers
More informationECE 2035 Programming HW/SW Systems Spring problems, 6 pages Exam One 4 February Your Name (please print clearly)
Your Name (please print clearly) This exam will be conducted according to the Georgia Tech Honor Code. I pledge to neither give nor receive unauthorized assistance on this exam and to abide by all provisions
More informationECE232: Hardware Organization and Design. Computer Organization - Previously covered
ECE232: Hardware Organization and Design Part 6: MIPS Instructions II http://www.ecs.umass.edu/ece/ece232/ Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Computer Organization
More informationMidterm Questions Overview
Midterm Questions Overview Four questions from the following: Performance Evaluation: Given MIPS code, estimate performance on a given CPU. Compare performance of different CPU/compiler changes for a given
More informationQ1: /30 Q2: /25 Q3: /45. Total: /100
ECE 2035(A) Programming for Hardware/Software Systems Fall 2013 Exam One September 19 th 2013 This is a closed book, closed note texam. Calculators are not permitted. Please work the exam in pencil and
More informationCS 4200/5200 Computer Architecture I
CS 4200/5200 Computer Architecture I MIPS Instruction Set Architecture Dr. Xiaobo Zhou Department of Computer Science CS420/520 Lec3.1 UC. Colorado Springs Adapted from UCB97 & UCB03 Review: Organizational
More informationA Processor! Hakim Weatherspoon CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter , 4.1-3
A Processor! Hakim Weatherspoon CS 3410, Spring 2010 Computer Science Cornell University See: P&H Chapter 2.16-20, 4.1-3 Announcements! HW2 available later today HW2 due in one week and a half Work alone
More informationComputer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture
Computer Science 324 Computer Architecture Mount Holyoke College Fall 2009 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture. Idea:
More informationConcocting an Instruction Set
Concocting an Instruction Set Nerd Chef at work. move flour,bowl add milk,bowl add egg,bowl move bowl,mixer rotate mixer... Lab is posted. Do your prelab! Stay tuned for the first problem set. L04 Instruction
More informationINSTRUCTION SET COMPARISONS
INSTRUCTION SET COMPARISONS MIPS SPARC MOTOROLA REGISTERS: INTEGER 32 FIXED WINDOWS 32 FIXED FP SEPARATE SEPARATE SHARED BRANCHES: CONDITION CODES NO YES NO COMPARE & BR. YES NO YES A=B COMP. & BR. YES
More informationOutline. EEL-4713 Computer Architecture Multipliers and shifters. Deriving requirements of ALU. MIPS arithmetic instructions
Outline EEL-4713 Computer Architecture Multipliers and shifters Multiplication and shift registers Chapter 3, section 3.4 Next lecture Division, floating-point 3.5 3.6 EEL-4713 Ann Gordon-Ross.1 EEL-4713
More informationMidterm. CS64 Spring Midterm Exam
Midterm LAST NAME FIRST NAME PERM Number Instructions Please turn off all pagers, cell phones and beepers. Remove all hats & headphones. Place your backpacks, laptops and jackets at the front. Sit in every
More informationCS Computer Architecture Spring Week 10: Chapter
CS 35101 Computer Architecture Spring 2008 Week 10: Chapter 5.1-5.3 Materials adapated from Mary Jane Irwin (www.cse.psu.edu/~mji) and Kevin Schaffer [adapted from D. Patterson slides] CS 35101 Ch 5.1
More information--------------------------------------------------------------------------------------------------------------------- 1. Objectives: Using the Logisim simulator Designing and testing a Pipelined 16-bit
More informationProcessor (I) - datapath & control. Hwansoo Han
Processor (I) - datapath & control Hwansoo Han Introduction CPU performance factors Instruction count - Determined by ISA and compiler CPI and Cycle time - Determined by CPU hardware We will examine two
More informationLecture 4: MIPS Instruction Set
Lecture 4: MIPS Instruction Set No class on Tuesday Today s topic: MIPS instructions Code examples 1 Instruction Set Understanding the language of the hardware is key to understanding the hardware/software
More informationECE Exam I February 19 th, :00 pm 4:25pm
ECE 3056 Exam I February 19 th, 2015 3:00 pm 4:25pm 1. The exam is closed, notes, closed text, and no calculators. 2. The Georgia Tech Honor Code governs this examination. 3. There are 4 questions and
More informationMACHINE LANGUAGE. To work with the machine, we need a translator.
LECTURE 2 Assembly MACHINE LANGUAGE As humans, communicating with a machine is a tedious task. We can t, for example, just say add this number and that number and store the result here. Computers have
More informationECE410 Design Project Spring 2013 Design and Characterization of a CMOS 8-bit pipelined Microprocessor Data Path
ECE410 Design Project Spring 2013 Design and Characterization of a CMOS 8-bit pipelined Microprocessor Data Path Project Summary This project involves the schematic and layout design of an 8-bit microprocessor
More informationAssembly Language. Prof. Dr. Antônio Augusto Fröhlich. Sep 2006
Sep 2006 Prof. Antônio Augusto Fröhlich (http://www.lisha.ufsc.br) 33 Assembly Language Prof. Dr. Antônio Augusto Fröhlich guto@lisha.ufsc.br http://www.lisha.ufsc.br/~guto Sep 2006 Sep 2006 Prof. Antônio
More informationComputer Architecture
CS3350B Computer Architecture Winter 2015 Lecture 4.2: MIPS ISA -- Instruction Representation Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design,
More informationThe Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
The Processor: Datapath and Control Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Introduction CPU performance factors Instruction count Determined
More informationCS3350B Computer Architecture MIPS Instruction Representation
CS3350B Computer Architecture MIPS Instruction Representation Marc Moreno Maza http://www.csd.uwo.ca/~moreno/cs3350_moreno/index.html Department of Computer Science University of Western Ontario, Canada
More informationCS 61C: Great Ideas in Computer Architecture Datapath. Instructors: John Wawrzynek & Vladimir Stojanovic
CS 61C: Great Ideas in Computer Architecture Datapath Instructors: John Wawrzynek & Vladimir Stojanovic http://inst.eecs.berkeley.edu/~cs61c/fa15 1 Components of a Computer Processor Control Enable? Read/Write
More informationIMPLEMENTATION MICROPROCCESSOR MIPS IN VHDL LAZARIDIS DIMITRIS.
VLSI Design Project Report IMPLEMENTATION MICROPROCCESSOR MIPS IN VHDL LAZARIDIS DIMITRIS (thejimi39@hotmail.com) ATHENS 2012 ABSTRACT Implementation microprocessor Mips in hardware, supporting almost
More informationCSEE W3827 Fundamentals of Computer Systems Homework Assignment 3 Solutions
CSEE W3827 Fundamentals of Computer Systems Homework Assignment 3 Solutions 2 3 4 5 Prof. Stephen A. Edwards Columbia University Due June 26, 207 at :00 PM ame: Solutions Uni: Show your work for each problem;
More informationThe Processor. Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut. CSE3666: Introduction to Computer Architecture
The Processor Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut CSE3666: Introduction to Computer Architecture Introduction CPU performance factors Instruction count
More informationTopic Notes: MIPS Instruction Set Architecture
Computer Science 220 Assembly Language & Comp. Architecture Siena College Fall 2011 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture.
More informationCENG3420 Lecture 03 Review
CENG3420 Lecture 03 Review Bei Yu byu@cse.cuhk.edu.hk 2017 Spring 1 / 38 CISC vs. RISC Complex Instruction Set Computer (CISC) Lots of instructions of variable size, very memory optimal, typically less
More informationUnsigned Binary Integers
Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0
More informationUnsigned Binary Integers
Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0
More informationComputer Organization MIPS Architecture. Department of Computer Science Missouri University of Science & Technology
Computer Organization MIPS Architecture Department of Computer Science Missouri University of Science & Technology hurson@mst.edu Computer Organization Note, this unit will be covered in three lectures.
More informationECE 473 Computer Architecture and Organization Project: Design of a Five Stage Pipelined MIPS-like Processor Project Team TWO Objectives
ECE 473 Computer Architecture and Organization Project: Design of a Five Stage Pipelined MIPS-like Processor Due: December 8, 2011 Instructor: Dr. Yifeng Zhu Project Team This is a team project. All teams
More informationThe MIPS Processor Datapath
The MIPS Processor Datapath Module Outline MIPS datapath implementation Register File, Instruction memory, Data memory Instruction interpretation and execution. Combinational control Assignment: Datapath
More informationMidterm Questions Overview
Midterm Questions Overview Four questions from the following: Performance Evaluation: Given MIPS code, estimate performance on a given CPU. Compare performance of different CPU/compiler changes for a given
More informationCPS311 - COMPUTER ORGANIZATION. A bit of history
CPS311 - COMPUTER ORGANIZATION A Brief Introduction to the MIPS Architecture A bit of history The MIPS architecture grows out of an early 1980's research project at Stanford University. In 1984, MIPS computer
More informationCSE 378 Midterm 2/12/10 Sample Solution
Question 1. (6 points) (a) Rewrite the instruction sub $v0,$t8,$a2 using absolute register numbers instead of symbolic names (i.e., if the instruction contained $at, you would rewrite that as $1.) sub
More informationCOMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle
More informationChapter 4. The Processor. Computer Architecture and IC Design Lab
Chapter 4 The Processor Introduction CPU performance factors CPI Clock Cycle Time Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS
More informationToday s topics. MIPS operations and operands. MIPS arithmetic. CS/COE1541: Introduction to Computer Architecture. A Review of MIPS ISA.
Today s topics CS/COE1541: Introduction to Computer Architecture MIPS operations and operands MIPS registers Memory view Instruction encoding A Review of MIPS ISA Sangyeun Cho Arithmetic operations Logic
More informationCSc 256 Midterm 2 Fall 2011
CSc 256 Midterm 2 Fall 2011 NAME: 1a) You are given a MIPS branch instruction: x: beq $12, $0, y The address of the label "y" is 0x400468. The memory location at "x" contains: address contents 0x40049c
More informationECE 2035 Programming HW/SW Systems Fall problems, 6 pages Exam One 22 September Your Name (please print clearly) Signed.
Your Name (please print clearly) This exam will be conducted according to the Georgia Tech Honor Code. I pledge to neither give nor receive unauthorized assistance on this exam and to abide by all provisions
More informationMIPS PROJECT INSTRUCTION SET and FORMAT
ECE 312: Semester Project MIPS PROJECT INSTRUCTION SET FORMAT This is a description of the required MIPS instruction set, their meanings, syntax, semantics, bit encodings. The syntax given for each instruction
More informationECE 2035 Programming HW/SW Systems Spring problems, 6 pages Exam Two 11 March Your Name (please print) total
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationProgramming the processor
CSC258 Week 9 Logistics This week: Lab 7 is the last Logisim DE2 lab. Next week: Lab 8 will be assembly. For assembly labs you can work individually or in pairs. No matter how you do it, the important
More informationMIPS Instruction Format
MIPS Instruction Format MIPS uses a 32-bit fixed-length instruction format. only three different instruction word formats: There are Register format Op-code Rs Rt Rd Function code 000000 sssss ttttt ddddd
More informationExamples of branch instructions
Examples of branch instructions Beq rs,rt,target #go to target if rs = rt Beqz rs, target #go to target if rs = 0 Bne rs,rt,target #go to target if rs!= rt Bltz rs, target #go to target if rs < 0 etc.
More information