SlideShare ist ein Scribd-Unternehmen logo
1 von 92
Chapter 2 Instructions: Language of the Computer
Instruction Set ,[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.1 Introduction
The MIPS Instruction Set ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Arithmetic Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.2 Operations of the Computer Hardware
Arithmetic Example ,[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Register Operands ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.3 Operands of the Computer Hardware
Register Operand Example ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Memory Operands ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Memory Operand Example 1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  offset base register
Memory Operand Example 2 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Registers vs. Memory ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Immediate Operands ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
The Constant Zero ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Unsigned Binary Integers ,[object Object],Chapter 2 — Instructions: Language of the Computer —  ,[object Object],[object Object],[object Object],[object Object],[object Object],§2.4 Signed and Unsigned Numbers
2s-Complement Signed Integers ,[object Object],Chapter 2 — Instructions: Language of the Computer —  ,[object Object],[object Object],[object Object],[object Object],[object Object]
2s-Complement Signed Integers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Signed Negation ,[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  ,[object Object],[object Object],[object Object]
Sign Extension ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Representing Instructions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.5 Representing Instructions in the Computer
MIPS R-format Instructions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  op rs rt rd shamt funct 6 bits 6 bits 5 bits 5 bits 5 bits 5 bits
R-format Example ,[object Object],Chapter 2 — Instructions: Language of the Computer —  special $s1 $s2 $t0 0 add 0 17 18 8 0 32 000000 10001 10010 01000 00000 100000 00000010001100100100000000100000 2  = 02324020 16 op rs rt rd shamt funct 6 bits 6 bits 5 bits 5 bits 5 bits 5 bits
Hexadecimal ,[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  ,[object Object],[object Object],0 0000 4 0100 8 1000 c 1100 1 0001 5 0101 9 1001 d 1101 2 0010 6 0110 a 1010 e 1110 3 0011 7 0111 b 1011 f 1111
MIPS I-format Instructions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  op rs rt constant or address 6 bits 5 bits 5 bits 16 bits
Stored Program Computers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  The BIG Picture
Logical Operations ,[object Object],Chapter 2 — Instructions: Language of the Computer —  ,[object Object],§2.6 Logical Operations Operation C Java MIPS Shift left << << sll Shift right >> >>> srl Bitwise AND & & and, andi Bitwise OR | | or, ori Bitwise NOT ~ ~ nor
Shift Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  op rs rt rd shamt funct 6 bits 6 bits 5 bits 5 bits 5 bits 5 bits
AND Operations ,[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  0000 0000 0000 0000 0000 1101 1100 0000 0000 0000 0000 0000 0011 1100 0000 0000 $t2 $t1 0000 0000 0000 0000 0000 1100 0000 0000 $t0
OR Operations ,[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  0000 0000 0000 0000 0000 1101 1100 0000 0000 0000 0000 0000 0011 1100 0000 0000 $t2 $t1 0000 0000 0000 0000 0011 1101 1100 0000 $t0
NOT Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  0000 0000 0000 0000 0011 1100 0000 0000 $t1 1111 1111 1111 1111 1100 0011 1111 1111 $t0 Register 0: always read as zero
Conditional Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.7 Instructions for Making Decisions
Compiling If Statements ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  Assembler calculates addresses
Compiling Loop Statements ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Basic Blocks ,[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  ,[object Object],[object Object]
More Conditional Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Branch Instruction Design ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Signed vs. Unsigned ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Procedure - функц  Calling ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.8 Supporting Procedures in Computer Hardware
Register Usage ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Procedure Call Instructions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Leaf Procedure Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Leaf Procedure Example ,[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  Save $s0 on stack Procedure body Restore $s0 Result Return
Non-Leaf Procedures ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Non-Leaf Procedure Example ,[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Non-Leaf Procedure Example ,[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Local Data on the Stack ,[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Memory Layout ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Character Data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.9 Communicating with People
Byte/Halfword Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
String Copy Example ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
String Copy Example ,[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
32-bit Constants ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  0000 0000 0111 1101 0000 0000 0000 0000 lhi $s0, 61 0000 0000 0111 1101 0000 1001 0000 0000 ori $s0, $s0, 2304 §2.10 MIPS Addressing for 32-Bit Immediates and Addresses
Branch Addressing ,[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  ,[object Object],[object Object],[object Object],op rs rt constant or address 6 bits 5 bits 5 bits 16 bits
Jump Addressing ,[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  ,[object Object],[object Object],op address 6 bits 26 bits
Target Addressing Example ,[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  Loop: sll  $t1, $s3, 2 80000 0 0 19 9 4 0 add  $t1, $t1, $s6 80004 0 9 22 9 0 32 lw  $t0, 0($t1) 80008 35 9 8 0 bne  $t0, $s5, Exit 80012 5 8 21 2 addi $s3, $s3, 1 80016 8 19 19 1 j  Loop 80020 2 20000 Exit: … 80024
Branching Far Away ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Addressing Mode Summary Chapter 2 — Instructions: Language of the Computer —
Synchronization ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.11 Parallelism and Instructions: Synchronization
Synchronization in MIPS  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Translation and Startup Chapter 2 — Instructions: Language of the Computer —  Many compilers produce object modules directly Static linking §2.12 Translating and Starting a Program
Assembler Pseudoinstructions ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Producing an Object Module ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Linking Object Modules ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Loading a Program ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Dynamic Linking ,[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Lazy Linkage Chapter 2 — Instructions: Language of the Computer —  Indirection table Stub: Loads routine ID, Jump to linker/loader Linker/loader code Dynamically mapped code
Starting Java Applications Chapter 2 — Instructions: Language of the Computer —  Simple portable instruction set for the JVM Interprets bytecodes Compiles bytecodes of “hot” methods into native code for host machine
C Sort Example ,[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.13 A C Sort Example to Put It All Together
The Procedure Swap ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
The Sort Procedure in C ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
The Procedure Body ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  Pass params & call Move params Inner loop Outer loop Inner loop Outer loop
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],The Full Procedure Chapter 2 — Instructions: Language of the Computer —
Effect of Compiler Optimization Chapter 2 — Instructions: Language of the Computer —  Compiled with gcc for Pentium 4 under Linux
Effect of Language and Algorithm Chapter 2 — Instructions: Language of the Computer —
Lessons Learnt ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Arrays vs. Pointers ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.14 Arrays versus Pointers
Example: Clearing and Array Chapter 2 — Instructions: Language of the Computer —  clear1(int array[], int size) { int i; for (i = 0; i < size; i += 1) array[i] = 0; } clear2(int *array, int size) { int *p; for (p = &array[0]; p < &array[size]; p = p + 1) *p = 0; } move $t0,$zero  # i = 0 loop1: sll $t1,$t0,2  # $t1 = i * 4 add $t2,$a0,$t1  # $t2 = #  &array[i] sw $zero, 0($t2) # array[i] = 0 addi $t0,$t0,1  # i = i + 1 slt $t3,$t0,$a1  # $t3 = #  (i < size) bne $t3,$zero,loop1 # if (…)   # goto loop1 move $t0, $a0   # p = & array[0] sll $t1, $a1 ,2  # $t1 =  size  * 4 add $t2,$a0,$t1 # $t2 = #  &array[ size ] loop2:  sw $zero,0( $t0 ) #  Memory[p]  = 0 addi $t0,$t0, 4   #  p = p + 4 slt $t3,$t0, $t2  # $t3 = #( p<&array[size] ) bne $t3,$zero,loop2 # if (…) # goto loop2
Comparison of Array vs. Ptr ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
ARM & MIPS Similarities ,[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.16 Real Stuff: ARM Instructions ARM MIPS Date announced 1985 1985 Instruction size 32 bits 32 bits Address space 32-bit flat 32-bit flat Data alignment Aligned Aligned Data addressing modes 9 3 Registers 15  × 32-bit 31  × 32-bit Input/output Memory mapped Memory mapped
Compare and Branch in ARM ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Instruction Encoding Chapter 2 — Instructions: Language of the Computer —
The Intel x86 ISA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.17 Real Stuff: x86 Instructions
The Intel x86 ISA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
The Intel x86 ISA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Basic x86 Registers Chapter 2 — Instructions: Language of the Computer —
Basic x86 Addressing Modes ,[object Object],Chapter 2 — Instructions: Language of the Computer —  ,[object Object],[object Object],[object Object],[object Object],[object Object],Source/dest operand Second source operand Register Register Register Immediate Register Memory Memory Register Memory Immediate
x86 Instruction Encoding ,[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Implementing IA-32 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Fallacies ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.18 Fallacies and Pitfalls
Fallacies ,[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  x86 instruction set
Pitfalls ,[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —
Concluding Remarks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  §2.19 Concluding Remarks
Concluding Remarks ,[object Object],[object Object],[object Object],Chapter 2 — Instructions: Language of the Computer —  Instruction class MIPS examples SPEC2006 Int SPEC2006 FP Arithmetic add, sub, addi 16% 48% Data transfer lw, sw, lb, lbu, lh, lhu, sb, lui 35% 36% Logical and, or, nor, andi, ori, sll, srl 12% 4% Cond. Branch beq, bne, slt, slti, sltiu 34% 8% Jump j, jr, jal 2% 0%

Weitere ähnliche Inhalte

Was ist angesagt?

Chapter 02 instructions language of the computer
Chapter 02   instructions language of the computerChapter 02   instructions language of the computer
Chapter 02 instructions language of the computerBảo Hoang
 
Instruction Set Architecture: MIPS
Instruction Set Architecture: MIPSInstruction Set Architecture: MIPS
Instruction Set Architecture: MIPSPrasenjit Dey
 
Data transfer and manipulation
Data transfer and manipulationData transfer and manipulation
Data transfer and manipulationrajshreemuthiah
 
Lecture6 memory hierarchy
Lecture6 memory hierarchyLecture6 memory hierarchy
Lecture6 memory hierarchyli12x
 
Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA)Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA)Gaditek
 
Computer architecture addressing modes and formats
Computer architecture addressing modes and formatsComputer architecture addressing modes and formats
Computer architecture addressing modes and formatsMazin Alwaaly
 
Types of Instruction Format
Types of Instruction FormatTypes of Instruction Format
Types of Instruction FormatDhrumil Panchal
 
Fixed point and floating-point numbers
Fixed point and  floating-point numbersFixed point and  floating-point numbers
Fixed point and floating-point numbersMOHAN MOHAN
 
Computer instructions
Computer instructionsComputer instructions
Computer instructionsAnuj Modi
 
Basic MIPS implementation
Basic MIPS implementationBasic MIPS implementation
Basic MIPS implementationkavitha2009
 
Floating point representation
Floating point representationFloating point representation
Floating point representationmissstevenson01
 

Was ist angesagt? (20)

ADDRESSING MODE
ADDRESSING MODEADDRESSING MODE
ADDRESSING MODE
 
Addressing modes
Addressing modesAddressing modes
Addressing modes
 
Chapter 02 instructions language of the computer
Chapter 02   instructions language of the computerChapter 02   instructions language of the computer
Chapter 02 instructions language of the computer
 
Instruction Set Architecture: MIPS
Instruction Set Architecture: MIPSInstruction Set Architecture: MIPS
Instruction Set Architecture: MIPS
 
Data transfer and manipulation
Data transfer and manipulationData transfer and manipulation
Data transfer and manipulation
 
Lecture6 memory hierarchy
Lecture6 memory hierarchyLecture6 memory hierarchy
Lecture6 memory hierarchy
 
Instruction format
Instruction formatInstruction format
Instruction format
 
CISC & RISC Architecture
CISC & RISC Architecture CISC & RISC Architecture
CISC & RISC Architecture
 
Addressing modes
Addressing modesAddressing modes
Addressing modes
 
Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA)Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA)
 
Mips
MipsMips
Mips
 
Computer architecture addressing modes and formats
Computer architecture addressing modes and formatsComputer architecture addressing modes and formats
Computer architecture addressing modes and formats
 
Types of Instruction Format
Types of Instruction FormatTypes of Instruction Format
Types of Instruction Format
 
Fixed point and floating-point numbers
Fixed point and  floating-point numbersFixed point and  floating-point numbers
Fixed point and floating-point numbers
 
Computer instructions
Computer instructionsComputer instructions
Computer instructions
 
Basic MIPS implementation
Basic MIPS implementationBasic MIPS implementation
Basic MIPS implementation
 
Pentium processor
Pentium processorPentium processor
Pentium processor
 
Ch4 2 v1
Ch4 2 v1Ch4 2 v1
Ch4 2 v1
 
Ch4 digital transmission
Ch4 digital transmissionCh4 digital transmission
Ch4 digital transmission
 
Floating point representation
Floating point representationFloating point representation
Floating point representation
 

Ähnlich wie Chapter 2 instructions language of the computer

Ähnlich wie Chapter 2 instructions language of the computer (20)

Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Chapter 2 Part2 A
Chapter 2 Part2 AChapter 2 Part2 A
Chapter 2 Part2 A
 
Mips architecture
Mips architectureMips architecture
Mips architecture
 
Cmps290 classnoteschap02
Cmps290 classnoteschap02Cmps290 classnoteschap02
Cmps290 classnoteschap02
 
Chapter 2 Part1
Chapter 2 Part1Chapter 2 Part1
Chapter 2 Part1
 
C:\Fakepath\Chapter 2 Part2 B
C:\Fakepath\Chapter 2 Part2 BC:\Fakepath\Chapter 2 Part2 B
C:\Fakepath\Chapter 2 Part2 B
 
ISA.pptx
ISA.pptxISA.pptx
ISA.pptx
 
CODch3Slides.ppt
CODch3Slides.pptCODch3Slides.ppt
CODch3Slides.ppt
 
Highlevel assemly
Highlevel assemlyHighlevel assemly
Highlevel assemly
 
Tema2_ArchitectureMIPS.pptx
Tema2_ArchitectureMIPS.pptxTema2_ArchitectureMIPS.pptx
Tema2_ArchitectureMIPS.pptx
 
C programming part2
C programming part2C programming part2
C programming part2
 
C programming part2
C programming part2C programming part2
C programming part2
 
C programming part2
C programming part2C programming part2
C programming part2
 
Assembly.ppt
Assembly.pptAssembly.ppt
Assembly.ppt
 
Chapter 1SyllabusCatalog Description Computer structu
Chapter 1SyllabusCatalog Description Computer structuChapter 1SyllabusCatalog Description Computer structu
Chapter 1SyllabusCatalog Description Computer structu
 
Chapter 2 Part2 C
Chapter 2 Part2 CChapter 2 Part2 C
Chapter 2 Part2 C
 
MIPS_Programming.pdf
MIPS_Programming.pdfMIPS_Programming.pdf
MIPS_Programming.pdf
 
Intro to assembly language
Intro to assembly languageIntro to assembly language
Intro to assembly language
 
Class2
Class2Class2
Class2
 
Lecture 2 coal sping12
Lecture 2 coal sping12Lecture 2 coal sping12
Lecture 2 coal sping12
 

Kürzlich hochgeladen

Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?
Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?
Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?Mikko Kangassalo
 
The 5 sec rule - Mel Robins (Hindi Summary)
The 5 sec rule - Mel Robins (Hindi Summary)The 5 sec rule - Mel Robins (Hindi Summary)
The 5 sec rule - Mel Robins (Hindi Summary)Shakti Savarn
 
ingrediendts needed in preparing dessert and sweet sauces
ingrediendts needed in preparing dessert and sweet saucesingrediendts needed in preparing dessert and sweet sauces
ingrediendts needed in preparing dessert and sweet saucesJessicaEscao
 
Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...
Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...
Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...JeylaisaManabat1
 
English basic for beginners Future tenses .pdf
English basic for beginners Future tenses .pdfEnglish basic for beginners Future tenses .pdf
English basic for beginners Future tenses .pdfbromerom1
 
Benefits of Co working & Shared office space in India
Benefits of Co working & Shared office space in IndiaBenefits of Co working & Shared office space in India
Benefits of Co working & Shared office space in IndiaBrantfordIndia
 
Spiritual Life Quote from Shiva Negi
Spiritual Life Quote from Shiva Negi Spiritual Life Quote from Shiva Negi
Spiritual Life Quote from Shiva Negi OneDay18
 
integrity in personal relationship (1).pdf
integrity in personal relationship (1).pdfintegrity in personal relationship (1).pdf
integrity in personal relationship (1).pdfAmitRout25
 
Call Girls Dubai O525547819 Favor Dubai Call Girls Agency
Call Girls Dubai O525547819 Favor Dubai Call Girls AgencyCall Girls Dubai O525547819 Favor Dubai Call Girls Agency
Call Girls Dubai O525547819 Favor Dubai Call Girls Agencykojalkojal131
 

Kürzlich hochgeladen (9)

Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?
Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?
Virtue ethics & Effective Altruism: What can EA learn from virtue ethics?
 
The 5 sec rule - Mel Robins (Hindi Summary)
The 5 sec rule - Mel Robins (Hindi Summary)The 5 sec rule - Mel Robins (Hindi Summary)
The 5 sec rule - Mel Robins (Hindi Summary)
 
ingrediendts needed in preparing dessert and sweet sauces
ingrediendts needed in preparing dessert and sweet saucesingrediendts needed in preparing dessert and sweet sauces
ingrediendts needed in preparing dessert and sweet sauces
 
Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...
Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...
Module-2-Lesson-2-COMMUNICATION-AIDS-AND-STRATEGIES-USING-TOOLS-OF-TECHNOLOGY...
 
English basic for beginners Future tenses .pdf
English basic for beginners Future tenses .pdfEnglish basic for beginners Future tenses .pdf
English basic for beginners Future tenses .pdf
 
Benefits of Co working & Shared office space in India
Benefits of Co working & Shared office space in IndiaBenefits of Co working & Shared office space in India
Benefits of Co working & Shared office space in India
 
Spiritual Life Quote from Shiva Negi
Spiritual Life Quote from Shiva Negi Spiritual Life Quote from Shiva Negi
Spiritual Life Quote from Shiva Negi
 
integrity in personal relationship (1).pdf
integrity in personal relationship (1).pdfintegrity in personal relationship (1).pdf
integrity in personal relationship (1).pdf
 
Call Girls Dubai O525547819 Favor Dubai Call Girls Agency
Call Girls Dubai O525547819 Favor Dubai Call Girls AgencyCall Girls Dubai O525547819 Favor Dubai Call Girls Agency
Call Girls Dubai O525547819 Favor Dubai Call Girls Agency
 

Chapter 2 instructions language of the computer

  • 1. Chapter 2 Instructions: Language of the Computer
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56. Addressing Mode Summary Chapter 2 — Instructions: Language of the Computer —
  • 57.
  • 58.
  • 59. Translation and Startup Chapter 2 — Instructions: Language of the Computer — Many compilers produce object modules directly Static linking §2.12 Translating and Starting a Program
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65. Lazy Linkage Chapter 2 — Instructions: Language of the Computer — Indirection table Stub: Loads routine ID, Jump to linker/loader Linker/loader code Dynamically mapped code
  • 66. Starting Java Applications Chapter 2 — Instructions: Language of the Computer — Simple portable instruction set for the JVM Interprets bytecodes Compiles bytecodes of “hot” methods into native code for host machine
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72. Effect of Compiler Optimization Chapter 2 — Instructions: Language of the Computer — Compiled with gcc for Pentium 4 under Linux
  • 73. Effect of Language and Algorithm Chapter 2 — Instructions: Language of the Computer —
  • 74.
  • 75.
  • 76. Example: Clearing and Array Chapter 2 — Instructions: Language of the Computer — clear1(int array[], int size) { int i; for (i = 0; i < size; i += 1) array[i] = 0; } clear2(int *array, int size) { int *p; for (p = &array[0]; p < &array[size]; p = p + 1) *p = 0; } move $t0,$zero # i = 0 loop1: sll $t1,$t0,2 # $t1 = i * 4 add $t2,$a0,$t1 # $t2 = # &array[i] sw $zero, 0($t2) # array[i] = 0 addi $t0,$t0,1 # i = i + 1 slt $t3,$t0,$a1 # $t3 = # (i < size) bne $t3,$zero,loop1 # if (…) # goto loop1 move $t0, $a0 # p = & array[0] sll $t1, $a1 ,2 # $t1 = size * 4 add $t2,$a0,$t1 # $t2 = # &array[ size ] loop2: sw $zero,0( $t0 ) # Memory[p] = 0 addi $t0,$t0, 4 # p = p + 4 slt $t3,$t0, $t2 # $t3 = #( p<&array[size] ) bne $t3,$zero,loop2 # if (…) # goto loop2
  • 77.
  • 78.
  • 79.
  • 80. Instruction Encoding Chapter 2 — Instructions: Language of the Computer —
  • 81.
  • 82.
  • 83.
  • 84. Basic x86 Registers Chapter 2 — Instructions: Language of the Computer —
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.

Hinweis der Redaktion

  1. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  2. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  3. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  4. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  5. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  6. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  7. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  8. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  9. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  10. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  11. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  12. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  13. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  14. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  15. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  16. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  17. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  18. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  19. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  20. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  21. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  22. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  23. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  24. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  25. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  26. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  27. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  28. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  29. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  30. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  31. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  32. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  33. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  34. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  35. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  36. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  37. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  38. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  39. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  40. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  41. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  42. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  43. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  44. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  45. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  46. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  47. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  48. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  49. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  50. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  51. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  52. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  53. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  54. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  55. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  56. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  57. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  58. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  59. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  60. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  61. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  62. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  63. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  64. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  65. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  66. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  67. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  68. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  69. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  70. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  71. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  72. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  73. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  74. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  75. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  76. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  77. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  78. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  79. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  80. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  81. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  82. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  83. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  84. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  85. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  86. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  87. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  88. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  89. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  90. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  91. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer
  92. The University of Adelaide, School of Computer Science December 14, 2011 Chapter 2 — Instructions: Language of the Computer