Classifying GPR Machines TypeNumber of Operands Memory Operands Examples Register- Register 30 SPARC, MIPS, etc. Register- Memory 21 Intel 80x86, Motorola.

Slides:



Advertisements
Similar presentations
CH10 Instruction Sets: Characteristics and Functions
Advertisements

DSPs Vs General Purpose Microprocessors
Instruction Set Design
Chapter 3 Instruction Set Architecture Advanced Computer Architecture COE 501.
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/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 2: Data types and addressing modes dr.ir. A.C. Verschueren.
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
CMSC 611: Advanced Computer Architecture Instruction Set Architecture Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
10/9: Lecture Topics Starting a Program Exercise 3.2 from H+P Review of Assembly Language RISC vs. CISC.
ELEN 468 Advanced Logic Design
Computer Organization and Architecture
Recap Measuring and reporting performance Quantitative principles Performance vs Cost/Performance.
PART 4: (2/2) Central Processing Unit (CPU) Basics CHAPTER 13: REDUCED INSTRUCTION SET COMPUTERS (RISC) 1.
Computer Organization and Architecture
Computer Organization and Architecture
COMP381 by M. Hamdi 1 Instruction Set Architectures.
CIS429/529 ISA - 1 Instruction Set Architectures Classification Addressing Modes Types of Instructions Encoding Instructions MIPS64 Instruction Set.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
What is an instruction set?
CMSC 611: Advanced Computer Architecture Instruction Set Architecture Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
Machine Instruction Characteristics
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.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
Homework Problems 1. M1 runs the program P in 1.4 * 9 * ns or ns M2 runs the program P in 1.6*9800*10ns or ns Hence M2 is faster by.
1 (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann,
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
Computer Architecture and Organization
Computer Architecture EKT 422
Crosscutting Issues: The Rôle of Compilers Architects must be aware of current compiler technology Compiler Architecture.
Lecture 04: Instruction Set Principles Kai Bu
CS 211: Computer Architecture Lecture 2 Instructor: Morris Lancaster.
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
MIPS Instructions Instructions: Language of the Machine
What is a program? A sequence of steps
Group # 3 Jorge Chavez Henry Diaz Janty Ghazi German Montenegro.
Ass. Prof. Dr Masri Ayob TK 2123 Lecture 14: Instruction Set Architecture Level (Level 2)
Instruction Sets. Instruction set It is a list of all instructions that a processor can execute. It is a list of all instructions that a processor can.
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures.
Instruction Sets: Characteristics and Functions  Software and Hardware interface Machine Instruction Characteristics Types of Operands Types of Operations.
MAC/VU-Advanced Computer Architecture Lecture 6- Instruction Set Principles (3) 1 Advanced Computer Architecture CS 704 Advanced Computer Architecture.
Computer Architecture & Operations I
Instruction Set Principles
ELEN 468 Advanced Logic Design
Instruction Set Principles
Advanced Computer Architecture 5MD00 / 5Z032 Instruction Set Design
Appendix A Classifying Instruction Set Architecture
CMSC 611: Advanced Computer Architecture
CS170 Computer Organization and Architecture I
ECEG-3202 Computer Architecture and Organization
Computer Instructions
Chapter 2. Instruction Set Principles and Examples
ECEG-3202 Computer Architecture and Organization
Evolution of ISA’s ISA’s have changed over computer “generations”.
Instruction Set Principles
Evolution of ISA’s ISA’s have changed over computer “generations”.
CPU Structure CPU must:
Lecture 4: Instruction Set Design/Pipelining
Chapter 10 Instruction Sets: Characteristics and Functions
Presentation transcript:

Classifying GPR Machines TypeNumber of Operands Memory Operands Examples Register- Register 30 SPARC, MIPS, etc. Register- Memory 21 Intel 80x86, Motorola Memory- Memory 33VAX

2.4. Addressing Modes for DSP DSPs work with infinite, continuous streams of data –Use circular buffers –Have a modulo or circular addressing mode Address registers have start and end registers Autoincrement/autodecrement automatically reset at start/end

DSP Fast Fourier Transforms (FFT) common –Shuffle data in a distinct pattern –In binary: need to reverse address bits –Many DSPs have bit reverse addressing mode

Usage Circular addressing –2.35% Bit reverse –0% Four “basic” modes (immediate, displacement, register indirect, direct) –70% –Rest are variations on autoincrement/auto- decrement, including circular addressing

Summary: Memory Addressing New machines should support at least: –Displacement –Immediate –Register indirect Size should be: –12–16 bits for displacements –8–16 bits for immediates

2.5. Type and Size of Operands How is this designated? –Encoded in the instruction –Tags on the data Type normally determines size

Alternative Types Character strings –Comparisons and moves Decimal (BCD) formats –0…9 (4 bits), two digits per byte –String conversions –Arithmetic operations

Type Usage Integer applications –Mainly double word (59%), but skewed by 64- bit addresses FP applications –Mainly double word (70%) Important design issue

2.6. Operands for Media and DSPs Graphics applications –Vertices (four 32-bit values: x,y,z,w) –Pixels (32 bits: four 8-bit values: R,G,B,A) DSPs –Fixed point (fractions between –1 and +1) May experience rounding errors: registers wider than data size

2.7. Operations Several categories: –Arithmetic / logical –Data transfer –Control –System –Floating point –Decimal –String –Graphics } Common } Application-specific

