Agenda. Review 2/10/11. CS 61C: Great Ideas in Computer Architecture (Machine Structures)

Size: px
Start display at page:

Download "Agenda. Review 2/10/11. CS 61C: Great Ideas in Computer Architecture (Machine Structures)"

Transcription

1 CS 61C: Great Ideas in Computer Architecture (Machine Structures) Instructors: Randy H. Katz David A. PaGerson hgp://inst.eecs.berkeley.edu/~cs61c/sp New- School Machine Structures (It s a bit more complicated!) Parallel Requests Assigned to computer e.g., Search Katz Parallel Threads Assigned to core e.g., Lookup, Ads So#ware Parallel Instruc[ons >1 one [me e.g., 5 pipelined instruc[ons Parallel Data >1 data one [me e.g., Add of 4 pairs of words Hardware descrip[ons All one [me Harness Parallelism & Achieve High Performance Hardware Warehouse Scale Computer Core Memory Input/Output Instruc[on Unit(s) Main Memory Core Smart Phone Logic Gates 3 Computer Today s Lecture (Cache) Core Func[onal Unit(s) A 0 +B 0 A 1 +B 1 A 2 +B 2 A 3 +B 3 Machine Interpreta4on Levels of Representa[on/ Interpreta[on High Level Language Program (e.g., C) Compiler Assembly Language Program (e.g., MIPS) Assembler Machine Language Program (MIPS) Hardware Architecture DescripCon (e.g., block diagrams) Architecture Implementa4on temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) Today s Lecture Anything can be represented as a number, i.e., data or instruc[ons ! Logic Circuit DescripCon (Circuit SchemaCc Diagrams) 4 Agenda Review Instruc[ons as Numbers Administrivia Secret to Geing a Good Job / Good Internship Assemblers Compilers and Linkers Technology Break Compilers vs. Interpreters Compiler Op[miza[on? 5 Review Program can interpret binary number as unsigned integer, two s complement signed integer, floa[ng point number, ASCII characters, Unicode characters, Integers have largest posi[ve and largest nega[ve numbers, but represent all in between Two s comp. weirdness is one extra nega[ve numinteger and floa[ng point opera[ons can lead to results too big to store within their representa[ons: overflow/underflow Floa[ng point is an approxima<on of reals 2 32 pagerns to represent reals from to + Everything is a (binary) number in a computer Spring Lecture #7 6 1

