Lecture 6: Instruction Set Architecture Computer Engineering 585 Fall 2001.

Slides:



Advertisements
Similar presentations
Review of the MIPS Instruction Set Architecture. RISC Instruction Set Basics All operations on data apply to data in registers and typically change the.
Advertisements

CEG3420 Lec2.1 ©UCB Fall 1997 ISA Review CEG3420 Computer Design Lecture 2.
CPE 631: Instruction Set Principles and Examples Electrical and Computer Engineering University of Alabama in Huntsville Aleksandar Milenkovic,
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
EECC551 - Shaaban #1 Lec # 2 Fall Instruction Set Architecture (ISA) “... the attributes of a [computing] system as seen by the programmer,
INSTRUCTION SET ARCHITECTURES
ELEN 468 Advanced Logic Design
Fall EE 333 Lillevik 333f06-l4 University of Portland School of Engineering Computer Organization Lecture 4 Assembly language programming ALU and.
Instruction Set Architecture Classification According to the type of internal storage in a processor the basic types are Stack Accumulator General Purpose.
ITCS 3181 Logic and Computer Systems 2015 B. Wilkinson slides3.ppt Modification date: March 16, Addressing Modes The methods used in machine instructions.
1 CENG 450 Computer Systems and Architecture Lecture 4 Amirali Baniasadi
Informationsteknologi Saturday, September 29, 2007 Computer Architecture I - Class 41 Today’s class More assembly language programming.
CIS429.S00: Lec6- 1 Addressing Modes There are a variety of ways a machine instruction can specify an address in memory. Effective address - the actual.
COMP381 by M. Hamdi 1 Instruction Set Architectures.
Execution of an instruction
MIPS Architecture CPSC 321 Computer Architecture Andreas Klappenecker.
Computer Architecture Lecture 5 Design Decisions for a 64-bit RISC Architecture Source of almost all Slide: Text Book.
CIS429/529 ISA - 1 Instruction Set Architectures Classification Addressing Modes Types of Instructions Encoding Instructions MIPS64 Instruction Set.
Classifying Instruction Set Architectures
Recap.
CIS429.S00: Lec7- 1 Instruction Set Architectures (cont) History Addressing Modes --> Types of Instructions --> Encoding Instructions --> DLX Instruction.
Choice for the rest of the semester New Plan –assembler and machine language –Operating systems Process scheduling Memory management File system Optimization.
Classifying Instruction Set Architectures
Chapter 11 Instruction Sets: Addressing Modes and Formats HW: 11.4, 5, 13, 16 (Due 11/15)
1 Lecture 3: Instruction Sets Section 1.3, Sections Technology trends Design issues in defining an instruction set  Register and memory access.
Lecture 18 Last Lecture Today’s Topic Instruction formats
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Caltech CS184b Winter DeHon 1 CS184b: Computer Architecture [Single Threaded Architecture: abstractions, quantification, and optimizations] Day3:
1 Copyright © 2011, Elsevier Inc. All rights Reserved. Appendix A Authors: John Hennessy & David Patterson.
CET 520/ Gannod1 The MIPS Architecture Section 2.12.
1 Appendix B Classifying Instruction Set Architecture Memory addressing mode Operations in the instruction set Control flow instructions Instruction format.
1 © 2004 Hill, from Falsafi, Hill, Hoe, Lipasti, Shen, Smith, Sohi, Vijaykumar, & Wood  Chapter 2: Instruction Sets CS/ECE/752 Vax & Emer/Clark Instructor:
Classifying GPR Machines TypeNumber of Operands Memory Operands Examples Register- Register 30 SPARC, MIPS, etc. Register- Memory 21 Intel 80x86, Motorola.
Lecture 4: MIPS Subroutines and x86 Architecture Professor Mike Schulte Computer Architecture ECE 201.
1 Appendix A: Instruction Set Principles and Examples Classifying Instruction Set Architecture Memory addressing mode Operations in the instruction set.
Memory/Storage Architecture Lab Computer Architecture MIPS Instruction Set Architecture.
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 Organization
Computer Architecture Lecture 03 Fasih ur Rehman.
Csci 136 Computer Architecture II – Summary of MIPS ISA Xiuzhen Cheng
Lecture 04: Instruction Set Principles Kai Bu
©UCB Fall CS/EE 362 Hardware Fundamentals Lecture 11 (Chapter 3: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
Computer Architecture CSE 3322 Lecture 3 Assignment: 2.4.1, 2.4.4, 2.6.1, , Due 2/3/09 Read 2.8.
CS 211: Computer Architecture Lecture 2 Instructor: Morris Lancaster.
Computer Organization and Design Addressing Modes Montek Singh Sep 30, 2015 Lecture 7.
Computer Organization Rabie A. Ramadan Lecture 3.
Our programmer needs to do this !
MIPS Architecture Topics –What resources MIPS assembly manipulates –CPU (Central Processing Unit) –ALU (Arithmetic & Logical Unit), Registers –Memory –I/O.
Computer Organization Instructions Language of The Computer (MIPS) 2.
Lecture 12: 10/3/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
SRC: instruction formats Op-coderarb rc c Type D Op-code Type Aunused Op-codera Type Bc1 21 Op-coderarb.
CS203 – Advanced Computer Architecture Instruction Set Architectures.
Instructor: Prof. Hany H Ammar, LCSEE, WVU
CS 230: Computer Organization and Assembly Language
CS203 – Advanced Computer Architecture
ELEN 468 Advanced Logic Design
Prof. Sirer CS 316 Cornell University
A Closer Look at Instruction Set Architectures: Expanding Opcodes
Appendix A Classifying Instruction Set Architecture
These are slides from Comp411
The University of Adelaide, School of Computer Science
Chapter 2. Instruction Set Principles and Examples
Evolution of ISA’s ISA’s have changed over computer “generations”.
Prof. Sirer CS 316 Cornell University
Instruction Set Principles
Evolution of ISA’s ISA’s have changed over computer “generations”.
CS501 Advanced Computer Architecture
Presentation transcript:

Lecture 6: Instruction Set Architecture Computer Engineering 585 Fall 2001

Costs of misalignment Word at addr: a2= Memory Multiplexor 3 addr bits: a3, a2, a1 a3=0 a3=1 a2=0

memory port Internal bus/reg file Data Alignment Network

Addressing Modes Addr mode Example inst Meaning RegisterAdd R4,R3 R[R4]  R  R  R[R3] Immediate Add R4,#3 R[R4 ]  R[R4]+3 constants. DisplacementAdd R4,100(R1) R[R4]  R  R  R[R1]]  local var. Reg deferred Add R4,(R1) pointer IndexedAdd R3,(R1 + R2) Direct Add R1,(1001) static data Mem indirectAdd *p. Autoincrement Add R1,(R2)+. Auto- decrement Add R1,-(R2) Scaled Add R1,100(R2)[R3] index arrays R[R4]  R  R  R[R1]] R[R3]  R  R  R[R1]+R[R2]] R[R1]  R  R  1001] R[R1]  R  R  R  R3]]] R[R1]  R  R  R[R2]] R[R2]  R  R  d Array access R[R2]  R  R  d R[R1]  R  R  R[R2]] R[R1]  R  R   R[R2]+ R[R3]  d]

Addressing Modes Design Issues an appropriate choice leads to compact code.e.g. where a small constant is needed, keep it in a memory location and then load it into a register vs the use of immediate addr mode. should choose the sizes of various addr mode fields judiciously. e.g. a 32-bit immediate loses all its advantages! program-mix should be used to dictate these decisions:  addr modes: which addr modes should be supported?  displacement size: how large a displacement should be allowed?  immediate size: how large an immediate value should be allowed? Some are architecture independent (immediate size distribution) while some are architecture/compiler dependent (use of different addressing modes).

Addressing Modes Usage Register mode: 50%, Displacement: 8, 16, 32-bits, on a VAX

Displacement Distribution MIPS, avg of SPEC92, majority of 14+ bits –ve, 1% above 15 bits

Immediates vs Inst. class DLX: constant shifts-ALU, compare-0 included

Immediates Distribution Vax: 6% < -ve; 50-70% -- 8bits; 75-80% -- 16bits

Addressing Modes Summary 50% Register; 22% Displacement; 17% Immediate; 6.3% Register indirect; 3.6% scaled. Displacement: 12-bits capture 75%; 16- bits capture 99% of displacements. Immediates: 8-bits capture 50%; 16- bits capture 80% of immediate values.

Instruction Set Operations Operator typeExamples Arithmetic and logical Int arith & logical operations: add, and, subtract, or Data transfer Loads-stores (move instructions) Control Branch, jump, procedure call and return, traps System Operating system call, virtual memory management instructions Floating point Floating-point operations: add, multiply Decimal Decimal add, decimal multiply, decimal-to-character conversions StringString move, string compare, string search GraphicsPixel operations, compression/decompression operations

Instruction Set Operations Which operations should be supported? How should the operations of a given class be encoded, say ALU operations? Again, program-mix should be used to dictate these decisions

Instruction-Mix: X86

Control Flow Instructions Cond. Branches, jumps, procedure call/return Branch instruction: while C doif C thenfor I=x to y do endwhile endifendfor eval Ceval CI=x Br ¬C, +NBr ¬C, +NBr I==y, +N PC-relative Branches: PC+N