42
4-1 Chapter 4 - The Instruction Set Architecture Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring Computer Architecture and Organization Miles Murdocca and Vincent Heuring Chapter 4 – The Instruction Set Architecture

4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

Embed Size (px)

Citation preview

Page 1: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-1 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Computer Architecture andOrganization

Miles Murdocca and Vincent Heuring

Chapter 4 – TheInstruction SetArchitecture

Page 2: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-2 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Chapter Contents4.1 Hardware Components of the Instruction Set Architecture4.2 ARC, A RISC Computer4.3 Pseudo-Operations4.4 Synthetic Instructions4.5 Examples of Assembly Language Programs4.6 Accessing Data in Memory—Addressing Modes4.7 Subroutine Linkage and Stacks4.8 Input and Output in Assembly Language4.9 Case Study: The Java Virtual Machine ISA

Page 3: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-3 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

The Instruction Set Architecture• The Instruction Set Architecture (ISA) view of a machine

corresponds to the machine and assembly language levels.

• A compiler translates a high level language, which is architectureindependent, into assembly language, which is architecturedependent.

• An assembler translates assembly language programs intoexecutable binary codes.

• For fully compiled languages like C and Fortran, the binary codesare executed directly by the target machine. Java stops thetranslation at the byte code level. The Java virtual machine, whichis at the assembly language level, interprets the byte codes(hardware implementations of the JVM also exist, in which Javabyte codes are executed directly.)

Page 4: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-4 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

The System Bus Model of a ComputerSystem, Revisited

• A compiled program is copied from a hard disk to the memory. TheCPU reads instructions and data from the memory, executes theinstructions, and stores the results back into the memory.

Page 5: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-5 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Common Data Type Sizes• A byte is composed of 8 bits. Two nibbles make up a byte.

• Halfwords, words, doublewords, and quadwords are composed of bytesas shown below:

Page 6: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-6 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Big-Endian and Little-Endian Formats• In a byte-addressable machine, the smallest datum that can be

referenced in memory is the byte. Multi-byte words are stored as asequence of bytes, in which the address of the multi-byte word is thesame as the byte of the word that has the lowest address.

• When multi-byte words are used, two choices for the order in whichthe bytes are stored in memory are: most significant byte at lowestaddress, referred to as big-endian, or least significant byte stored atlowest address, referred to as little-endian.

Page 7: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-7 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Memory Map for the ARC• Memory

locations arearranged linearlyin consecutiveorder. Eachnumberedlocationcorresponds toan ARC word.The uniquenumber thatidentifies eachword is referredto as itsaddress.

Page 8: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-8 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Example of ARC Memory Layout• The table illustrates both the distinction between an address and the

data that is stored there, and the fact that ARC/SPARC is a big-endianmachine. The table shows four bytes stored at consecutive addresses00001000 to 00001003.

• Thus the byte address 0x00001003 contains the byte 0xDD. Since thisis a big-endian machine (the big end is stored at the lowest address)the word stored at address 0x00001000 is 0xAABBCCDD.

Page 9: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-9 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Abstract View of a CPU• The CPU consists of a data section containing registers and an ALU,

and a control section, which interprets instructions and effects registertransfers. The data section is also known as the datapath.

Page 10: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-10 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

The Fetch-Execute Cycle• The steps that the control unit carries out in executing a program are:

(1) Fetch the next instruction to be executed from memory.(2) Decode the opcode.(3) Read operand(s) from main memory, if any.(4) Execute the instruction and store results, if any.(5) Go to step 1.

This is known as the fetch-execute cycle.

Page 11: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-11 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

An Example Datapath

• The ARC datapath is made up of a collection of registers known as theregister file and the arithmetic and logic unit (ALU).

Page 12: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-12 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

ARC User-Visible Registers

Page 13: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-13 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

ARC Assembly Language Format• The ARC assembly language format is the same as the SPARC

assembly language format.

• This example shows the assembly language format for ARC (andSPARC) arithmetic and logic instructions.

Page 14: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-14 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

ARC Load / Store Format• This example shows the assembly language format for ARC load and

store instructions.

Page 15: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-15 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Simple Example: Add Two Numbers• The figure shows a simple program fragment using our ld, st, andadd instructions. This fragment is equivalent to the C statement:

z = x + y;

• Since ARC is a load-store machine, the code must first fetch the x andy operands from memory using ld instructions, and then perform theaddition, and then store the result back into z using an st instruction.

Page 16: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-16 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

ARC Transfer of Control Sequence• This example shows the assembly language format for ARC branch

instructions.

Page 17: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-17 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

ARC Fragment that Computes theAbsolute Value

• As an example of using the ARC instruction types we have seen sofar, consider the absolute value function, abs:

abs(x) := if (x < 0) then x = -x;

An ARC fragment to implement this is shown below:

Page 18: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-18 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

A Portion of the ARC ISA• The ARC ISA is a subset of the SPARC ISA. A portion of the ARC ISA

is shown here.

Page 19: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-19 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

ARC Instruction and PSR Formats

Page 20: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-20 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

ARC DataFormats

Page 21: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-21 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

