INSTRUCTION SET PRINCIPLES. Computer Architecture’s Changing Definition  1950s to 1960s: Computer Architecture Course = Computer Arithmetic  1970s to.

Slides:



Advertisements
Similar presentations
CH10 Instruction Sets: Characteristics and Functions
Advertisements

Chapter 2 Instruction Set Principles. Computer Architecture’s Changing Definition 1950s to 1960s: Computer Architecture Course = Computer Arithmetic 1970s.
Instruction Set Design
Instruction Set-Intro
Chapter 3 Instruction Set Architecture Advanced Computer Architecture COE 501.
1 Instruction Set Principles and Examples 游象甫. 2 Outline Introduction Classifying instruction set architectures Memory addressing Type and size of operands.
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
COMP381 by M. Hamdi 1 Instruction Set Architectures.
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
What is an instruction set?
+ CS 325: CS Hardware and Software Organization and Architecture Integers and Arithmetic Part 4.
Microprocessor Systems Design I
Unit-1 PREPARED BY: PROF. HARISH I RATHOD COMPUTER ENGINEERING DEPARTMENT GUJARAT POWER ENGINEERING & RESEARCH INSTITUTE Advance Processor.
Lecture 18 Last Lecture Today’s Topic Instruction formats
An Introduction to 8086 Microprocessor.
CSU0014 Assembly Languages Homepage: Textbook: Kip R. Irvine, Assembly Language for Intel-Based Computers,
Summer 2014 Chapter 1: Basic Concepts. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, Chapter Overview Welcome to Assembly Language.
Instruction Set Architecture
Instruction Set Architecture
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
Implementation of a Stored Program Computer ITCS 3181 Logic and Computer Systems 2014 B. Wilkinson Slides2.ppt Modification date: Oct 16,
©Brooks/Cole, 2003 Chapter 3 Number Representation.
Number Representation
Chapter 5 A Closer Look at Instruction Set Architectures.
1 Instruction Set Architecture (ISA) Alexander Titov 10/20/2012.
Chapter Six Sun SPARC Architecture. SPARC Processor The name SPARC stands for Scalable Processor Architecture SPARC architecture follows the RISC design.
CSNB374: Microprocessor Systems Chapter 1: Introduction to Microprocessor.
Computer Architecture and Organization
Computer Architecture EKT 422
COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE Lecture 19 & 20 Instruction Formats PDP-8,PDP-10,PDP-11 & VAX Course Instructor: Engr. Aisha Danish.
Operand Addressing And Instruction Representation Cs355-Chapter 6.
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
The Instruction Set Architecture. Hardware – Software boundary Java Program C Program Ada Program Compiler Instruction Set Architecture Microcode Hardware.
What is a program? A sequence of steps
Page 1 Computer Architecture and Organization 55:035 Midterm Exam Review Spring 2011.
©Brooks/Cole, 2003 Chapter 3 Number Representation.
Arrays in MIPS Assembly Computer Organization and Assembly Language: Module 6.
Ass. Prof. Dr Masri Ayob TK 2123 Lecture 14: Instruction Set Architecture Level (Level 2)
Instruction Sets: Characteristics and Functions  Software and Hardware interface Machine Instruction Characteristics Types of Operands Types of Operations.
CSC 221 Computer Organization and Assembly Language Lecture 06: Machine Instruction Characteristics.
Computer Architecture. Instruction Set “The collection of different instructions that the processor can execute it”. Usually represented by assembly codes,
Computer Architecture & Operations I
Computer Architecture & Operations I
A Closer Look at Instruction Set Architectures
Microprocessor Systems Design I
Microprocessor Systems Design I
CS 704 Advanced Computer Architecture
A Closer Look at Instruction Set Architectures
Microcomputer Programming
Computer Organization and ASSEMBLY LANGUAGE
ECEG-3202 Computer Architecture and Organization
Chapter 9 Instruction Sets: Characteristics and Functions
William Stallings Computer Organization and Architecture 8 th Edition Chapter 10 (Chap 12 edition 9) Instruction Sets: Characteristics and Functions.
Computer Architecture
ECEG-3202 Computer Architecture and Organization
Introduction to Microprocessor Programming
What is Computer Architecture?
CPU Structure CPU must:
Part I Data Representation and 8086 Microprocessors
Chapter 10 Instruction Sets: Characteristics and Functions
Presentation transcript:

INSTRUCTION SET PRINCIPLES

Computer Architecture’s Changing Definition  1950s to 1960s: Computer Architecture Course = Computer Arithmetic  1970s to mid 1980s: Computer Architecture Course = Instruction Set Design, especially ISA appropriate for compilers  1990s: Computer Architecture Course = Design of CPU, memory system, I/O system, Multiprocessors

Instruction Set Architecture (ISA) instruction set software hardware