2 Correc[on A = ( ) B = ( ) In single precision floa[ng point arithme[c, A does not equal B A = , B = Floa[ng Point Addi[on is not Associa[ve! Integer addi[on is associa[ve When does this mager? Instruc[ons as Numbers Instruc[ons are also kept as binary numbers in memory Stored program concept As easy to change programs as it is to change data Register names mapped to numbers Need to map instruc[on opera[on to a part of number 7 Spring Lecture #7 8 Instruc[ons as Numbers addu $t0,$s1,$s2 Des[na[on register $t0 is register 8 Source register $s1 is register 17 Source register $s2 is register 18 Add unsigned instruc[on encoded as number bits 5 bits 5 bits 5 bits 5 bits 6 bits Groups of bits call fields (unused field default is 0) Layout called instruc<on format Binary version called machine instruc<on Spring Lecture #7 9 Instruc[ons as Numbers sll $zero,$zero,0 $zero is register 0 Shiu amount 0 is 0 Shiu leu logical instruc[on encoded as number bits 5 bits 5 bits 5 bits 5 bits 6 bits Can also represent machine code as base 16 or base 8 number: hex, oct Spring Lecture #7 10 Everything in a Computer is Just a Binary Number Up to program to decide what data means Example 32- bit data shown as binary number: two What does it mean if its treated as 1. Signed integer 2. Unsigned integer 3. Floa[ng point 4. ASCII characters 5. Unicode characters 6. MIPS instruc<on Spring Lecture #7 11 Implica[ons of Everything is a Number Stored program concept Invented about 1947 (many claim inven[on) As easy to change programs as to change data! Implica[ons? Spring Lecture #7 12 2

3 Names of MIPS fields op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits op: Basic opera[on of instruc[on, or opcode rs: 1 st register source operand rt: 2 nd register source operand. rd: register des[na[on operand (result of opera[on) shamt: Shiu amount. funct: Func[on. This field, ouen called func<on code, selects the specific variant of the opera[on in the op field Spring Lecture #7 13 What about Load, Store, Immediate, Branches, Jumps? Fields for constants only 5 bits (- 16 to +15) Too small for many common cases #1 Simplicity favors regularity (all instruc[ons use one format) vs. #3 Make common case fast (mul[ple instruc[on formats)? 4 th Design Principle: Good design demands good compromises BeGer to have mul[ple instruc[on formats and keep all MIPS instruc[ons same size All MIPS instruc[ons are 32 bits or 4 bytes Spring Lecture #7 14 Names of MIPS Fields in op rs rt or constant 6 bits 5 bits 5 bits 16 bits op: Basic opera[on of instruc[on, or opcode rs: 1 st register source operand rt: 2 nd register source operand for branches but register des[na[on operand for lw, sw, and immediate opera[ons Address/constant: 16- bit two s complement number Note: equal in size of rd, shamt, funct fields Spring Lecture #7 15 Register (R), Immediate (I), Jump (J) Instruc[on Formats R- type op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Now loads, stores, branches, and immediates can have 16- bit two s complement or constant: - 32,768 ( ) to +32,767 (2 15-1) What about jump, jump and link? J- type op rs rt or constant 6 bits 5 bits 5 bits 16 bits op 6 bits 26 bits Spring Lecture #7 16 Addressing in Branches op rs rt or constant 6 bits 5 bits 5 bits 16 bits Programs much bigger than 2 16 bytes, but branch must fit in 16- bit field Must specify a register for branch es for big programs: PC = Register + Branch Which register? Condi[onal branching for IF- statement, loops Tend to be near branches; ½ within 16 instruc[ons Idea: PC- rela<ve branching Spring Lecture #7 17 Addressing in Branches op rs rt or constant 6 bits 5 bits 5 bits 16 bits Hardware increments PC early, so rela[ve is PC = (PC + 4) + Branch Another op[miza[on since all MIPS instruc[ons 4 bytes long? Mul[ply value in branch field by 4! MIPS PC- rela[ve branching PC = (PC + 4) + (Branch *4) Spring Lecture #7 18 3

4 Encoding of MIPS Instruc[ons: Must Be Unique! Addressing in Jumps J- type op 6 bits 26 bits Same trick for Jumps, Jump and Link PC = Jump * 4 Since PC = 32 bits, and Jump * 4 = 28 bits, what about other 4 bits? Jump and Jump and Link only changes bogom 28 bits of PC Spring Lecture #7 19 Agenda Secret to Geing a Good Job / Good Internship Spring Lecture #8 op rs rt rd shamt funct addu subu sltu sll addi unsigned lw (load word) sw (store word) beq bne j ( jump) jal jr ( jump reg) J J 9ten 35ten 43ten 4ten 5ten 2ten 3ten constant 33ten 35ten 43ten 0ten constant 8ten 21 Spring Lecture #7 2 Spring Lecture #8 22 Computers In The News Distribu[on: : 8 * : 1 * : 2 * : 10 * : 3 * : 4 * : 14 ** : 5 * : 56 *** * : 4 * : 217 ***** * Spring Lecture #8 Read before lecture, think about lecture, do assignments, labs,..? Cram day before exam, start project with 24 hours to go? Scores on Project 1, Part 1 Number grades: 324 Mean: 22. Mode: 25. Standard devia[on: 5.5 Minimum: 0. 1st quar[le: 20. 2nd quar[le (median): 25. 3rd quar[le: 25. Maximum: 25. Job/Intern interviews are (now) oral exams Long- term memory vs. short- term/working memory Long- term memory is intended for storage of informa[on over a long [me. Informa[on from the working memory is transferred to it auer a few seconds. Unlike in working memory, there is ligle decay. Learning for recall 6- `1 months later in oral exam vs. geing grades? Assemblers Compilers and Linkers Technology Break Compilers vs. Interpreters Compiler Op[miza[on? For mat Secret To Geing Good Job/Internship Review Instruc[ons as Numbers Administrivia Instruc[on 23 IBM Watson play Jeopardy! with champions A significant milestone in compu[ng, on par with IBM Deep Blue vs. Kasparov in chess in 1997? Mon 2/14 Wed 2/16 7-7:30PM KGO Channel 7 Spring Lecture #8 hgp://www- 03.ibm.com/innova[on/us/watson 24 4

5 My Life Beyond Compu[ng My Life Beyond Compu[ng 1935 Ford Sta[on Wagon 221 cubic inch (85 HP) original Ford Flathead V8 Engine Ford Cabriolet 454 cubic inch (7500 cc) Big Block Chevy V8 Engine 26 Assembler Input: Assembly Language Code (e.g., foo.s for MIPS) Output: Object Code, informa[on tables (e.g., foo.o for MIPS) Reads and Uses Direc[ves Replace Pseudoinstruc[ons Produce Machine Language Creates Object File addu $t0,$s2,$t0 sw $t0,($t1) op rs rt or constant Spring Lecture #7 28 I addu $t0,$s2,$t0 sw $t0,($t1) I addu $t0,$s2,$t0 R sw $t0,($t1) op rs rt or constant Spring Lecture #7 29 op rs rt or constant Spring Lecture #7 30 5

6 addu $t0,$s2,$t0 sw $t0,($t1) Instruc[on For mat op rs rt rd shamt funct addu R 0 reg reg reg 0 33 ten n.a. lw (load word) I 35 ten reg reg n.a. n.a. n.a. sw (store word) I 43 ten reg reg n.a. n.a. n.a. op rs rt or constant Spring Lecture #7 31 addu $t0,$s2,$t0 sw $t0,($t1) Instruc[on For mat op rs rt rd shamt funct addu R 0 reg reg reg 0 33 ten n.a. lw (load word) I 35 ten reg reg n.a. n.a. n.a. sw (store word) I 43 ten reg reg n.a. n.a. n.a. op rs rt or constant Spring Lecture #7 32 addu $t0,$s2,$t0 sw $t0,($t1) Instruc[on For mat op rs rt rd shamt funct addu R 0 reg reg reg 0 33 ten n.a. lw (load word) I 35 ten reg reg n.a. n.a. n.a. sw (store word) I 43 ten reg reg n.a. n.a. n.a. op rs rt or constant Spring Lecture #7 33 Add ress Conver[ng to MIPS Machine code Loop: sll $t1,$s3,2 addu $t1,$t1,$s6 lw $t0,0($t1) bne $t0,$s5, Exit addiu $s3,$s3,1 820 j Loop Exit: R- type J- type op rs rt rd shamt funct op rs rt or constant op Spring Lecture #7 34 Conver[ng to MIPS Machine code Add Loop: ress 800 sll $t1,$s3,2 R addu $t1,$t1,$s6 R lw $t0,0($t1) bne $t0,$s5, Exit I I addiu $s3,$s3,1 820 j Loop Exit: R- type J- type I J op rs rt rd shamt funct op rs rt or constant op Spring Lecture # bit constants in MIPS Can create a 32- bit constant from two 32- bit MIPS instruc[ons Load Upper Immediate (lui or Louie ) puts 16 bits into upper 16 bits of des[na[on register MIPS to load 32- bit constant into register $s0? two lui $s0, 61 # 61 = two ori $s0, $s0, 2304 # 2304 = two Spring Lecture #7 36 6

7 Transla[on Many compilers produce object modules directly 2.12 Transla[ng and Star[ng a Program Assembly and Pseudo- instruc[ons Turning textual MIPS instruc[ons into machine code called assembly, program called assembler Calculates es, maps register names to numbers, produces binary machine language Textual language called assembly language Can also accept instruc[ons convenient for programmer but not in hardware Load immediate (li) allows 32- bit constants, assembler turns into lui + ori (if needed) Load double (ld) uses two lwc1 instruc[ons to load a pair of 32- bit floa[ng point registers Called Pseudo- Instruc<ons Assembler Direc[ves (p. B- 5 to B- 7) Give direc[ons to assembler, but do not produce machine instruc[ons.text: Subsequent items put in user text segment.data: Subsequent items put in user data segment.globl sym: declares sym global and can be referenced from other files.asciiz str: Store the string str in memory and null- terminate it.word w1 wn: Store the n 32- bit quan[[es in successive memory words Assembler Pseudoinstruc[ons Most assembler instruc[ons represent machine instruc[ons one- to- one Pseudoinstruc[ons: figments of the assembler s imagina[on move $t0, $t1 add $t0, $zero, $t1 blt $t0, $t1, L slt $at, $t0, $t1 bne $at, $zero, L $at (register 1): assembler temporary 40 More Pseudoinstruc[ons Asm. treats convenient varia[ons of machine language instruc[ons as if real instruc[ons Pseudo: Real: addu $t0,$t6,1 subu $sp,$sp,32 sd $a0, 32($sp) la $a0, str More Pseudoinstruc[ons Asm. treats convenient varia[ons of machine language instruc[ons as if real instruc[ons Pseudo: Real: addu $t0,$t6,1 addiu $t0,$t6,1 subu $sp,$sp,32 sd $a0, 32($sp) la $a0, str 7

8 More Pseudoinstruc[ons Asm. treats convenient varia[ons of machine language instruc[ons as if real instruc[ons Pseudo: Real: addu $t0,$t6,1 addiu $t0,$t6,1 subu $sp,$sp,32 addiu $sp,$sp,-32 sd $a0, 32($sp) la $a0, str More Pseudoinstruc[ons Asm. treats convenient varia[ons of machine language instruc[ons as if real instruc[ons Pseudo: Real: addu $t0,$t6,1 addiu $t0,$t6,1 subu $sp,$sp,32 addiu $sp,$sp,-32 sd $a0, 32($sp) sw $a0, 32($sp) sw $a1, 36($sp) la $a0, str lui $at,left(str) ori $a0,$at,right(str) Producing an Object Module Assembler (or compiler) translates program into machine instruc[ons Provides informa[on for building a complete program from the pieces Header: described contents of object module Text segment: translated instruc[ons Sta[c data segment: data allocated for the life of the program Reloca[on info: for contents that depend on absolute loca[on of loaded program Symbol table: global defini[ons and external refs Debug info: for associa[ng with source code Separate Compila[on and Assembly No need to compile all code at once How put pieces together? FIGURE B.1.1 The process that produces an executable file. An assembler translates a file of assembly language into an object file, which is linked with other files and libraries into an executable file. Copyright 2009 Elsevier, Inc. All rights reserved Transla[on and Startup Many compilers produce object modules directly 2.12 Transla[ng and Star[ng a Program Linker S[tches Files Together Sta[c linking 47 FIGURE B.3.1 The linker searches a colleccon of object fi les and program libraries to find nonlocal roucnes used in a program, combines them into a single executable file, and resolves references between roucnes in different files. Copyright 2009 Elsevier, Inc. All rights reserved. 48 8

9 Linking Object Modules Produces an executable image 1. Merges segments 2. Resolve labels (determine their es) 3. Patch loca[on- dependent and external refs Ouen a slower than compiling all the machine code files must be read into memory and linked together Loading a Program Load from image file on disk into memory 1. Read header to determine segment sizes 2. Create virtual space (cover later in semester) 3. Copy text and ini[alized data into memory 4. Set up arguments on stack 5. Ini[alize registers (including $sp, $fp, $gp) 6. Jump to startup rou[ne Copies arguments to $a0, and calls main When main returns, do exit systems call Review Everything is a (binary) number in a computer Instruc[ons and data; stored program concept Assemblers can enhance machine instruc[on set to help assembly- language programmer Translate from text that easy for programmers to understand into code that machine executes efficiently: Compilers, Assemblers Linkers allow separate transla[on of modules Interpreters for debugging, but slow execu[on Hybrid (Java): Compiler + Interpreter to try to get best of both Compiler Op[miza[on to relieve programmer 51 9

Instructors: Randy H. Katz David A. PaHerson hhp://inst.eecs.berkeley.edu/~cs61c/fa10. Fall Lecture #6. Agenda

Instructors: Randy H. Katz David A. PaHerson hhp://inst.eecs.berkeley.edu/~cs61c/fa10. Fall Lecture #6. Agenda CS 61C: Great Ideas in Computer Architecture (Machine Structures) Instructors: Randy H. Katz David A. PaHerson hhp://inst.eecs.berkeley.edu/~cs61c/fa10 Fall 2010 - - Lecture #6 1 Agenda Review Overflow

More information

Instructor: Randy H. Katz hap://inst.eecs.berkeley.edu/~cs61c/fa13. Fall Lecture #7. Warehouse Scale Computer

Instructor: Randy H. Katz hap://inst.eecs.berkeley.edu/~cs61c/fa13. Fall Lecture #7. Warehouse Scale Computer CS 61C: Great Ideas in Computer Architecture Everything is a Number Instructor: Randy H. Katz hap://inst.eecs.berkeley.edu/~cs61c/fa13 9/19/13 Fall 2013 - - Lecture #7 1 New- School Machine Structures

More information

CS 61C: Great Ideas in Computer Architecture. MIPS Instruc,on Representa,on II. Dan Garcia

CS 61C: Great Ideas in Computer Architecture. MIPS Instruc,on Representa,on II. Dan Garcia CS 61C: Great Ideas in Computer Architecture MIPS Instruc,on Representa,on II Dan Garcia 1 Review of Last Lecture Simplifying MIPS: Define instruc?ons to be same size as data word (one word) so that they

More information

CS 61C: Great Ideas in Computer Architecture Func%ons and Numbers

CS 61C: Great Ideas in Computer Architecture Func%ons and Numbers CS 61C: Great Ideas in Computer Architecture Func%ons and Numbers 9/11/12 Instructor: Krste Asanovic, Randy H. Katz hcp://inst.eecs.berkeley.edu/~cs61c/sp12 Fall 2012 - - Lecture #8 1 New- School Machine

More information

Review (1/2) IEEE 754 Floating Point Standard: Kahan pack as much in as could get away with. CS61C - Machine Structures

Review (1/2) IEEE 754 Floating Point Standard: Kahan pack as much in as could get away with. CS61C - Machine Structures Review (1/2) CS61C - Machine Structures Lecture 11 - Starting a Program October 4, 2000 David Patterson http://www-inst.eecs.berkeley.edu/~cs61c/ IEEE 754 Floating Point Standard: Kahan pack as much in

More information

CS 61C: Great Ideas in Computer Architecture Strings and Func.ons. Anything can be represented as a number, i.e., data or instruc\ons

CS 61C: Great Ideas in Computer Architecture Strings and Func.ons. Anything can be represented as a number, i.e., data or instruc\ons CS 61C: Great Ideas in Computer Architecture Strings and Func.ons Instructor: Krste Asanovic, Randy H. Katz hdp://inst.eecs.berkeley.edu/~cs61c/sp12 Fall 2012 - - Lecture #7 1 New- School Machine Structures

More information

CS61C Machine Structures. Lecture 18 - Running a Program I. 3/1/2006 John Wawrzynek. www-inst.eecs.berkeley.edu/~cs61c/

CS61C Machine Structures. Lecture 18 - Running a Program I. 3/1/2006 John Wawrzynek. www-inst.eecs.berkeley.edu/~cs61c/ CS61C Machine Structures Lecture 18 - Running a Program I aka Compiling, Assembling, Linking, Loading 3/1/2006 John Wawrzynek (www.cs.berkeley.edu/~johnw) www-inst.eecs.berkeley.edu/~cs61c/ CS 61C L18

More information

CS 61C: Great Ideas in Computer Architecture. MIPS Instruction Formats

CS 61C: Great Ideas in Computer Architecture. MIPS Instruction Formats CS 61C: Great Ideas in Computer Architecture MIPS Instruction Formats Instructor: Justin Hsia 6/27/2012 Summer 2012 Lecture #7 1 Review of Last Lecture New registers: $a0-$a3, $v0-$v1, $ra, $sp Also: $at,

More information

ecture 12 From Code to Program: CALL (Compiling, Assembling, Linking, and Loading) Friedland and Weaver Computer Science 61C Spring 2017

ecture 12 From Code to Program: CALL (Compiling, Assembling, Linking, and Loading) Friedland and Weaver Computer Science 61C Spring 2017 ecture 12 Computer Science 61C Spring 2017 February 13th, 2017 From Code to Program: CALL (Compiling, Assembling, Linking, and Loading) 1 Administrivia My office hours: Monday 1pm-2pm, 424 SDH. We know

More information

ECE 15B COMPUTER ORGANIZATION

ECE 15B COMPUTER ORGANIZATION ECE 15B COMPUTER ORGANIZATION Lecture 17 Executing Programs: Compiling, Assembling, Linking and Loading (Part II) Project #3 Due June 10, 5pm Announcements Submit via email Homework #4 Due June 5, 5pm

More information

ECE 15B COMPUTER ORGANIZATION

ECE 15B COMPUTER ORGANIZATION ECE 15B COMPUTER ORGANIZATION Lecture 16 Executing Programs: Compiling, Assembling, Linking and Loading I Dr. Rahul Singh Project #2 Due May 29 at 5 PM Submit via email Project #3 Due June 5, 5pm Submit

More information

CS 61C: Great Ideas in Computer Architecture Running a Program - CALL (Compiling, Assembling, Linking, and Loading)

CS 61C: Great Ideas in Computer Architecture Running a Program - CALL (Compiling, Assembling, Linking, and Loading) CS 61C: Great Ideas in Computer Architecture Running a Program - CALL (Compiling, Assembling, Linking, and Loading) Instructors: Nick Weaver & Vladimir Stojanovic http://inst.eecs.berkeley.edu/~cs61c/sp16

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 18 Running a Program I 2004-03-03 Wannabe Lecturer Alexandre Joly inst.eecs.berkeley.edu/~cs61c-te Overview Interpretation vs Translation

More information

CS 61c: Great Ideas in Computer Architecture

CS 61c: Great Ideas in Computer Architecture MIPS Instruction Formats July 2, 2014 Review New registers: $a0-$a3, $v0-$v1, $ra, $sp New instructions: slt, la, li, jal, jr Saved registers: $s0-$s7, $sp, $ra Volatile registers: $t0-$t9, $v0-$v1, $a0-$a3

More information

Review. Disassembly is simple and starts by decoding opcode field. Lecture #13 Compiling, Assembly, Linking, Loader I

Review. Disassembly is simple and starts by decoding opcode field. Lecture #13 Compiling, Assembly, Linking, Loader I CS61C L13 CALL I (1) inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #13 Compiling, Assembly, Linking, Loader I 2008-7-14 Albert Chae, Instructor Review Disassembly is simple and starts

More information

CS 61C: Great Ideas in Computer Architecture Compilers and Floa-ng Point. Today s. Lecture

CS 61C: Great Ideas in Computer Architecture Compilers and Floa-ng Point. Today s. Lecture CS 61C: Great Ideas in Computer Architecture s and Floa-ng Point Instructors: Krste Asanovic, Randy H. Katz hdp://inst.eecs.berkeley.edu/~cs61c/fa12 Fall 2012 - - Lecture #13 1 New- School Machine Structures

More information

Instructors: Randy H. Katz David A. PaKerson hkp://inst.eecs.berkeley.edu/~cs61c/fa10. Fall Lecture #11. Agenda

Instructors: Randy H. Katz David A. PaKerson hkp://inst.eecs.berkeley.edu/~cs61c/fa10. Fall Lecture #11. Agenda CS 61C: Great Ideas in Computer Architecture (Machine Structures) Compilers, Interpreters, Instructors: Randy H. Katz David A. PaKerson hkp://inst.eecs.berkeley.edu/~cs61c/fa10 9/20/10 Fall 2010 - - Lecture

More information

MIPS R-format Instructions. Representing Instructions. Hexadecimal. R-format Example. MIPS I-format Example. MIPS I-format Instructions

MIPS R-format Instructions. Representing Instructions. Hexadecimal. R-format Example. MIPS I-format Example. MIPS I-format Instructions Representing Instructions Instructions are encoded in binary Called machine code MIPS instructions Encoded as 32-bit instruction words Small number of formats encoding operation code (opcode), register

More information

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. 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 information

UCB CS61C : Machine Structures

UCB CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 18 Running a Program I (Compiling, Assembling, Linking, Loading) Lecturer SOE Dan Garcia 2008-03-04 Researchers at the University of

More information

Review. Lecture 18 Running a Program I aka Compiling, Assembling, Linking, Loading

Review. Lecture 18 Running a Program I aka Compiling, Assembling, Linking, Loading CS61C L18 Running a Program I (1) inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 18 Running a Program I aka Compiling, Assembling, Linking, Loading 2006-10-09 Lecturer SOE

More information

COMPUTER ORGANIZATION AND DESIGN

COMPUTER ORGANIZATION AND DESIGN COMPUTER ORGANIZATION AND DESIGN 5 th The Hardware/Software Interface Edition Chapter 2 Instructions: Language of the Computer 2.1 Introduction Instruction Set The repertoire of instructions of a computer

More information

Administrivia. Midterm Exam - You get to bring. What you don t need to bring. Conflicts? DSP accomodations? Head TA

Administrivia. Midterm Exam - You get to bring. What you don t need to bring. Conflicts? DSP accomodations?  Head TA inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 16 Running a Program (Compiling, Assembling, Linking, Loading) Sr Lecturer SOE Dan Garcia Research shows laptops and tablets in class

More information

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA

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,

More information

Instructions: MIPS ISA. Chapter 2 Instructions: Language of the Computer 1

Instructions: 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 information

Assembler. #13 Running a Program II

Assembler. #13 Running a Program II CS61C L13 Running a Program II (1) inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures #13 Running a Program II aka Compiling, Assembling, Linking, Loading (CALL) 2007-7-17 Scott Beamer, Instructor

More information

UC Berkeley CS61C : Machine Structures

UC Berkeley CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 18 Running a Program I aka Compiling, Assembling, Linking, Loading Berkeley beat-down #10 Cal bears ate the OU ducks 45-24.

More information

CSSE232 Computer Architecture. Logic and Decision Opera:ons

CSSE232 Computer Architecture. Logic and Decision Opera:ons CSSE232 Computer Architecture Logic and Decision Opera:ons Class status Reading for today: Sec:ons 2.6-2.7 Due today HW0 Lab 0 status? Outline Logical opera:ons ShiI operators Pseudo instruc:ons Immediates

More information

MIPS Instruc,ons CS 64: Computer Organiza,on and Design Logic Lecture #8

MIPS Instruc,ons CS 64: Computer Organiza,on and Design Logic Lecture #8 MIPS Instruc,ons CS 64: Computer Organiza,on and Design Logic Lecture #8 Ziad Matni Dept. of Computer Science, UCSB Administra:ve Your midterm exam is next week on Thurs. 2/15 2/8/18 Matni, CS64, Wi18

More information

Thomas Polzer Institut für Technische Informatik

Thomas Polzer Institut für Technische Informatik Thomas Polzer tpolzer@ecs.tuwien.ac.at Institut für Technische Informatik Branch to a labeled instruction if a condition is true Otherwise, continue sequentially beq rs, rt, L1 if (rs == rt) branch to

More information

CS 61c: Great Ideas in Computer Architecture

CS 61c: Great Ideas in Computer Architecture C.A.L.L. July 7, 2014 Review Three different instruction formats designed to be as similar as possible, while still handling all instructions: R: opcode rs rt rd shamt funct I: opcode rs rt immediate J:

More information

COMPSCI 313 S Computer Organization. 7 MIPS Instruction Set

COMPSCI 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 information

Machine Instructions - II. Hwansoo Han

Machine Instructions - II. Hwansoo Han Machine Instructions - II Hwansoo Han Conditional Operations Instructions for making decisions Alter the control flow - change the next instruction to be executed Branch to a labeled instruction if a condition

More information

Introduction to the MIPS. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Introduction to the MIPS. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Introduction to the MIPS Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Introduction to the MIPS The Microprocessor without Interlocked Pipeline Stages

More information

Review of Last Lecture. CS 61C: Great Ideas in Computer Architecture. MIPS Instruction Representation II. Agenda. Dealing With Large Immediates

Review of Last Lecture. CS 61C: Great Ideas in Computer Architecture. MIPS Instruction Representation II. Agenda. Dealing With Large Immediates CS 61C: Great Ideas in Computer Architecture MIPS Instruction Representation II Guest Lecturer: Justin Hsia 2/11/2013 Spring 2013 Lecture #9 1 Review of Last Lecture Simplifying MIPS: Define instructions

More information

Chapter 2. Instructions: Language of the Computer. Adapted by Paulo Lopes

Chapter 2. Instructions: Language of the Computer. Adapted by Paulo Lopes Chapter 2 Instructions: Language of the Computer Adapted by Paulo Lopes Instruction Set The repertoire of instructions of a computer Different computers have different instruction sets But with many aspects

More information

MIPS (SPIM) Assembler Syntax

MIPS (SPIM) Assembler Syntax MIPS (SPIM) Assembler Syntax Comments begin with # Everything from # to the end of the line is ignored Identifiers are a sequence of alphanumeric characters, underbars (_), and dots () that do not begin

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures #13 Running a Program II aka Compiling, Assembling, Linking, Loading (CALL) 2007-7-17 Scott Beamer, Instructor Green Subscription Based PC Announced

More information

Branch Addressing. Jump Addressing. Target Addressing Example. The University of Adelaide, School of Computer Science 28 September 2015

Branch Addressing. Jump Addressing. Target Addressing Example. The University of Adelaide, School of Computer Science 28 September 2015 Branch Addressing Branch instructions specify Opcode, two registers, target address Most branch targets are near branch Forward or backward op rs rt constant or address 6 bits 5 bits 5 bits 16 bits PC-relative

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures $2M 3D camera Lecture 8 MIPS Instruction Representation I Instructor: Miki Lustig 2014-09-17 August 25: The final ISA showdown: Is ARM, x86, or

More information

2012 David Black- Schaffer 1

2012 David Black- Schaffer 1 1 Instruc*on Set Architectures 2 Introduc

More information

CS 61C: Great Ideas in Computer Architecture MIPS Instruction Formats

CS 61C: Great Ideas in Computer Architecture MIPS Instruction Formats CS 61C: Great Ideas in Computer Architecture MIPS Instruction Formats Instructors: Vladimir Stojanovic and Nicholas Weaver http://inst.eecs.berkeley.edu/~cs61c/sp16 1 Machine Interpretation Levels of Representation/Interpretation

More information

UCB CS61C : Machine Structures

UCB CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Guest Lecturer Alan Christopher Lecture 08 MIPS Instruction Representation I 2014-02-07 BOINC MORE THAN JUST SETI@HOME BOINC (developed here

More information

Reduced Instruction Set Computer (RISC)

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.

More information

CS 110 Computer Architecture Running a Program - CALL (Compiling, Assembling, Linking, and Loading)

CS 110 Computer Architecture Running a Program - CALL (Compiling, Assembling, Linking, and Loading) CS 110 Computer Architecture Running a Program - CALL (Compiling, Assembling, Linking, and Loading) Instructor: Sören Schwertfeger http://shtech.org/courses/ca/ School of Information Science and Technology

More information

CS 61C: Great Ideas in Computer Architecture (Machine Structures) More MIPS Machine Language

CS 61C: Great Ideas in Computer Architecture (Machine Structures) More MIPS Machine Language CS 61C: Great Ideas in Computer Architecture (Machine Structures) More MIPS Machine Language Instructors: Randy H. Katz David A. PaGerson hgp://inst.eecs.berkeley.edu/~cs61c/sp11 1 2 Machine Interpreta4on

More information

Machine Language Instructions Introduction. Instructions Words of a language understood by machine. Instruction set Vocabulary of the machine

Machine Language Instructions Introduction. Instructions Words of a language understood by machine. Instruction set Vocabulary of the machine Machine Language Instructions Introduction Instructions Words of a language understood by machine Instruction set Vocabulary of the machine Current goal: to relate a high level language to instruction

More information

CS 61C: Great Ideas in Computer Architecture Running a Program - CALL (Compiling, Assembling, Linking, and Loading)

CS 61C: Great Ideas in Computer Architecture Running a Program - CALL (Compiling, Assembling, Linking, and Loading) CS 61C: Great Ideas in Computer Architecture Running a Program - CALL (Compiling, Assembling, Linking, and Loading) Instructors: John Wawrzynek & Vladimir Stojanovic http://inst.eecs.berkeley.edu/~cs61c/fa15

More information

MIPS Instruction Set Architecture (2)

MIPS Instruction Set Architecture (2) MIPS Instruction Set Architecture (2) Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3050: Theory on Computer Architectures, Spring 2017, Jinkyu

More information

Chapter 2A Instructions: Language of the Computer

Chapter 2A Instructions: Language of the Computer Chapter 2A Instructions: Language of the Computer Copyright 2009 Elsevier, Inc. All rights reserved. Instruction Set The repertoire of instructions of a computer Different computers have different instruction

More information

Architecture II. Computer Systems Laboratory Sungkyunkwan University

Architecture II. Computer Systems Laboratory Sungkyunkwan University MIPS Instruction ti Set Architecture II Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Making Decisions (1) Conditional operations Branch to a

More information

CS 110 Computer Architecture MIPS Instruction Formats

CS 110 Computer Architecture MIPS Instruction Formats CS 110 Computer Architecture MIPS Instruction Formats Instructor: Sören Schwertfeger http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University Slides based

More information

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 ISA. RISC Goals RISC: Simplify ISA Simplify CPU Design Better CPU Performance Motivated by simplifying

More information

Chapter 2. Computer Abstractions and Technology. Lesson 4: MIPS (cont )

Chapter 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 information

CS222: MIPS Instruction Set

CS222: MIPS Instruction Set CS222: MIPS Instruction Set Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati 1 Outline Previous Introduction to MIPS Instruction Set MIPS Arithmetic's Register Vs Memory, Registers

More information

Chapter 2. Instruction Set Architecture (ISA)

Chapter 2. Instruction Set Architecture (ISA) Chapter 2 Instruction Set Architecture (ISA) MIPS arithmetic Design Principle: simplicity favors regularity. Why? Of course this complicates some things... C code: A = B + C + D; E = F - A; MIPS code:

More information

Levels of Programming. Registers

Levels of Programming. Registers Levels of Programming COSC 2021: Computer Organization Instructor: Dr. Amir Asif Department of Computer Science York University Handout # 3: MIPS Instruction Set I Topics: 1. Arithmetic Instructions 2.

More information

Chapter 2. Instructions: Language of the Computer

Chapter 2. Instructions: Language of the Computer Chapter 2 Instructions: Language of the Computer Instruction Set The repertoire of instructions of a computer Different computers have different instruction sets But with many aspects in common Early computers

More information

Stored Program Concept. Instructions: Characteristics of Instruction Set. Architecture Specification. Example of multiple operands

Stored Program Concept. Instructions: Characteristics of Instruction Set. Architecture Specification. Example of multiple operands Stored Program Concept Instructions: Instructions are bits Programs are stored in memory to be read or written just like data Processor Memory memory for data, programs, compilers, editors, etc. Fetch

More information

Lecture 2. Instructions: Language of the Computer (Chapter 2 of the textbook)

Lecture 2. Instructions: Language of the Computer (Chapter 2 of the textbook) Lecture 2 Instructions: Language of the Computer (Chapter 2 of the textbook) Instructions: tell computers what to do Chapter 2 Instructions: Language of the Computer 2 Introduction Chapter 2.1 Chapter

More information

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

Computer Organization and Structure. Bing-Yu Chen National Taiwan University Computer Organization and Structure Bing-Yu Chen National Taiwan University Instructions: Language of the Computer Operations and Operands of the Computer Hardware Signed and Unsigned Numbers Representing

More information

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

Computer Organization and Structure. Bing-Yu Chen National Taiwan University Computer Organization and Structure Bing-Yu Chen National Taiwan University Instructions: Language of the Computer Operations and Operands of the Computer Hardware Signed and Unsigned Numbers Representing

More information

ECE 15B Computer Organization Spring 2011

ECE 15B Computer Organization Spring 2011 ECE 15B Computer Organization Spring 2011 Dmitri Strukov Partially adapted from Computer Organization and Design, 4 th edition, Patterson and Hennessy, Agenda Instruction formats Addressing modes Advanced

More information

Systems Architecture I

Systems Architecture I Systems Architecture I Topics Assemblers, Linkers, and Loaders * Alternative Instruction Sets ** *This lecture was derived from material in the text (sec. 3.8-3.9). **This lecture was derived from material

More information

Computer Science and Engineering 331. Midterm Examination #1. Fall Name: Solutions S.S.#:

Computer Science and Engineering 331. Midterm Examination #1. Fall Name: Solutions S.S.#: Computer Science and Engineering 331 Midterm Examination #1 Fall 2000 Name: Solutions S.S.#: 1 41 2 13 3 18 4 28 Total 100 Instructions: This exam contains 4 questions. It is closed book and notes. Calculators

More information

Instructions: Language of the Computer

Instructions: Language of the Computer Instructions: Language of the Computer Tuesday 22 September 15 Many slides adapted from: and Design, Patterson & Hennessy 5th Edition, 2014, MK and from Prof. Mary Jane Irwin, PSU Summary Previous Class

More information

CS 61C: Great Ideas in Computer Architecture MIPS Instruction Formats

CS 61C: Great Ideas in Computer Architecture MIPS Instruction Formats CS 61C: Great Ideas in Computer Architecture MIPS Instruction Formats Instructors: Bernhard Boser and Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa16 9/15/16 Fall 2016 - Lecture #7 1 Review: Basic

More information

ELEC / Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2)

ELEC / Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2) ELEC 5200-001/6200-001 Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2) Victor P. Nelson, Professor & Asst. Chair Vishwani D. Agrawal, James J. Danaher Professor Department

More information

Lecture 10: Program Development versus Execution Environment

Lecture 10: Program Development versus Execution Environment Lecture 10: Program Development versus Execution Environment CSE 30: Computer Organization and Systems Programming Winter 2010 Rajesh Gupta / Ryan Kastner Dept. of Computer Science and Engineering University

More information

5/17/2012. Recap from Last Time. CSE 2021: Computer Organization. The RISC Philosophy. Levels of Programming. Stored Program Computers

5/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 information

Lecture 5: Procedure Calls

Lecture 5: Procedure Calls Lecture 5: Procedure Calls Today s topics: Memory layout, numbers, control instructions Procedure calls 1 Memory Organization The space allocated on stack by a procedure is termed the activation record

More information

Recap from Last Time. CSE 2021: Computer Organization. Levels of Programming. The RISC Philosophy 5/19/2011

Recap 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 information

CS61C Machine Structures. Lecture 13 - MIPS Instruction Representation I. 9/26/2007 John Wawrzynek. www-inst.eecs.berkeley.

CS61C Machine Structures. Lecture 13 - MIPS Instruction Representation I. 9/26/2007 John Wawrzynek. www-inst.eecs.berkeley. CS61C Machine Structures Lecture 13 - MIPS Instruction Representation I 9/26/2007 John Wawrzynek (www.cs.berkeley.edu/~johnw) www-inst.eecs.berkeley.edu/~cs61c/ CS 61C L13 MIPS Instruction Representation

More information

Assembler. Lecture 8 CS301

Assembler. Lecture 8 CS301 Assembler Lecture 8 CS301 Discussion Given the following function header, int foo(int a, int b); what will be on the stack before any of the calculations in foo are performed? Assume foo() calls some other

More information

ECE232: Hardware Organization and Design. Computer Organization - Previously covered

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

More information

EEM 486: Computer Architecture. Lecture 2. MIPS Instruction Set Architecture

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

More information

Lecture 4: MIPS Instruction Set

Lecture 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 information

Unsigned Binary Integers

Unsigned 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 information

Unsigned Binary Integers

Unsigned 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 information

CS61C - Machine Structures. Lecture 6 - Instruction Representation. September 15, 2000 David Patterson.

CS61C - Machine Structures. Lecture 6 - Instruction Representation. September 15, 2000 David Patterson. CS61C - Machine Structures Lecture 6 - Instruction Representation September 15, 2000 David Patterson http://www-inst.eecs.berkeley.edu/~cs61c/ 1 Review Instructions: add, addi, sub, lw, sw beq, bne, j

More information

Chapter 3 MIPS Assembly Language. Ó1998 Morgan Kaufmann Publishers 1

Chapter 3 MIPS Assembly Language. Ó1998 Morgan Kaufmann Publishers 1 Chapter 3 MIPS Assembly Language Ó1998 Morgan Kaufmann Publishers 1 Instructions: Language of the Machine More primitive than higher level languages e.g., no sophisticated control flow Very restrictive

More information

CS 4200/5200 Computer Architecture I

CS 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 information

Review. Lecture #9 MIPS Logical & Shift Ops, and Instruction Representation I Logical Operators (1/3) Bitwise Operations

Review. Lecture #9 MIPS Logical & Shift Ops, and Instruction Representation I Logical Operators (1/3) Bitwise Operations CS6C L9 MIPS Logical & Shift Ops, and Instruction Representation I () inst.eecs.berkeley.edu/~cs6c CS6C : Machine Structures Lecture #9 MIPS Logical & Shift Ops, and Instruction Representation I 25-9-28

More information

Control Instructions. Computer Organization Architectures for Embedded Computing. Thursday, 26 September Summary

Control Instructions. Computer Organization Architectures for Embedded Computing. Thursday, 26 September Summary Control Instructions Computer Organization Architectures for Embedded Computing Thursday, 26 September 2013 Many slides adapted from: Computer Organization and Design, Patterson & Hennessy 4th Edition,

More information

Control Instructions

Control Instructions Control Instructions Tuesday 22 September 15 Many slides adapted from: and Design, Patterson & Hennessy 5th Edition, 2014, MK and from Prof. Mary Jane Irwin, PSU Summary Previous Class Instruction Set

More information

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

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

More information

Chapter 2. Instructions:

Chapter 2. Instructions: Chapter 2 1 Instructions: Language of the Machine More primitive than higher level languages e.g., no sophisticated control flow Very restrictive e.g., MIPS Arithmetic Instructions We ll be working with

More information

Topic Notes: MIPS Instruction Set Architecture

Topic 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 information

9/9/12. New- School Machine Structures (It s a bit more complicated!) CS 61C: Great Ideas in Computer Architecture IntroducMon to Machine Language

9/9/12. New- School Machine Structures (It s a bit more complicated!) CS 61C: Great Ideas in Computer Architecture IntroducMon to Machine Language CS 61C: Great Ideas in Computer Architecture IntroducMon to Machine Language Instructors: Krste Asanovic Randy H. Katz h

More information

CS 61C: Great Ideas in Computer Architecture MIPS Instruction Formats

CS 61C: Great Ideas in Computer Architecture MIPS Instruction Formats CS 61C: Great Ideas in Computer Architecture MIPS Instruction Formats Instructors: John Wawrzynek & Vladimir Stojanovic http://inst.eecs.berkeley.edu/~cs61c/fa15 1 Machine Interpretation Levels of Representation/Interpretation

More information

Computer Science 61C Spring Friedland and Weaver. Instruction Encoding

Computer Science 61C Spring Friedland and Weaver. Instruction Encoding Instruction Encoding 1 Instruction Formats I-format: used for instructions with immediates, lw and sw (since offset counts as an immediate), and branches (beq and bne) since branches are "relative" to

More information

Orange Coast College. Business Division. Computer Science Department CS 116- Computer Architecture. The Instructions

Orange Coast College. Business Division. Computer Science Department CS 116- Computer Architecture. The Instructions Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture The Instructions 1 1 Topics: Assembly language, assemblers MIPS R2000 Assembly language Instruction set

More information

Chapter 2. Instructions: Language of the Computer. HW#1: 1.3 all, 1.4 all, 1.6.1, , , , , and Due date: one week.

Chapter 2. Instructions: Language of the Computer. HW#1: 1.3 all, 1.4 all, 1.6.1, , , , , and Due date: one week. Chapter 2 Instructions: Language of the Computer HW#1: 1.3 all, 1.4 all, 1.6.1, 1.14.4, 1.14.5, 1.14.6, 1.15.1, and 1.15.4 Due date: one week. Practice: 1.5 all, 1.6 all, 1.10 all, 1.11 all, 1.14 all,

More information

We will study the MIPS assembly language as an exemplar of the concept.

We will study the MIPS assembly language as an exemplar of the concept. MIPS Assembly Language 1 We will study the MIPS assembly language as an exemplar of the concept. MIPS assembly instructions each consist of a single token specifying the command to be carried out, and

More information

CENG3420 Lecture 03 Review

CENG3420 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 information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 13 MIPS Instruction Representation I New 160 Megapixel camera!! The Seitz 6 x 17 panorama camera sells for $36K, and produces a 21,250 x

More information

CS3350B Computer Architecture MIPS Instruction Representation

CS3350B 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 information

CS3350B Computer Architecture MIPS Introduction

CS3350B Computer Architecture MIPS Introduction CS3350B Computer Architecture MIPS Introduction Marc Moreno Maza http://www.csd.uwo.ca/~moreno/cs3350_moreno/index.html Department of Computer Science University of Western Ontario, Canada Thursday January

More information

COMP MIPS instructions 2 Feb. 8, f = g + h i;

COMP MIPS instructions 2 Feb. 8, f = g + h i; Register names (save, temporary, zero) From what I have said up to now, you will have the impression that you are free to use any of the 32 registers ($0,..., $31) in any instruction. This is not so, however.

More information

Instructions: MIPS arithmetic. MIPS arithmetic. Chapter 3 : MIPS Downloaded from:

Instructions: MIPS arithmetic. MIPS arithmetic. Chapter 3 : MIPS Downloaded from: Instructions: Chapter 3 : MIPS Downloaded from: http://www.cs.umr.edu/~bsiever/cs234/ Language of the Machine More primitive than higher level languages e.g., no sophisticated control flow Very restrictive

More information