Operations Example: –Intel 80x86 (SPECint92) –10 instructions account for 96% of execution! Load, branch, compare, store, add, and, sub, move, call, return –The first seven account for 90%

2.8. Media and DSP Operations Media operations –Partitioned add E.g. 64-bit add does 4 × 16-bit adds or 8 × 8-bit adds –Paired single operations 64-bit FP ops do 2 × 32-bit operations –Fig SPARC VIS and Pentium MMX

DSP Operations Use “saturating arithmetic” –Overflow results in maximum value, not wrap- around Rounding –Wide registers into narrow data words Multiply-Accumulate (MAC) instructions –Key to dot-products for matrices and vectors

2.9. Control Flow Instructions Tend to be independent of other factors Terminology –Highly varied! –H&P: Jump (unconditional) Branch (conditional)

Control Flow Instructions Mainly conditional branches (+/–80%) Almost always PC-relative addressing –Requires fewer bits –Position independence Register indirect jumps –Useful for switch, dynamic libraries, OO programs

Control Flow Instructions How many bits are needed for address? –10 bits is plenty (Alpha) Specifying conditions? –Condition codes –Register –Compare-and-branch DSP: –repeat (uses a counter register)

Control Flow Instructions Procedure call and return –How are registers saved? Caller save –vs– Callee save –Most current systems use a combination

2.10. Instruction Encoding All the previous factors are important Affects: –Size of programs –Ease of decoding Require opcode How is address info. handled?

Encoding the Address Many and complex addressing modes –Separate address specifier Simple load/store architectures –Address included in the instruction

Trade-Offs Desire for many registers and addressing modes Instruction (and program) size Easy decoding –Fixed length instructions

Examples Variable –VAX –Instructions range from 1 to 53 bytes! –Zero to three operands in memory (0…6 memory accesses) Fixed –SPARC, MIPS, Alpha, etc. Hybrid –IBM 360

Reducing Code Size in RISCs Embedded processors –Program size is important cost factor –Led to hybrid RISC instruction sets 16- and 32-bit instructions MIPS: MIPS16 Code size reduction of up to 40% –Hitachi Developed a new 16-bit RISC architecture (SuperH)

Reducing Code Size in RISCs IBM –Compress programs –Hardware decompresses instructions when fetched from memory into cache –Performance impact: 10% –Code size reduction: 35%–40% –Compilers do not need modification