Instruction Set Architecture  Instruction set architecture is the structure of a computer that a machine language programmer must understand to write a correct (timing independent) program for that machine.  The instruction set architecture is also the machine description that a hardware designer must understand to design a correct implementation of the computer.

Interface Design A good interface: Lasts through many implementations (portability, compatibility) Is used in many different ways (generality) Provides convenient functionality to higher levels Permits an efficient implementation at lower levels Interface imp 1 imp 2 imp 3 use time

Evolution of Instruction Sets Single Accumulator (EDSAC 1950) Accumulator + Index Registers (Manchester Mark I, IBM 700 series 1953) Separation of Programming Model from Implementation High-level Language BasedConcept of a Family (B )(IBM ) General Purpose Register Machines Complex Instruction SetsLoad/Store Architecture RISC (Vax, Intel ) (CDC 6600, Cray ) (Mips,Sparc,HP-PA,IBM RS6000,PowerPC ) LIW/”EPIC”?(IA )

Evolution of Instruction Sets  Major advances in computer architecture are typically associated with landmark instruction set designs  Ex: Stack vs GPR (System 360)  Design decisions must take into account:  technology  machine organization  programming languages  compiler technology  operating systems  And they in turn influence these

What Are the Components of an ISA?  Sometimes known as The Programmer’s Model of the machine  Storage cells  General and special purpose registers in the CPU  Many general purpose cells of same size in memory  Storage associated with I/O devices  The machine instruction set  The instruction set is the entire repertoire of machine operations  Makes use of storage cells, formats, and results of the fetch/execute cycle  i.e., register transfers

 The instruction format  Size and meaning of fields within the instruction  The nature of the fetch-execute cycle  Things that are done before the operation code is known What Are the Components of an ISA?

Computer Arithmetic Taxonomy of integers

Range of sign-and-magnitude integers # of Bits # of Bits  127  0   0   ,147,483,647 Range

In sign-and-magnitude representation, the leftmost bit defines the sign of the number. If it is 0, the number is positive.If it is 1, the number is negative. Note:

Example of storing sign-and-magnitude integers in two computers Decimal Decimal ,760 8-bit allocation overflow 16-bit allocation

Example 8 Interpret in decimal if the number was stored as a sign-and-magnitude integer. Solution Ignoring the leftmost bit, the remaining bits are This number in decimal is 59. The leftmost bit is 1, so the number is –59.

There are two 0s in one’s complement representation: positive and negative. In an 8-bit allocation: +0   Note:

Range of one’s complement integers # of Bits # of Bits  127  0   0   ,147,483,647 Range

In one’s complement representation, the leftmost bit defines the sign of the number. If it is 0, the number is positive.If it is 1, the number is negative. Note:

Example of storing one’s complement integers in two different computers Decimal Decimal       8-bit allocation overflow 16-bit allocation

One’s complement means reversing all bits. If you one’s complement a positive number, you get the corresponding negative number. If you one’s complement a negative number, you get the corresponding positive number. If you one’s complement a number twice, you get the original number. Note:

Two’s complement is the most common, the most important, and the most widely used representation of integers today. Note:

Range of two’s complement integers # of Bits  128  32,768  , ,147,483,647 Range

In two’s complement representation, the leftmost bit defines the sign of the number. If it is 0, the number is positive. If it is 1, the number is negative. Note:

Example of storing two’s complement integers in two different computers Decimal Decimal       8-bit allocation overflow 16-bit allocation

Memory Addressing  How is a memory address interpreted?  Byte addressed: Provide access for bytes, half words, words, and double words (64 bits)  Conventions for ordering the bytes within a word:  Little Endian: put byte whose address xxxx00 at LSB position. Word addressData  Big Endian: Put byte whose address xxxx00 at MSB position. Word addressData

Address Alignment  Access to objects larger than a byte must be aligned.  An access to an object of size S bytes at byte address A is aligned if A mod S =0.  Fig. 2.5 aligned and misaligned access ObjectAligned atMisaligned at addressedbyte offsetsbyte offsets Byte0,1,2,3,4,5,6,7Never Half word0,2,4,61,3,5,7 Word0,41,2,3,5,6,7, Double word01,2,3,4,5,6,7  A misaligned memory access will take multiple aligned memory references

Addressing Mode  How architectures specify the address of an object they will access?  In a GPR, an addressing mode can specify  a constant,  a register,  a location in memory (used to compute effective address).  Immediate or literals are usually considered as memory addressing mode.  Addressing modes that depend on the program counter is called PC-relative addressing.  Addressing modes can significantly reduce instruction counts, but may add to the complexity of building a machine and increase the average CPI.

Karnaugh map  The Karnaugh map, also known as the K-map, is a method to simplify boolean algebra expressions..  The Karnaugh map reduces the need for extensive calculations by taking advantage of humans' pattern-recognition capability. It also permits the rapid identification and elimination of potential race conditions.

Diagram showing K-map for f(A, B, C, D).

Exercise