EECS 362 Group 2: Kevin Cheung Michael Glowacki Alex Romine Dave Sexton.

Slides:



Advertisements
Similar presentations
Integer Arithmetic: Multiply, Divide, and Bitwise Operations
Advertisements

Introduction to PipelineCS510 Computer ArchitecturesLecture Lecture 6 Introduction to Pipelining.
CS252/Patterson Lec 1.1 1/17/01 Pipelining: Its Natural! Laundry Example Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, and fold Washer.
©UCB CPSC 161 Lecture 6 Prof. L.N. Bhuyan
Computer Structure - Computer Arithmetic Goal: Representing Numbers in Binary  Base 10 (decimal) - Numbers are represented using 10 numerals: 0, 1, 2,
Computer Systems Organization: Lecture 3
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
1 Lecture 8: Binary Multiplication & Division Today’s topics:  Addition/Subtraction  Multiplication  Division Reminder: get started early on assignment.
ECE 15B Computer Organization Spring 2010 Dmitri Strukov Lecture 6: Logic/Shift Instructions Partially adapted from Computer Organization and Design, 4.
Week 3 Presentation Kevin Cheung Michael Glowacki Alex Romine Dave Sexton.
VHDL Synthesis of a MIPS-32 Processor Bryan Allen Dave Chandler Nate Ransom.
CSE331 W09.1Irwin Fall 2007 PSU CSE 331 Computer Organization and Design Fall 2007 Week 9 Section 1: Mary Jane Irwin (
IT253: Computer Organization Lecture 5: Assembly Language and an Introduction to MIPS Tonga Institute of Higher Education.
Computer Engineering AddSub page 1 Basic Building Blocks Multiplexer + Demultiplexer Adder.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
CSE378 Instr. encoding.1 Instruction encoding The ISA defines –The format of an instruction (syntax) –The meaning of the instruction (semantics) Format.
1. 2 Instructions: Words of the language understood by CPU Instruction set: CPU’s vocabulary Instruction Set Architecture (ISA): CPU’s vocabulary together.
Computer Architecture Chapter 3 Instructions: Arithmetic for Computer Yu-Lun Kuo 郭育倫 Department of Computer Science and Information Engineering Tunghai.
Chapter 3 Arithmetic for Computers (Integers). Florida A & M University - Department of Computer and Information Sciences Arithmetic for Computers Operations.
Chapter 10 The Assembly Process. What Assemblers Do Translates assembly language into machine code. Assigns addresses to all symbolic labels (variables.
Computer Architecture and Design – ECEN 350 Part 6 [Some slides adapted from A. Sprintson, M. Irwin, D. Paterson and others]
TEAM FRONT END ECEN 4243 Digital Computer Design.
RISC Processor Design RISC Instruction Set Virendra Singh Indian Institute of Science Bangalore Lecture 8 SE-273: Processor Design.
1. Building A CPU  We’ve built a small ALU l Add, Subtract, SLT, And, Or l Could figure out Multiply and Divide  What about the rest l How do.
CPE 232 MIPS Arithmetic1 CPE 232 Computer Organization MIPS Arithmetic – Part I Dr. Gheith Abandah [Adapted from the slides of Professor Mary Irwin (
EI 209 Chapter 3.1CSE, 2015 EI 209 Computer Organization Fall 2015 Chapter 3: Arithmetic for Computers Haojin Zhu ( )
MIPS Assembly Language Chapter 13 S. Dandamudi To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,
Integer Multiplication, Division Arithmetic shift Twice the number of places MIPS multiply unit. mult, multu Significant bits Mfhi, mflo, div, divu Arithmetic.
1 Signed Arithmetic Logical Operations Ellen Spertus MCS 111 October 1, 2002.
CMPUT Computer Organization and Architecture I1 CMPUT229 - Fall 2003 Topic6: Logic, Multiply and Divide Operations José Nelson Amaral.
COM181 Computer Hardware Lecture 6: The MIPs CPU.
Oct. 11, 2000Machine Organization1 Machine Organization (CS 570) Lecture 3: Instruction Set Principles and Examples * Jeremy R. Johnson Wed. Oct. 11, 2000.
Pirouz Bazargan SabetDecember 2003 Effective Implementation of a 32-bit RISC Processor Pirouz Bazargan Sabet University of Paris 6 - LIP6 - ASIM
By Wannarat Computer System Design Lecture 3 Wannarat Suntiamorntut.
MIPS Arithmetic and Logic Instructions
CS Computer Organization Numbers and Instructions Dr. Stephen P. Carl.
CSE 340 Computer Architecture Spring 2016 MIPS Arithmetic Review.
Computer System Design Lecture 3
Digital Logic Design Alex Bronstein
Integer Multiplication, Division Arithmetic shift
CS 230: Computer Organization and Assembly Language
Integer Multiplication and Division
Computer Organization and Design Instruction Sets - 2
CS 314 Computer Organization Fall Chapter 3: Arithmetic for Computers
Computer Organization and Design Instruction Sets - 2
CDA 3101 Summer 2007 Introduction to Computer Organization
Computer Organization and Design Instruction Sets
CS352H: Computer Systems Architecture
Lecture 8: Addition, Multiplication & Division
Lecture 8: Addition, Multiplication & Division
Team Brian Leslie Stephen Brenner Brian Leslie Ben Whitcher
MPIS Instructions Functionalities of instructions Instruction format
MISP Assembly.
ECE232: Hardware Organization and Design
MIPS History MIPS is a computer family
EECS 362 – Presentation One
MIPS Assembly.
COMS 361 Computer Organization
A 1-Bit Arithmetic Logic Unit
Basic Building Blocks Multiplexer Demultiplexer Adder +
Team Stephen Brenner Brian Leslie Ben Whitcher
Computer Architecture EECS 361 Lecture 6: ALU Design
Logical instructions And rd rs rt Nor rd rs rt Or rd rs rt
Basic Building Blocks Multiplexer Demultiplexer Adder +
MIPS Assembly.
MIPS assembly.
Logical Instructions And rd rs rt Nor rd rs rt Or rd rs rt
MIPS Arithmetic and Logic Instructions
MIPS Assembly.
MIPS Arithmetic and Logic Instructions
Presentation transcript:

EECS 362 Group 2: Kevin Cheung Michael Glowacki Alex Romine Dave Sexton

Arithmetic Instructions ADDI ADDI ADDUI ADDUI SUBI SUBI SUBUI SUBUI ADD ADD ADDU ADDU SUB SUB SUBU SUBU MULT MULT MULTU MULTU DIV DIV DIVU DIVU rd, rs 1, rs 2 rd, rs 1, immediate

Arithmetic Instructions ADD ADD SUB SUB ADDU ADDU SUBU SUBU All instructions in R-type format. All instructions in R-type format. ADD/SUB treat the contents of source registers as signed (two’s complement) integers. ADD/SUB treat the contents of source registers as signed (two’s complement) integers. ADD/SUB generate arithmetic overflow when result of operations are (> 2 31 – 1) or ( 2 31 – 1) or (< ). ADDU/SUBU treats contents in source registers as unsigned integers ADDU/SUBU treats contents in source registers as unsigned integers ADDU/SUBU do not generate arithmetic overflow. ADDU/SUBU do not generate arithmetic overflow.

Arithmetic Instructions ADDI ADDI SUBI SUBI ADDUI ADDUI SUBUI SUBUI All instructions in I-type format. All instructions in I-type format. 16-bit immediate is extended to 32-bit. 16-bit immediate is extended to 32-bit. Sign extended for ADDI/SUBI and zero extended for ADDUI/SUBUI. Sign extended for ADDI/SUBI and zero extended for ADDUI/SUBUI.

Arithmetic Instructions MULT MULT DIV DIV MULTU MULTU DIVU DIVU All instructions in R-type format. All instructions in R-type format. Only use floating point registers. Only use floating point registers. MULT/DIV treat contents in source register as signed integers and MULTU/DIVU treat them as unsigned integers. MULT/DIV treat contents in source register as signed integers and MULTU/DIVU treat them as unsigned integers.

Logical Instructions AND AND OR OR XOR XOR ANDI ANDI ORI ORI XORI XORI LHI LHI rd, rs 1, rs 2 rd, rs 1, immediate rd, immediate

Logical Instructions LHI (Load High Immediate) LHI (Load High Immediate) Places 16-bit immediate into the most significant portion of the destination register and fills remaining portion of destination register with 0’s. Places 16-bit immediate into the most significant portion of the destination register and fills remaining portion of destination register with 0’s.

Branch BEQZ BEQZ BNEZ BNEZ BFPT BFPT BFPF BFPF rs 1, name name BEQZ branches when rs 1 is 0. BEQZ branches when rs 1 is 0. BNEZ branches when rs 1 is not 0. BNEZ branches when rs 1 is not 0. BFPT branches when FPSR is 1. BFPT branches when FPSR is 1. BFPF branches when FPSR is 0. BFPF branches when FPSR is 0.

Reusable Components Can reuse most of the ALU with some modifications. Can reuse most of the ALU with some modifications. SLL shifter can be reused. SLL shifter can be reused. 32-bit MUX’s 32-bit MUX’s Register bank can be reused but needs to be expanded. Register bank can be reused but needs to be expanded.

Discussion of Complications Limits to pipelining: Hazards prevent next instruction from executing during its designated clock cycle. Limits to pipelining: Hazards prevent next instruction from executing during its designated clock cycle. – Structural hazards: HW cannot support this combination of instructions. – Data hazards: Instruction depends on result of prior instruction still in the pipeline. – Control hazards: Pipelining of branches & other instructions that change the PC.