# Outline. EEL-4713 Computer Architecture Multipliers and shifters. Deriving requirements of ALU. MIPS arithmetic instructions

Size: px
Start display at page:

Download "Outline. EEL-4713 Computer Architecture Multipliers and shifters. Deriving requirements of ALU. MIPS arithmetic instructions"

## Transcription

1 Outline EEL-4713 Computer Architecture Multipliers and shifters Multiplication and shift registers Chapter 3, section 3.4 Next lecture Division, floating-point EEL-4713 Ann Gordon-Ross.1 EEL-4713 Ann Gordon-Ross.2 Deriving requirements of ALU with instruction set architecture: must be able to do all operations in ISA Tradeoffs of cost and speed based on frequency of occurrence, hardware budget MIPS ISA MIPS arithmetic instructions Instruction Example Meaning Comments add add \$1,\$2,\$3 \$1 = \$2 + \$3 3 operands; exception possible subtract sub \$1,\$2,\$3 \$1 = \$2 \$3 3 operands; exception possible add immediate addi \$1,\$2,100 \$1 = \$ constant; exception possible add unsigned addu \$1,\$2,\$3 \$1 = \$2 + \$3 3 operands; no exceptions subtract unsigned subu \$1,\$2,\$3 \$1 = \$2 \$3 3 operands; no exceptions add imm. unsign. addiu \$1,\$2,100 \$1 = \$ constant; no exceptions multiply mult \$2,\$3 Hi, Lo = \$2 x \$3 64-bit signed product multiply unsigned multu\$2,\$3 Hi, Lo = \$2 x \$3 64-bit unsigned product divide div \$2,\$3 Lo = \$2 \$3, Lo = quotient, Hi = remainder Hi = \$2 mod \$3 divide unsigned divu \$2,\$3 Lo = \$2 \$3, Unsigned quotient & remainder Hi = \$2 mod \$3 Move from Hi mfhi \$1 \$1 = Hi Used to get copy of Hi Move from Lo mflo \$1 \$1 = Lo Used to get copy of Lo EEL-4713 Ann Gordon-Ross.3 EEL-4713 Ann Gordon-Ross.4

2 MIPS ALU requirements Additional MIPS ALU requirements Add, AddU, Sub, SubU, AddI, AddIU => 2 s complement adder with overflow detection & inverter SLTI, SLTIU (set less than) => 2 s complement adder with inverter, check sign bit of result BEQ, BNE (branch on equal or not equal) => 2 s complement adder with inverter, check if result = 0 And, Or, AndI, OrI => Logical AND, logical OR ALU from last lecture supports these ops Xor, Nor, XorI => Logical XOR, logical NOR Sll, Srl, Sra => Need left shift, right shift, right shift arithmetic by 0 to 31 bits Mult, MultU, Div, DivU => Need 32-bit multiply and divide, signed and unsigned EEL-4713 Ann Gordon-Ross.5 EEL-4713 Ann Gordon-Ross.6 MULTIPLY (unsigned) Paper and pencil example (unsigned): Multiplicand 1000 Multiplier Product Unsigned Combinational Multiplier: A * B Ai Prev Bj Cout Ai+Prev Control bits B 0 B 1 B 2 m bits x n bits = m+n bit product Binary makes it easy: 0 => place 0 ( 0 x multiplicand) 1 => place a copy ( 1 x multiplicand) 4 versions of multiply hardware & algorithm: successive refinement P 7 P 6 Stage i accumulates A * 2 i if B i == 1 P 5 P 4 Q: How much hardware for 32 bit multiplier? Critical path? P 3 P 2 P 1 P 0 B 3 Bi=0 do not add Bi=1 add EEL-4713 Ann Gordon-Ross.7 EEL-4713 Ann Gordon-Ross.8

