Computer Organization Instruction Sets Reading: 2.1-2.2 Portions of these slides are derived from: Textbook figures © 1998 Morgan Kaufmann Publishers all.

Slides:



Advertisements
Similar presentations
Instruction Set Design
Advertisements

CEG3420 Lec2.1 ©UCB Fall 1997 ISA Review CEG3420 Computer Design Lecture 2.
ISA Issues; Performance Considerations. Testing / System Verilog: ECE385.
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 2: IT Students.
INTRODUCTION TO THE ARM PROCESSOR – Microprocessor Asst. Prof. Dr. Choopan Rattanapoka and Asst. Prof. Dr. Suphot Chunwiphat.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 4 - Instruction.
IA-32 Processor Architecture
COMP381 by M. Hamdi 1 Instruction Set Architectures.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 1 - Course.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 20 - Memory.
PC hardware and x86 3/3/08 Frans Kaashoek MIT
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 18 - Pipelined.
1 ICS 51 Introductory Computer Organization Fall 2006 updated: Oct. 2, 2006.
Classifying Instruction Set Architectures
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania Computer Organization Pipelined Processor Design 1.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania Computer Organization Pipelined Processor Design 3.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 2 - Technology.
5.2 Mathematical Power, Convenience, and Cost The set of operations represents a tradeoff among the cost of the hardware, the convenience for a programmer,
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 3 - Instruction.
Classifying Instruction Set Architectures
ICS312 Set 3 Pentium Registers. Intel 8086 Family of Microprocessors All of the Intel chips from the 8086 to the latest pentium, have similar architectures.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 2: 80386DX Internal Architecture & Data Organization.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Memory Hierarchy 2.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 17 - Pipelined.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 2:
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 1 - Course.
CEG 320/520: Computer Organization and Assembly Language ProgrammingIntel Assembly 1 Intel IA-32 vs Motorola
Assembly Language for Intel-Based Computers, 4 th Edition Chapter 2: IA-32 Processor Architecture (c) Pearson Education, All rights reserved. You.
6.828: PC hardware and x86 Frans Kaashoek
Linked Lists in MIPS Let’s see how singly linked lists are implemented in MIPS on MP2, we have a special type of doubly linked list Each node consists.
Instruction Set Architecture
CMP 301A Computer Architecture 1 Lecture 4. 2 Outline zISA Introduction zISA Classes yStack yAccumulator yRegister memory yRegister register/load store.
1/9/02CSE ISA's Instruction Set Architectures Part 1 I/O systemInstr. Set Proc. Compiler Operating System Application Digital Design Circuit Design.
1  Modified from  1998 Morgan Kaufmann Publishers Chapter 2: Instructions: Language of the Machine citation and following credit line is included: 'Copyright.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Multi-Cycle Processor.
The ISA Level The Instruction Set Architecture (ISA) is positioned between the microarchtecture level and the operating system level.  Historically, this.
The x86 Architecture Lecture 15 Fri, Mar 4, 2005.
1 (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann,
Module 3 Instruction Set Architecture (ISA): ISA Level Elements of Instructions Instructions Types Number of Addresses Registers Types of Operands.
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
COMPUTER ARCHITECURE INSTRUCTION SET ARCHITECTURE.
Lecture 11: 10/1/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
Oct. 25, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 9: Alternative Instruction Sets * Jeremy R. Johnson Wed. Oct. 25, 2000.
Csci 136 Computer Architecture II – Summary of MIPS ISA Xiuzhen Cheng
CS 211: Computer Architecture Lecture 2 Instructor: Morris Lancaster.
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 5: MIPS Instructions I
Chapter 2 Parts of a Computer System. 2.1 PC Hardware: Memory.
EEL5708/Bölöni Lec 3.1 Fall 2006 Sept 1, 2006 Lotzi Bölöni EEL 5708 High Performance Computer Architecture Lecture 3 Review: Instruction Sets.
Computer Organization Instruction Sets: MIPS Reading: Portions of these slides are derived from: Textbook figures © 1998 Morgan Kaufmann Publishers.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 16 - Multi-Cycle.
Chapter Overview General Concepts IA-32 Processor Architecture
Instruction Set Architectures
Assembly language.
IA32 Processors Evolutionary Design
x86 Processor Architecture
A Closer Look at Instruction Set Architectures
ISA's, Compilers, and Assembly
Computer skills CPU Jakub Yaghob.
Basic Microprocessor Architecture
Instructions - Type and Format
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures
Processor Organization and Architecture
Architecture Overview
Computer Architecture CST 250
Introduction to Microprocessor Programming
CPU Structure CPU must:
Computer Architecture and System Programming Laboratory
Presentation transcript:

Computer Organization Instruction Sets Reading: Portions of these slides are derived from: Textbook figures © 1998 Morgan Kaufmann Publishers all rights reserved Tod Amon's COD2e Slides © 1998 Morgan Kaufmann Publishers all rights reserved Dave Patterson’s CS 152 Slides - Fall 1997 © UCB Rob Rutenbar’s Slides - Fall 1999 CMU John Nestor’s at Lafayette College other sources as noted IDT 79R4600 Orion

Feb. 2005Instruction Sets2 Roadmap for the Term: Major Topics  Computer Systems Overview  Technology Trends  Instruction Sets (and Software)   Logic and Arithmetic  Performance  Processor Implementation  Memory Systems  Input/Output

Feb. 2005Instruction Sets3 Outline - Instruction Sets  Instruction Set Overview  Classifying Instruction Set Architectures (ISAs)   Some Example Architectures  CISC vs. RISC Architectures  MIPS Instruction Set  Software Concerns

Feb. 2005Instruction Sets4 What is Instruction Set Architecture?  Specification of the hardware/software interface Software - binary instructions generated by compiler Hardware - interprets and executes instructions  Specification of features visible to programmer  Specification of function for hardware designer

Feb. 2005Instruction Sets5 What does an ISA Specify?  Supported data types (e.g. byte, short, word, long, float, double )  Memory organization  Registers  Instructions  Function  Operands - number and type Memory operands Register operands  Format and encoding

Feb. 2005Instruction Sets6 Classifying ISAs based on Operands  Accumulator (e.g. Motorola 68HC11)  1 address add A acc  acc + mem[A]  1+x address addx A acc  acc + mem[A + x]  General Purpose Register / Register-Memory (e.g. 80x86)  2 address add Ra B Ra  Ra + mem[B]  3 address add Ra Rb C Ra  Rb + mem[C]  General Purpose Register / Register-Register (e.g. MIPS)  3 address add Ra Rb RcRa  Rb + Rc load Ra A Ra  mem[A] store Ra A mem[A]  Ra  Stack  0 address add tos  tos + next push A pop A (tos = top of stack)

Feb. 2005Instruction Sets7 Comparing ISA Classes Register-MemoryRegister-RegisterStackAccumulator StoreC AddB LoadA StoreR3, C AddR3,R1,B LoadR1,A StoreR3,C AddR3,R1,R2 LoadR2,B LoadR1,A Add PushB PushA PopC  Code sequence for C = A+B in each class:

Feb. 2005Instruction Sets8 More About General Purpose Registers  Why do almost all new architectures use GPRs?  Registers are much faster than memory (even cache) Register values are available immediately When memory isn’t ready, processor must wait (“stall”)  Registers are convenient for variable storage Compiler assigns some variables just to registers More compact code since small fields specify registers (compared to memory addresses) RegistersCache Memory Processor Disk

Feb. 2005Instruction Sets9 Outline - Instruction Sets  Instruction Set Overview  Classifying Instruction Set Architectures (ISAs)  Some Example Architectures   CISC vs. RISC Architectures  MIPS Instruction Set  Software Concerns

Feb. 2005Instruction Sets10 Review: MC68HC11 Architecture ADDA 42 ABA BEQ 0x0000 0x0001 0x0002 0x0003 0xfffe 0xffff 8 bits Memory (Max 65KB) AB X Y SP PC=0x0002 CCR 16 bits 8 bits Registers 16 bits opcode pre-opcodeopcode operand opcodeoperand opcode Instruction Formats (Variable-length 1-4 bytes)

Feb. 2005Instruction Sets11 Example Architecture: 80x86 (IA-32) Instruction Formats not shown (Variable Length: see next page) EIP (PC) =0x C (condition codes) EAX ECX EDX EBX ESP EBP ESI EDI CS SS DS ES FS GS EIP EFLAGS bits Registers Memory (Max. 4GB) 0x x x x C 0x x x x C 0xfffffffc 32 bits

Feb. 2005Instruction Sets12 Some 80x86 Instruction Formats JE offsetcond 44 8 OffsetCALL 832 MOVpostbytedispl. dw regPUSH regADD w 1 Offset 32 ADD w Offsetpostbyte w bit - species operand of byte or 32-bit “double word” d bit - indicates direction of move (register/mem or mem/register) Variable Instruction Length - 1 to 17 bytes

Feb. 2005Instruction Sets13 Example Architecture: MIPS Memory (Max. 4GB) 0x x x x C 0x x x x C 0xfffffffc 32 bits 32 General Purpose Registers R0 R1 R2 R30 R31 PC = 0x C 32 bits Registers 32 oprsrtoffset oprsrtrdfunctshamt opaddress Instruction Formats (Fixed Length)

Feb. 2005Instruction Sets14 Outline - Instruction Sets  Instruction Set Overview  Classifying Instruction Set Architectures (ISAs)  Some Example Architectures  CISC vs. RISC Architectures   MIPS Instruction Set  Software Concerns

Feb. 2005Instruction Sets15 Classifying Architectures: CISC vs. RISC  CISC - Complex Instruction Set  Usually evolved over time (e.g >8086->IA-32)  Many instructions targeted to high-level functions  Large number of instruction formats and instructions  RISC - Reduced-Instruction Set Computers  Small number of fixed length instruction formats  Limited access to memory (load/store architecture) Instructions chosen to make implementation easier, faster  Rely on compiler for higher-level functions  Over time, the distinction has blurred

Feb. 2005Instruction Sets16 Some Well-Known Architectures +Application - E=Embedded, D=Desktop, S=Server

Feb. 2005Instruction Sets17 Microprocessor Usage Figure 1.2

Feb. 2005Instruction Sets18 Outline - Instruction Sets  Instruction Set Overview  Classifying Instruction Set Architectures (ISAs)  Some Example Architectures  CISC vs. RISC Architectures  MIPS Instruction Set   Overview  Registers and Memory  Instructions  Software Concerns