Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.

Slides:



Advertisements
Similar presentations
Instruction Set Design
Advertisements

Review of the MIPS Instruction Set Architecture. RISC Instruction Set Basics All operations on data apply to data in registers and typically change the.
Chapter 3 Instruction Set Architecture Advanced Computer Architecture COE 501.
CEG3420 Lec2.1 ©UCB Fall 1997 ISA Review CEG3420 Computer Design Lecture 2.
1 Instruction Set Principles and Examples 游象甫. 2 Outline Introduction Classifying instruction set architectures Memory addressing Type and size of operands.
ISA Issues; Performance Considerations. Testing / System Verilog: ECE385.
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
Lecture 3: Instruction Set Principles Kai Bu
EECC551 - Shaaban #1 Lec # 2 Fall Instruction Set Architecture (ISA) “... the attributes of a [computing] system as seen by the programmer,
INSTRUCTION SET ARCHITECTURES
Instruction Set Architecture Classification According to the type of internal storage in a processor the basic types are Stack Accumulator General Purpose.
Computer Organization and Architecture
Computer Organization and Architecture
COMP381 by M. Hamdi 1 Instruction Set Architectures.
Execution of an instruction
CIS429/529 ISA - 1 Instruction Set Architectures Classification Addressing Modes Types of Instructions Encoding Instructions MIPS64 Instruction Set.
Memory - Registers Instruction Sets
ARM programmer’s model and assembler Embedded Systems Programming.
What is an instruction set?
Pentium Addressing Modes
Part II: Addressing Modes
Operand Addressing and Instruction Representation
L/O/G/O The Instruction Set Chapter 9 CS.216 Computer Architecture and Organization.
1 Copyright © 2011, Elsevier Inc. All rights Reserved. Appendix A Authors: John Hennessy & David Patterson.
1 Appendix B Classifying Instruction Set Architecture Memory addressing mode Operations in the instruction set Control flow instructions Instruction format.
Classifying GPR Machines TypeNumber of Operands Memory Operands Examples Register- Register 30 SPARC, MIPS, etc. Register- Memory 21 Intel 80x86, Motorola.
Execution of an instruction
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
Computer Architecture and Organization
Computer Organization and Architecture Instructions: Language of the Machine Hennessy Patterson 2/E chapter 3. Notes are available with photocopier 24.
Computer Architecture EKT 422
Computer Organization
Operand Addressing And Instruction Representation Cs355-Chapter 6.
Computer Architecture Lecture 03 Fasih ur Rehman.
Lecture 04: Instruction Set Principles Kai Bu
In1210/01-PDS 1 TU-Delft Instructions and addressing.
CS 211: Computer Architecture Lecture 2 Instructor: Morris Lancaster.
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
Instruction Sets: Addressing modes and Formats Group #4  Eloy Reyes  Rafael Arevalo  Julio Hernandez  Humood Aljassar Computer Design EEL 4709c Prof:
Addressing Modes and Formats
Chapter 2 — Instructions: Language of the Computer — 1 Memory Operands Main memory used for composite data – Arrays, structures, dynamic data To apply.
What is a program? A sequence of steps
Group # 3 Jorge Chavez Henry Diaz Janty Ghazi German Montenegro.
Computer Organization Instructions Language of The Computer (MIPS) 2.
Instruction Sets: Characteristics and Functions  Software and Hardware interface Machine Instruction Characteristics Types of Operands Types of Operations.
Computer Architecture. Instruction Set “The collection of different instructions that the processor can execute it”. Usually represented by assembly codes,
A Closer Look at Instruction Set Architectures
Alvaro Mauricio Peña Dariusz Niworowski Frank Rodriguez
Processor Organization and Architecture
Lecture 04: Instruction Set Principles
Appendix A Classifying Instruction Set Architecture
CS170 Computer Organization and Architecture I
Processor Organization and Architecture
ECEG-3202 Computer Architecture and Organization
Chapter 2. Instruction Set Principles and Examples
Computer Architecture
ECEG-3202 Computer Architecture and Organization
Evolution of ISA’s ISA’s have changed over computer “generations”.
COMS 361 Computer Organization
Evolution of ISA’s ISA’s have changed over computer “generations”.
CPU Structure CPU must:
INSTRUCTION SET DESIGN
Chapter 10 Instruction Sets: Characteristics and Functions
Presentation transcript:

Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding Compilation Issues

Internal Storage Model Memory- Memory ( Add C, A, B )

Internal Storage Model Most post 1980 architectures use a load store architecture Main reasons registers faster than memory Compilers can utilise registers more effectively than other models Variables can be held in registers Instruction set can use 2 or 3 operand format

Memory Addressing How memory addresses interpreted memory addresses are specified Interpretation Size (byte, half word, word) Ordering (Big Endian, Little Endian) Alignment (Word)

Memory Addressing (Addressing modes) How an address is specified Modes included on machines: Register (e.g. Add R4, R3 ) Immediate (e.g. Add R4, #3 ) Displacement (e.g. Add R4, 100(R1) ) Absolute ( Add R4, (1000) ) Memory Indirect ( Add ) Autoincrement ( Add R4, (R1)+ ) Autodecrement ( Add R4, -(R1) )

Memory Addressing Use of addressing Modes: register accounts for 50% (not counted below) 1%

Displacement What is the range of displacements used

Immmediate

Immediate

Operations in the Instruction Set Can be classified into the following types Arithmetic and logical Data transfer Control System

Top 10 instructions on 8086 Averaged over 5 SPECin92 programs

Instructions for Control Flow Four types Conditional Branches Jumps Procedure Calls Procedure returns Destination address must always be supplied. Can be: specified explicitly indirect jumps (procedure return)

Branch Distance

PC relative Branching Target often close to the branch instruction Destination is obtained by adding a displacement to the PC Requires fewer bits to encode instruction helps make code position independent

Specifying Branch Condition Most branches are equality|inequality tests or comparisons with zero

Type and Size of Operands Two main alternatives operand types specified in opcode (e.g. add, addb, addf) data annotated with tags (very rare)

Encoding the Instruction Set Representation affects size of compiled program implementation of CPU Architect must balance the desire to have as many registers and addressing modes as possible the impact of the size of register and addressing mode fields

VIARABLE (e.g. VAX, 68000) Better code density FIXED (e.g. MIPS and PowerPC) Simpler hardware Variations in Instruction decoding OpcodeResultOperand 1Operand 2 OpcodeAdd spec 1Add field 1Add spec nAdd field n...

Example 1: A Registerless processor L1 Cache and registers about same speed no need for registers An fixed length instruction set with 3 operand format is proposed Simulations show that the number of instructions execution is about half of a load store architecture