4 Multiply Algorithm Version 1: 0011 * 0010 Potential Optimizations Multiplier[0] = 1 Multiplier[0] Multiplier[0] = 0 In state 1: Test multiplier for 0, exit Product Multiplier Multiplicand EEL-4713 Ann Gordon-Ross.13 1a. Add multiplicand to product & place the result in Product register 2. Shift the Multiplicand register left 1 bit. 3. Shift the Multiplier register right 1 bit. 4th No: < 4 repetitions Yes: 4 repetitions Observation: If multiplier[0] = 1, 2 cycles needed (add, then shifts) If multiplier[0] = 0, 1 cycle needed (shifts only) Before start, set multiplier and multiplicand intelligently EEL-4713 Ann Gordon-Ross.14 - Multiplier as smallest value? Find left-most 1 bit for each input, the right-most of those two bits is the smallest value, therefore exit sooner out of state 1 - Multiplier as least number of ones? X = and Y = If multiplier = X, 9 cycles If multiplier = Y, 13 cycles Observations on Multiply Version 1 MULTIPLY HARDWARE Version 2 1 clock per add and shifts (can shift in parallel) => 32*2 clocks per multiply Half of bits in multiplicand always 0 => 64-bit adder is wasted 32-bit Multiplicand reg, 32 -bit ALU, 64-bit Product reg, 32-bit Multiplier reg Multiplicand 0 s inserted in left of multiplicand as shifted => least significant bits of product never changed once formed 32-bit ALU 32 bits Multiplier 32 bits Shift Right Instead of shifting multiplicand to left, shift product to right? Product 64 bits Shift Right Write Control EEL-4713 Ann Gordon-Ross.15 EEL-4713 Ann Gordon-Ross.16

5 *Multiply Algorithm Version 2 What s going on? Multiplier Multiplicand Product Multiplier[0] = 1 Multiplier[0] Multiplier[0] = B 0 1a. Add multiplicand to the left half (32 MSBs) of product & place the result in the left half (32 MSBs) of Product register B 1 Product Multiplier Multiplicand Shift the Product register right 1 bit. B 2 3. Shift the Multiplier register right 1 bit. B 3 32nd No: < 32 repetitions P 7 P 6 P 5 P 4 P 3 P 2 P 1 P 0 EEL-4713 Ann Gordon-Ross.17 Yes: 32 repetitions Multiplicand stays still and product moves right EEL-4713 Ann Gordon-Ross.18 Multiply Algorithm Version 2 Observations on Multiply Version 2 EEL-4713 Ann Gordon-Ross.19 Multiplier[0] = 1 Multiplier[0] 1a. Add multiplicand to the left half (32 MSBs) of product & place the result in the left half (32 MSBs) of Product register 3. Shift the Multiplier register right 1 bit. 4th No: < 4 repetitions Yes: 4 repetitions Multiplier[0] = 0 Product Multiplier Multiplicand Shift the Product register right 1 bit Wasted space in the product register exactly matches size of multiplier => combine Multiplier register and Product register 4+4=8 5+3=8 6+2=8 7+1=8 8+0=8 EEL-4713 Ann Gordon-Ross.20 Product Multiplier Multiplicand

6 MULTIPLY HARDWARE Version 3 32-bit Multiplicand reg, 32 -bit ALU, 64-bit Product reg, (0-bit Multiplier reg, Multiplier stored in LSBs of Product) Multiplicand 32 bits Multiply Algorithm Version 3 Multiplicand Product Product[0] = 1 Product[0] 1a. Add multiplicand to the left half of product & place the result in the left half of Product register Product[0] = 0 32-bit ALU 2. Shift the Product register right 1 bit. Hi Product (Multiplier) 64 bits Lo Shift Right Write Control 32nd No: < 32 repetitions EEL-4713 Ann Gordon-Ross.21 EEL-4713 Ann Gordon-Ross.22 Yes: 32 repetitions Observations on Multiply Version 3 MIPS registers Hi and Lo are left and right half of Product Gives us MIPS instruction MultU How can you make it faster? What about signed multiplication? easiest solution is to make both positive & remember whether to complement product when done (leave out the sign bit, run for 31 steps) apply definition of 2 s complement - need to sign-extend partial products and subtract at the end Booth s Algorithm is elegant way to multiply signed numbers using same hardware as before and save cycles - can handle multiple bits at a time Representing sequences of 1s as a difference ! ! = 15 = = 16-0! n n-1 n-2 n-8! !!! 2 n +2 n n-8 = 2 n+1-2 n-8! EEL-4713 Ann Gordon-Ross.23 EEL-4713 Ann Gordon-Ross.24

