Arithmetic instructions Instruction sets MIPS assembly language Part 2
Add Subtract The rest can be fashioned from these
CS207, Fall 2004 September 17, 2004
MIPS
Add and subtract have three operands
Simpler to implement a fixed number of operands in har
First, a reminder. Instruction sets MIPS assembly language Part 1
Computers communicate in bits Bit = electrical pulse
0 = "off" or "low voltage" 1 = "on" or "high voltage"
CS207, Fall 2004 September 15, 2004
Question of the day
Instruction set
Comput
MIPS datapath implementation Datapath and control: Single-cycle implementation, part 2
`
CS207, Fall 2004 October 29, 2004
1
Source: Patterson and Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd ed.
2
ALU control unit: ou
Definitions Datapath and control: Single-cycle implementation, part 1
Datapath: The processor elements that operate on and/or store data Control: The processor element that decides how and when parts of the datapath are executed
CS207, Fall 2004 October
Multicycle datapath implementation Datapath and control: Multi-cycle implementation IA-32
Once clock cycle per execution step Instructions will take a variable number of clock cycles (3-5 for MIPS) Functional units are now reused in the architecture Regis
Multiplication MIPS Multiplication and division Floating-point representation
Series of adds and shifts Operands of n bits and m bits yield a product of n+m bits Shortcut: multiply by 2 n -> shift left by n bits MIPS implements by using 32 adders, paralle
Procedures in MIPS: data MIPS procedures Compiling and linking
Stack
for (temporarily) storing data elsewhere stack pointer register ($sp) stores the location of the top (last) item on the stack add items: subtract from stack pointer remove items: add to
Decision-making operations Instruction sets MIPS assembly language
High-level languages: if-else, for, while, etc. Instruction set: can be accomplished with a combination of the following:
branch on comparison goto (jump) labels
CS207, Fall 2004 Septemb
Multiplication MIPS Multiplication and division Floating-point representation
Series of adds and shifts Operands of n bits and m bits yield a product of n+m bits Shortcut: multiply by 2 n -> shift left by n bits MIPS implements by using 32 adders, paralle
Procedures in MIPS: data MIPS procedures Compiling and linking
Stack
for (temporarily) storing data elsewhere stack pointer register ($sp) stores the location of the top (last) item on the stack add items: subtract from stack pointer remove items: add to
Decision-making operations Instruction sets MIPS assembly language
High-level languages: if-else, for, while, etc. Instruction set: can be accomplished with a combination of the following:
branch on comparison goto (jump) labels
CS207, Fall 2004 Septemb
Arithmetic instructions Instruction sets MIPS assembly language Part 2
Add Subtract The rest can be fashioned from these
CS207, Fall 2004 September 17, 2004
MIPS
Add and subtract have three operands
Simpler to implement a fixed number of operands in har
First, a reminder. Instruction sets MIPS assembly language Part 1
Computers communicate in bits Bit = electrical pulse
0 = "off" or "low voltage" 1 = "on" or "high voltage"
CS207, Fall 2004 September 15, 2004
Question of the day
Instruction set
Comput
MIPS datapath implementation Datapath and control: Single-cycle implementation, part 2
`
CS207, Fall 2004 October 29, 2004
1
Source: Patterson and Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd ed.
2
ALU control unit: ou
Definitions Datapath and control: Single-cycle implementation, part 1
Datapath: The processor elements that operate on and/or store data Control: The processor element that decides how and when parts of the datapath are executed
CS207, Fall 2004 October
Multicycle datapath implementation Datapath and control: Multi-cycle implementation IA-32
Once clock cycle per execution step Instructions will take a variable number of clock cycles (3-5 for MIPS) Functional units are now reused in the architecture Regis
MIPS IV Instruction Set
Revision 3.2 September, 1995
Charles Price
MIPS Technologies, Inc.
All Right Reserved
RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure of the technical data contained in this document by the Government is subject to restri
A-49
A.10 MIPS R2000 Assembly Language
.text <addr>
Subsequent items are put in the user text segment. In SPIM, these items may only be instructions or words (see the .word directive below).
If the optional argument addr is present, subsequent items are s
The MIPS Info Sheet
MIPS Instructions
Arithmetic/Logic
sub Rdest, Rsrc1, Src2 Subtract (with overflow) Put the difference of the integers from register Rsrc1 and Src2 into register Rdest. xor Rdest, Rsrc1, Src2 XOR Put the logical XOR of the integers from
Page < 1 >
By Joshua Cantrell
jjc@cory.berkeley.edu
Page < 2 >
By Joshua Cantrell
jjc@cory.berkeley.edu
Math in MIPS
Adding and Subtracting Binary Numbers
Adding two binary numbers together is very similar to the method used with decimal
numbers, except s
CDA 3101 Discussion Section 03
MIPS
Assembly Language
Programming (2)
1
Basic Instructions
Manipulate data:
ADD SUB MUL DIV AND OR XOR
ADDI SLL
Memory Instruction:
LW SW
LB SB
Branches
J
BNE BEQ BGE
2
Decisions: C if Statements
2 kinds of if s
Sampling Distributions
for Counts and Proportions
Chapter 5
Binomial distributions for sample counts
Binomial distributions are models for some categorical variables,
typically representing the number of successes in a series of n trials.
The observations
103
5 MIPS Assembly Language
Today, digital computers are almost exclusively programmed using high-level programming languages (PLs), e.g., C, C+, Java The CPU fetchexecute cycle, however, is not prepared to directly execute high-level constructs like if
COMP 273 Winter 2012
12 - MIPS co-processors
Feb. 28, 2012
oating point registers in MIPS
As I mentioned in lecture 7, special circuits and registers are needed for oating point operations.
The simple version of MIPS that we are using (called the R2000) w
Pseudo-instructions
These are simple assembly language instructions that do
not have a direct machine language equivalent. During
assembly, the assembler translates each psedudoinstruction into one or more machine language
instructions.
Example
move $t0,