Instruction Set Architectures Continued. Expanding Opcodes & Instructions.

Slides:



Advertisements
Similar presentations
More Intel machine language and one more look at other architectures.
Advertisements

Instruction Set Design
Goal: Write Programs in Assembly
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
INSTRUCTION SET ARCHITECTURES
1 ECE462/562 ISA and Datapath Review Ali Akoglu. 2 Instruction Set Architecture A very important abstraction –interface between hardware and low-level.
ELEN 468 Advanced Logic Design
ITCS 3181 Logic and Computer Systems 2015 B. Wilkinson slides3.ppt Modification date: March 16, Addressing Modes The methods used in machine instructions.
1 Today’s lecture  Last lecture we started talking about control flow in MIPS (branches)  Finish up control-flow (branches) in MIPS —if/then —loops —case/switch.
Chapter 11 Instruction Sets
1 Registers and MAL - Part I. Motivation So far there are some details that we have ignored instructions can have different formats most computers have.
Datapath and Control Andreas Klappenecker CPSC321 Computer Architecture.
Overview von Neumann Model Components of a Computer Some Computer Organization Models The Computer Bus An Example Organization: The LC-3.
Part II: Addressing Modes
Module 10 Adapted By and Prepared James Tan © 2001.
Computer Architecture and the Fetch-Execute Cycle
Memory and Addressing How and Where Information is Stored.
Instruction Set Architecture Basics. Our Progress Done with levels 0 and 1 Seen multiple examples of level 2 Ready for ISA general principles.
Lecture 15: 10/24/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
Computer Systems – Machine & Assembly code. Objectives Machine Code Assembly Language Op-code Operand Instruction Set.
Computer Organization Instructions Language of The Computer (MIPS) 2.
F453 Module 8: Low Level Languages 8.1: Use of Computer Architecture.
1 Contents: 3.1 Instruction format and Addressing Modes 3.2 Instruction Introduction Chapter 3 Instruction system.
EEL 4709C Prof. Watson Herman Group 4 Ali Alshamma, Derek Montgomery, David Ortiz 11/11/2008.
Displacement (Indexed) Stack
William Stallings Computer Organization and Architecture 6th Edition
Immediate Addressing Mode
A Closer Look at Instruction Set Architectures
Chapter 4 The Von Neumann Model
MIPS Coding Continued.
Lecture 4: MIPS Instruction Set
ELEN 468 Advanced Logic Design
COMP2121: Microprocessors and Interfacing
Alvaro Mauricio Peña Dariusz Niworowski Frank Rodriguez
A Closer Look at Instruction Set Architectures
Sega Dreamcast Visual Memory Unit FPGA Implementation
A Closer Look at Instruction Set Architectures: Expanding Opcodes
William Stallings Computer Organization and Architecture 8th Edition
Chapter 3 Addressing Modes
Computer Science 210 Computer Organization
Computer Science 210 Computer Organization
Lecture 4: MIPS Instruction Set
Systems Architecture I (CS ) Lecture 5: MIPS Instruction Set*
Introduction to Computer Engineering
ECEG-3202 Computer Architecture and Organization
Computer Architecture and the Fetch-Execute Cycle
Instruction Set Architectures Continued
Under Address Modes Source: under
Computer Architecture
Classification of instructions
Evolution of ISA’s ISA’s have changed over computer “generations”.
Under Address Modes Source: under
Instruction Set Principles
COMS 361 Computer Organization
Evolution of ISA’s ISA’s have changed over computer “generations”.
Evolution of ISA’s ISA’s have changed over computer “generations”.
Lecture 4: Instruction Set Design/Pipelining
Systems Architecture I (CS ) Lecture 5: MIPS Instruction Set*
William Stallings Computer Organization and Architecture 8 th Edition Chapter 11 Instruction Sets: Addressing Modes and Formats.
Evolution of ISA’s ISA’s have changed over computer “generations”.
Introduction to Computer Engineering
Presentation transcript:

Instruction Set Architectures Continued

Expanding Opcodes & Instructions

Expanding vs Fixed Opcodes Fixed Size Opcode: – Every type of instruction uses same opcode size – MIPS instruction format:

Fixed Opcodes Expanding Opcode: – Different instructions = different length opcodes

Expanding Opcodes Expanding Opcode : – Special opcode means : keep reading xxx = any pattern but all 1's X X X X X X X X X X X X

Expanding Opcode Expanding Opcode : – More efficient use of space – Intel : 0F = keep reading :

Expanding Opcodes ARM Expanding / Split OpCode

Expanding Instructions Every instruction does not have to be the same size:

Expanding Instructions Might decode based on instruction

Expanding Instructions Might decode based on instruction – Java bytecode – bipush #immediate : +0 bipush +1 immediate +2 next instruction

Expanding Instructions Might decode based on instruction – 3 possibilities:

Expanding Instructions Intel – 32 bit code : 1-6 bytes – 64 bit code : up to 15 bytes:

Addressing Modes

Addressing Addressing : the ways we are allowed to refer to values and locations

Addressing Immediate Addressing: Value hard coded in instruction Immediate

Addressing Modes Direct Addressing : – Instruction contains the memory address to use

Addressing Register Indirect Addressing: A register contains the address of data

Addressing Modes Register Indirect Addressing : – Pointers:

Addressing Register Indirect With Offset Addressing: Start with address in register, add immediate offset

Addressing Register Indirect With Index (Variable Offset): Start with address in register, add offset amount from another register R2

Addressing PC Relative Addressing: Literal value is added to current PC value Immediate

Addressing Memory Indirect Addressing: Register holds address of memory where address is R

Addressing Memory Indirect Addressing: Register holds address of memory where address is R

Memory Indirect Uses Easy to jump to nth record of regularly sized structure:

Memory Indirect Addressing Irregular structure needs lookup table to store start addresses of each item: Array of Pointers

Memory Indirect Addressing Memory indirect allows access to list[2] in one instruction:

Other Uses Jump tables used for – Efficient switch statements enum operation {LOAD, STORE, ADD}; Switch (operation) { case LOAD: LOAD code; break: case STORE: STORE code; break: case ADD : ADD code; break: }

Other Uses Jump tables used for – Efficient switch statements – OOP Function Lookup

Special Tricks

ARM Addressing Tricks ARM Provides 3 Varients of offset addresses – Temporarily add offset – Add offset and store changed address – Add change after using current value

Atomic Read/Write Multiprocessor systems have to allow for atomic series of actions Special instructions check/set a memory value in one step

Loop Instructions Loops get run a lot Combine – Increment, compare and branch into one instruction

ARM Thumb Mode Thumb Mode – 16 bit instructions