7 Representing sequences of 1s as a difference Why? x = 2^n + 2^(n-1) +! + 2^k 2x = 2^(n+1) + 2^n +! + 2^(k+1) (essentially shift left 1 bit) 2x x = [2^(n+1) + 2^n +! + 2^(k+1)] [2^n + 2^(n-1) +! + 2^k] 2^n through 2^(k+1) cancel out x = 2^(n+1) 2^k Motivation for Booth s Algorithm Example 2 x 6 = 0010 x 0110: 0010 x shift (0 in multiplier) add (1 in multiplier) add (1 in multiplier) shift (0 in multiplier) Replace a string of 1s in multiplier with an initial subtract when we first see a one and then later add for the bit after the last one. How is this useful? A sequence of (n-k) 1s in a multiplier - (n-k) adds, or - 1 add and 1 sub Look at each sequence of 1s and add together EEL-4713 Ann Gordon-Ross.25 EEL-4713 Ann Gordon-Ross.26 Booth s Algorithm Insight middle end of run of run beginning of run Current Bit Bit to the Right Explanation Example 1 0 Beginning of a run of 1s Middle of a run of 1s Booth s Algorithm 1. Depending on the current and previous bits, do one of the following: 00: a. Middle of a string of 0s, so no arithmetic operations. 01: b. End of a string of 1s, so add the multiplicand to the left half of the product. 10: c. Beginning of a string of 1s, so subtract the multiplicand from the left half of the product. 11: d. Middle of a string of 1s, so no arithmetic operation. 2. As in the previous algorithm, shift the Product register right (arith) 1 bit. 0 1 End of a run of 1s Middle of a run of 0s Speed motivation if shift faster than add Replace a string of 1s in multiplier with an initial subtract when we first see a one and then later add for the bit after the last one EEL-4713 Ann Gordon-Ross.27 EEL-4713 Ann Gordon-Ross.28

8 Booth s Algorithm Multiplicand Product Product[1,0] = 01: OP=Add = 10: OP=Sub Product[1,0] = 01 or 10 Product[1,0] 1a. OP multiplicand to the left half of product & place the result in the left half of Product register Product[1,0] = 00 or Shift the Product register right 1 bit. 32nd No: < 32 repetitions Booths Example: 2 (0010) * 7 (0111) = 14 ( ) 1 extra bit for Operation Multiplicand Product comparison next? 0. initial value > sub add (-m)+1 1a. P = P - m shift P (sign ext) 1b > nop, shift > nop, shift > add 4a shift 4b done 14 EEL-4713 Ann Gordon-Ross.29 Yes: 32 repetitions EEL-4713 Ann Gordon-Ross.30 Booths Example: 2 (0010) * -3 (1101) = -6 ( ) Operation Multiplicand Product next? 0. initial value > sub 1a. P = P - m add (-m) shift P (sign ext) 1b > add a shift P 2b > sub a shift 3b > nop 4a shift 4b done MIPS logical instructions Instruction Example Meaning Comment and and \$1,\$2,\$3 \$1 = \$2 & \$3 3 reg. operands; Logical AND or or \$1,\$2,\$3 \$1 = \$2 \$3 3 reg. operands; Logical OR xor xor \$1,\$2,\$3 \$1 = \$2! \$3 3 reg. operands; Logical XOR nor nor \$1,\$2,\$3 \$1 = ~(\$2 \$3) 3 reg. operands; Logical NOR and immediate andi \$1,\$2,10 \$1 = \$2 & 10 Logical AND reg, constant or immediate ori \$1,\$2,10 \$1 = \$2 10 Logical OR reg, constant xor immediate xori \$1, \$2,10 \$1 = ~\$2 &~10 Logical XOR reg, constant shift left logical sll \$1,\$2,10 \$1 = \$2 << 10 Shift left by constant shift right logical srl \$1,\$2,10 \$1 = \$2 >> 10 Shift right by constant shift right arithm. sra \$1,\$2,10 \$1 = \$2 >> 10 Shift right (sign extend) shift left logical sllv \$1,\$2,\$3 \$1 = \$2 << \$3 Shift left by variable shift right logical srlv \$1,\$2, \$3 \$1 = \$2 >> \$3 Shift right by variable shift right arithm. srav \$1,\$2, \$3 \$1 = \$2 >> \$3 Shift right arith. by variable (sign extend) Neg. 6 EEL-4713 Ann Gordon-Ross.31 EEL-4713 Ann Gordon-Ross.32