ARC Pseudo-Ops

• Pseudo-ops are instructions to the assembler. They are not part of theISA, but instruct the assembler to do an operation at assembly time.

Page 22: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-22 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Synthetic Instructions• Many assemblers will accept synthetic instructions that are converted to

actual machine-language instructions during assembly. The figurebelow shows some commonly used synthetic instructions.

• Synthetic instructions are single instructions that replace singleinstructions, which are different from macros which are discussed later.

Page 23: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-23 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

ARC Example Program• An ARC assembly language program adds two integers:

Page 24: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-24 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

A MoreComplexExampleProgram

• An ARC programsums five integers.

Page 25: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-25 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

One, Two, Three-Address Machines• Consider how the C expression A = B*C + D might be evaluated by

each of the one, two, and three-address instruction types.

• Assumptions: Addresses and data words are two bytes in size. Opcodesare 1 byte in size. Operands are moved to and from memory one word(two bytes) at a time.

• Three-Address Instructions: In a three-address instruction, theexpression A = B*C + D might be coded as:

mult B, C, A

add D, A, A

which means multiply B by C and store the result at A. (The mult andadd operations are generic; they are not ARC instructions.) Then, add Dto A and store the result at address A. The program size is 7×2 = 14bytes. Memory traffic is 14 + 2×(2×3) = 26 bytes.

Page 26: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-26 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

One, Two, Three-Address Machines• Two Address Instructions: In a two-address instruction, one of the

operands is overwritten by the result. Here, the code for the expressionA = B*C + D is:

load B, A

mult C, A

add D, A

The program size is now 3×(1+2×2) or 15 bytes. Memory traffic is 15 + 2×2 + 2×2×3 or 31 bytes.

Page 27: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-27 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

One, Two, Three-Address Machines• One Address (Accumulator) Instructions: A one-address instruction

employs a single arithmetic register in the CPU, known as theaccumulator. The code for the expression A = B*C + D is now:

load B

mult C

add D

store A

The load instruction loads B into the accumulator, mult multiplies C bythe accumulator and stores the result in the accumulator, and add doesthe corresponding addition. The store instruction stores theaccumulator in A. The program size is now 3×4 or 12 bytes, andmemory traffic is 12 + 4×2 or 20 bytes.

Page 28: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-28 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Addressing Modes

• Four ways of computing the address of a value in memory: (1) a constantvalue known at assembly time, (2) the contents of a register, (3) the sumof two registers, (4) the sum of a register and a constant. The tablegives names to these and other addressing modes.

Page 29: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-29 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Subroutine Linkage – Registers• Subroutine linkage with registers passes parameters in registers.

Page 30: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-30 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Subroutine Linkage – Data Link Area• Subroutine linkage with a data link area passes parameters in a

separate area in memory. The address of the memory area ispassed in a register (%r5 here).

Page 31: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-31 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Subroutine Linkage – Stack• Subroutine linkage with a stack passes parameters on a stack.

Page 32: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-32 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

StackLinkageExample

• A C programillustrates nestedfunction calls.

Page 33: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-33 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

StackLinkageExample(cont’)

• (a-f) Stackbehavior duringexecution of theprogram shown inprevious slide.

Page 34: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-34 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

StackLinkageExample(cont’)

• (g-k) Stack behaviorduring execution ofthe C programshown previously.

Page 35: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-35 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Input andOutput for

the ISA

• Memory map forthe ARC, showingmemory mappedI/O.

Page 36: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-36 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Touchscreen I/O Device

• A user selecting an object on a touchscreen:

Page 37: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-37 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Flowchart for I/ODevice

• Flowchart illustrating the controlstructure of a program that tracksa touchscreen.

Page 38: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-38 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Java Virtual Machine Architecture

Page 39: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-39 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

JavaPro-gramand

Com-piledClassFile

Page 40: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-40 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

A Java Class File

Page 41: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-41 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

A Java Class File (Cont’)

Page 42: 4-1 Chapter 4- The Instruction Set Architecture Computer ...iiusatech.com/murdocca/CAO/SlidesPDF/Ch04CAO.pdf · 4-2 Chapter 4- The Instruction Set Architecture Computer Architecture

4-42 Chapter 4 - The Instruction Set Architecture

Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V. Heuring

Byte Code for Java Program• Disassembled byte code for previous Java program.Location Code Mnemonic Meaning0x00e3 0x10 bipush Push next byte onto stack0x00e4 0x0f 15 Argument to bipush0x00e5 0x3c istore_1 Pop stack to local variable 10x00e6 0x10 bipush Push next byte onto stack0x00e7 0x09 9 Argument to bipush0x00e8 0x3d istore_2 Pop stack to local variable 20x00e9 0x03 iconst_0 Push 0 onto stack0x00ea 0x3e istore_3 Pop stack to local variable 30x00eb 0x1b iload_1 Push local variable 1 onto stack0x00ec 0x1c iload_2 Push local variable 2 onto stack0x00ed 0x60 iadd Add top two stack elements0x00ee 0x3e istore_3 Pop stack to local variable 30x00ef 0xb1 return Return