9 Shifters Three different kinds: logical-- value shifted in is always "0" Combinational Shifter from MUXes Basic Building Block A B sel 1 0 "0" msb lsb "0" 8-bit right shifter D A 7 A 6 A 5 A 4 S 2 S 1 S 0 arithmetic-- on right shifts, sign extend msb lsb "0" EEL-4713 Ann Gordon-Ross.33 rotating-- shifted out bits are wrapped around (not in MIPS) left right msb lsb msb lsb Note: these are single bit shifts. A given instruction might request 0 to 32 bits to be shifted! How many levels for 32-bit shifter? EEL-4713 Ann Gordon-Ross R 7 R 6 R 5 R 4 R 3 R 2 R 1 R 0 General Shift Right Scheme using 16 bit example Summary S 0 (0,1) S 1 (0, 2) S 2 (0, 4) Instruction Set drives the ALU design Multiply: successive refinement to see final design 32-bit Adder, 64-bit shift register, 32-bit Multiplicand Register Booth s algorithm to handle signed multiplies What s Missing from MIPS is Divide & Floating Point Arithmetic S 3 (0, 8) If added Right-to-left connections could support Rotate (not in MIPS but found in other ISAs) EEL-4713 Ann Gordon-Ross.35 EEL-4713 Ann Gordon-Ross.36

### MIPS Integer ALU Requirements

MIPS Integer ALU Requirements Add, AddU, Sub, SubU, AddI, AddIU: 2 s complement adder/sub with overflow detection. And, Or, Andi, Ori, Xor, Xori, Nor: Logical AND, logical OR, XOR, nor. SLTI, SLTIU (set

### Review of Last lecture. Review ALU Design. Designing a Multiplier Shifter Design Review. Booth s algorithm. Today s Outline

Today s Outline San Jose State University EE176-SJSU Computer Architecture and Organization Lecture 5 HDL, ALU, Shifter, Booth Algorithm Multiplier & Divider Instructor: Christopher H. Pham Review of Last

### Arithmetic for Computers

MIPS Arithmetic Instructions Cptr280 Dr Curtis Nelson Arithmetic for Computers Operations on integers Addition and subtraction; Multiplication and division; Dealing with overflow; Signed vs. unsigned numbers.

### Tailoring the 32-Bit ALU to MIPS

Tailoring the 32-Bit ALU to MIPS MIPS ALU extensions Overflow detection: Carry into MSB XOR Carry out of MSB Branch instructions Shift instructions Slt instruction Immediate instructions ALU performance

### COMP 303 Computer Architecture Lecture 6

COMP 303 Computer Architecture Lecture 6 MULTIPLY (unsigned) Paper and pencil example (unsigned): Multiplicand 1000 = 8 Multiplier x 1001 = 9 1000 0000 0000 1000 Product 01001000 = 72 n bits x n bits =

### Review from last time. CS152 Computer Architecture and Engineering Lecture 6. Verilog (finish) Multiply, Divide, Shift

Review from last time CS152 Computer Architecture and Engineering Lecture 6 Verilog (finish) Multiply, Divide, Shift February 11, 2004 John Kubiatowicz (www.cs.berkeley.edu/~kubitron) lecture slides: http://www-inst.eecs.berkeley.edu/~cs152/

### Today s Outline. CS152 Computer Architecture and Engineering Lecture 5. VHDL, Multiply, Shift

Today s Outline CS152 Computer Architecture and Engineering Lecture 5 VHDL, Multiply, Shift Feb 8, 1999 John Kubiatowicz (http.cs.berkeley.edu/~kubitron) Review of Last lecture Intro to VHDL Administrative

### Number Systems and Their Representations

Number Representations Cptr280 Dr Curtis Nelson Number Systems and Their Representations In this presentation you will learn about: Representation of numbers in computers; Signed vs. unsigned numbers;

### Homework 3. Assigned on 02/15 Due time: midnight on 02/21 (1 WEEK only!) B.2 B.11 B.14 (hint: use multiplexors) CSCI 402: Computer Architectures

Homework 3 Assigned on 02/15 Due time: midnight on 02/21 (1 WEEK only!) B.2 B.11 B.14 (hint: use multiplexors) 1 CSCI 402: Computer Architectures Arithmetic for Computers (2) Fengguang Song Department

### Review: 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

### Reduced 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

### Reduced 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.

### MIPS 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

### ECE 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

### ECE 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

### EEM 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

### The 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

### F. 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

### Q1: /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

### Computer 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

### MIPS 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

### COMPUTER ORGANIZATION AND DESIGN

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 3 Arithmetic for Computers Arithmetic for Computers Operations on integers Addition and subtraction Multiplication

### Assembly Programming

Designing Computer Systems Assembly Programming 08:34:48 PM 23 August 2016 AP-1 Scott & Linda Wills Designing Computer Systems Assembly Programming In the early days of computers, assembly programming

### ECE232: 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

### ECE 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

### Computer 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

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

### CENG 3420 Lecture 05: Arithmetic and Logic Unit

CENG 3420 Lecture 05: Arithmetic and Logic Unit Bei Yu byu@cse.cuhk.edu.hk CENG3420 L05.1 Spring 2017 Outline q 1. Overview q 2. Addition q 3. Multiplication & Division q 4. Shift q 5. Floating Point Number

### ECE 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

### CENG3420 L05: Arithmetic and Logic Unit

CENG3420 L05: Arithmetic and Logic Unit Bei Yu byu@cse.cuhk.edu.hk (Latest update: January 25, 2018) Spring 2018 1 / 53 Overview Overview Addition Multiplication & Division Shift Floating Point Number

### 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

### ECE260: 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

### Today s Outline. CS152 Computer Architecture and Engineering Lecture 5. VHDL, Multiply, Shift

Today s Outline CS152 Computer Architecture and Engineering Lecture 5 VHDL, Multiply, Shift September 14, 2001 John Kubiatowicz (http.cs.berkeley.edu/~kubitron) Review of Last lecture on-line lab notebook

### Week 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 +

### MIPS 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

### CPS 104 Computer Organization and Programming

CPS 104 Computer Organization and Programming Lecture 9: Integer Arithmetic. Robert Wagner CPS104 IMD.1 RW Fall 2000 Overview of Today s Lecture: Integer Multiplication and Division. Read Appendix B CPS104

### MIPS 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

### Integer Multiplication and Division

Integer Multiplication and Division COE 301 Computer Organization Prof. Muhamed Mudawar College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals Presentation Outline

### CPE 335 Computer Organization. MIPS Arithmetic Part I. Content from Chapter 3 and Appendix B

CPE 335 Computer Organization MIPS Arithmetic Part I Content from Chapter 3 and Appendix B Dr. Iyad Jafar Adatped from Dr. Gheith Abandah Slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html

### ECE260: 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

### MIPS 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

### Computer Architecture. Chapter 3: Arithmetic for Computers

182.092 Computer Architecture Chapter 3: Arithmetic for Computers Adapted from Computer Organization and Design, 4 th Edition, Patterson & Hennessy, 2008, Morgan Kaufmann Publishers and Mary Jane Irwin

### ECE 2035 Programming HW/SW Systems Fall problems, 6 pages Exam One 19 September 2012

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

### Number Systems and Computer Arithmetic

Number Systems and Computer Arithmetic Counting to four billion two fingers at a time What do all those bits mean now? bits (011011011100010...01) instruction R-format I-format... integer data number text

### ECE 2035 Programming HW/SW Systems Fall problems, 6 pages Exam Two 21 October 2016

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

### TSK3000A - 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

### M2 Instruction Set Architecture

M2 Instruction Set Architecture Module Outline Addressing modes. Instruction classes. MIPS-I ISA. High level languages, Assembly languages and object code. Translating and starting a program. Subroutine

EE 352 Unit 3 MIPS ISA Instruction Set Architecture (ISA) Defines the software interface of the processor and memory system Instruction set is the vocabulary the HW can understand and the SW is composed

### ECE 2035 Programming HW/SW Systems Fall problems, 6 pages Exam Two 23 October 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

### CS352H: Computer Systems Architecture

CS352H: Computer Systems Architecture Lecture 4: Instruction Set Architectures III + MIPS ALU September 10, 2008 University of Texas at Austin CS352H - Computer Systems Architecture Fall 2009 Don Fussell

### ECE 2035 Programming HW/SW Systems Spring problems, 6 pages Exam Three 10 April 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

### Lecture 8: Addition, Multiplication & Division

Lecture 8: Addition, Multiplication & Division Today s topics: Signed/Unsigned Addition Multiplication Division 1 Signed / Unsigned The hardware recognizes two formats: unsigned (corresponding to the C

### Lecture Topics. Announcements. Today: Integer Arithmetic (P&H ) Next: The MIPS ISA (P&H ) Consulting hours. Milestone #1 (due 1/26)

Lecture Topics Today: Integer Arithmetic (P&H 3.1-3.4) Next: The MIPS ISA (P&H 2.1-2.14) 1 Announcements Consulting hours Milestone #1 (due 1/26) Milestone #2 (due 2/2) 2 1 Review: Integer Operations Internal

### Chapter 3 Arithmetic for Computers. ELEC 5200/ From P-H slides

Chapter 3 Arithmetic for Computers 1 Arithmetic for Computers Operations on integers Addition and subtraction Multiplication and division Dealing with overflow Floating-point real numbers Representation

### Computer Architecture Chapter 3. Fall 2005 Department of Computer Science Kent State University

Computer Architecture Chapter 3 Fall 2005 Department of Computer Science Kent State University Objectives Signed and Unsigned Numbers Addition and Subtraction Multiplication and Division Floating Point

### Question 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,

### EEC 483 Computer Organization

EEC 483 Computer Organization Chapter 3. Arithmetic for Computers Chansu Yu Table of Contents Ch.1 Introduction Ch. 2 Instruction: Machine Language Ch. 3-4 CPU Implementation Ch. 5 Cache and VM Ch. 6-7

### 361 div.1. Computer Architecture EECS 361 Lecture 7: ALU Design : Division

361 div.1 Computer Architecture EECS 361 Lecture 7: ALU Design : Division Outline of Today s Lecture Introduction to Today s Lecture Divide Questions and Administrative Matters Introduction to Single cycle

### CISC 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,

### Overview. Introduction to the MIPS ISA. MIPS ISA Overview. Overview (2)

Introduction to the MIPS ISA Overview Remember that the machine only understands very basic instructions (machine instructions) It is the compiler s job to translate your high-level (e.g. C program) into

### Math in MIPS. Subtracting a binary number from another binary number also bears an uncanny resemblance to the way it s done in decimal.

Page < 1 > Math in MIPS Adding and Subtracting Numbers Adding two binary numbers together is very similar to the method used with decimal numbers, except simpler. When you add two binary numbers together,

### 5DV118 Computer Organization and Architecture Umeå University Department of Computing Science Stephen J. Hegner. Topic 3: Arithmetic

5DV118 Computer Organization and Architecture Umeå University Department of Computing Science Stephen J. Hegner Topic 3: Arithmetic These slides are mostly taken verbatim, or with minor changes, from those

### CISC 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,

### Computer Organization and Structure. Bing-Yu Chen National Taiwan University

Computer Organization and Structure Bing-Yu Chen National Taiwan University Arithmetic for Computers Addition and Subtraction Gate Logic and K-Map Method Constructing a Basic ALU Arithmetic Logic Unit

### Assembly 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

### NUMBER OPERATIONS. Mahdi Nazm Bojnordi. CS/ECE 3810: Computer Organization. Assistant Professor School of Computing University of Utah

NUMBER OPERATIONS Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 3810: Computer Organization Overview Homework 4 is due tonight Verify your uploaded file before the

### Chapter 3 Arithmetic for Computers

Chapter 3 Arithmetic for Computers 1 Arithmetic Where we've been: Abstractions: Instruction Set Architecture Assembly Language and Machine Language What's up ahead: Implementing the Architecture operation

### MIPS Assembly Language. Today s Lecture

MIPS Assembly Language Computer Science 104 Lecture 6 Homework #2 Midterm I Feb 22 (in class closed book) Outline Assembly Programming Reading Chapter 2, Appendix B Today s Lecture 2 Review: A Program

### EE 109 Unit 8 MIPS Instruction Set

1 EE 109 Unit 8 MIPS Instruction Set 2 Architecting a vocabulary for the HW INSTRUCTION SET OVERVIEW 3 Instruction Set Architecture (ISA) Defines the software interface of the processor and memory system

### Today s Lecture. MIPS Assembly Language. Review: What Must be Specified? Review: A Program. Review: MIPS Instruction Formats

Today s Lecture Homework #2 Midterm I Feb 22 (in class closed book) MIPS Assembly Language Computer Science 14 Lecture 6 Outline Assembly Programming Reading Chapter 2, Appendix B 2 Review: A Program Review:

### ECE 2035 A Programming Hw/Sw Systems Fall problems, 8 pages Final Exam 9 December 2015

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

### HW2 solutions You did this for Lab sbn temp, temp,.+1 # temp = 0; sbn temp, b,.+1 # temp = -b; sbn a, temp,.+1 # a = a (-b) = a + b;

HW2 solutions 3.10 Pseuodinstructions What is accomplished Minimum sequence of Mips Move \$t5, \$t3 \$t5=\$t3 Add \$t5, \$t3, \$0 Clear \$t5 \$t5=0 Xor \$t5, \$t5, \$t5 Li \$t5, small \$t5=small Addi \$t5, \$0, small

### ECE331: Hardware Organization and Design

ECE331: Hardware Organization and Design Lecture 9: Binary Addition & Multiplication Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Pop Quiz! Using 4 bits signed integer notation:

### ECE331: Hardware Organization and Design

ECE331: Hardware Organization and Design Lecture 15: Midterm 1 Review Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Basics Midterm to cover Book Sections (inclusive) 1.1 1.5

### software hardware Which is easier to change/design???

CS152 Computer Architecture and Engineering Lecture 2 Review of MIPS ISA and Performance January 27, 2003 John Kubiatowicz (http.cs.berkeley.edu/~kubitron) lecture slides: http://inst.eecs.berkeley.edu/~cs152/

### CMPE324 Computer Architecture Lecture 2

CMPE324 Computer Architecture Lecture 2.1 What is Computer Architecture? Software Hardware Application (Netscape) Operating System Compiler (Unix; Assembler Windows 9x) Processor Memory Datapath & Control

### Programming 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

### Flow of Control -- Conditional branch instructions

Flow of Control -- Conditional branch instructions You can compare directly Equality or inequality of two registers One register with 0 (>,

### CPS311 - 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

### EE 109 Unit 13 MIPS Instruction Set. Instruction Set Architecture (ISA) Components of an ISA INSTRUCTION SET OVERVIEW

1 2 EE 109 Unit 13 MIPS Instruction Set Architecting a vocabulary for the HW INSTRUCTION SET OVERVIEW 3 4 Instruction Set Architecture (ISA) Defines the of the processor and memory system Instruction set

### Lecture Topics. Announcements. Today: Integer Arithmetic (P&H ) Next: continued. Consulting hours. Introduction to Sim. Milestone #1 (due 1/26)

Lecture Topics Today: Integer Arithmetic (P&H 3.1-3.4) Next: continued 1 Announcements Consulting hours Introduction to Sim Milestone #1 (due 1/26) 2 1 Overview: Integer Operations Internal representation

### Computer Architecture Set Four. Arithmetic

Computer Architecture Set Four Arithmetic Arithmetic Where we ve been: Performance (seconds, cycles, instructions) Abstractions: Instruction Set Architecture Assembly Language and Machine Language What

### Instruction 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

### 101 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

### CS/COE0447: Computer Organization

CS/COE0447: Computer Organization and Assembly Language Chapter 3 Sangyeun Cho Dept. of Computer Science Five classic components I am like a control tower I am like a pack of file folders I am like a conveyor

### CS/COE0447: Computer Organization

Five classic components CS/COE0447: Computer Organization and Assembly Language I am like a control tower I am like a pack of file folders Chapter 3 I am like a conveyor belt + service stations I exchange

### Midterm. 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.

### INSTRUCTION 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

### ECE 2035 Programming Hw/Sw Systems Fall problems, 10 pages Final Exam 9 December 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

### Signed Multiplication Multiply the positives Negate result if signs of operand are different

Another Improvement Save on space: Put multiplier in product saves on speed: only single shift needed Figure: Improved hardware for multiplication Signed Multiplication Multiply the positives Negate result

### ECE 2035 A Programming Hw/Sw Systems Fall problems, 8 pages Final Exam 8 December 2014

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

### CS 61c: Great Ideas in Computer Architecture

Introduction to Assembly Language June 30, 2014 Review C Memory Layout Local variables disappear because the stack changes Global variables don t disappear because they are in static data Dynamic memory

### MIPS%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

### MIPS Assembly Language

MIPS Assembly Language Chapter 15 S. Dandamudi Outline MIPS architecture Registers Addressing modes MIPS instruction set Instruction format Data transfer instructions Arithmetic instructions Logical/shift/rotate/compare

### ECE 15B Computer Organization Spring 2010

ECE 15B Computer Organization Spring 2010 Dmitri Strukov Lecture 7: Procedures I Partially adapted from Computer Organization and Design, 4 th edition, Patterson and Hennessy, and classes taught by and

### Computer Arithmetic Multiplication & Shift Chapter 3.4 EEC170 FQ 2005

Computer Arithmetic Multiplication & Shift Chapter 3.4 EEC170 FQ 200 Multiply We will start with unsigned multiply and contrast how humans and computers multiply Layout 8-bit 8 Pipelined Multiplier 1 2

### Integer Arithmetic. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Integer Arithmetic Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3050: Theory on Computer Architectures, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu)

### Midterm 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