Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania 18042 ECE 313 - Computer Organization Lecture 3 - Instruction.

Slides:



Advertisements
Similar presentations
Lecture 13: 10/8/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
Advertisements

Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 13 - A Verilog.
ISA Issues; Performance Considerations. Testing / System Verilog: ECE385.
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.
ENGS 116 Lecture 41 Instruction Set Design Part II Introduction to Pipelining Vincent H. Berk September 28, 2005 Reading for today: Chapter 2.1 – 2.12,
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 8 - Multiplication.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 11 - Processor.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Pipelined Processor.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 4 - Instruction.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 19 - Pipelined.
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.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 23 - Course.
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.
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 ECE Computer Organization Lecture 22 - Input/Output.
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,
CIS 314 : Computer Organization Lecture 1 – Introduction.
Computer Organization Instruction Sets Reading: Portions of these slides are derived from: Textbook figures © 1998 Morgan Kaufmann Publishers all.
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 Microprocessor Organization Portions of these.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 1 - Course.
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.
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
Assembly language.
IA32 Processors Evolutionary Design
x86 Processor Architecture
ISA's, Compilers, and Assembly
Computer skills CPU Jakub Yaghob.
Instructions - Type and Format
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures
The University of Adelaide, School of Computer Science
Processor Organization and Architecture
Introduction to Microprocessor Programming
CPU Structure CPU must:
Computer Architecture and System Programming Laboratory
Presentation transcript:

Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 3 - Instruction Sets Fall 2004 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 other sources as noted

ECE Fall 2004Lecture 3 - Instruction 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

ECE Fall 2004Lecture 3 - Instruction Sets3 Outline - Instruction Sets  Instruction Set Overview  Classifying Instruction Set Architectures (ISAs)   Some Example Architectures  CISC vs. RISC Architectures  MIPS Instruction Set  Software Concerns

ECE Fall 2004Lecture 3 - Instruction 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

ECE Fall 2004Lecture 3 - Instruction 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

ECE Fall 2004Lecture 3 - Instruction Sets6 Classifying ISAs based on Operands  Accumulator (e.g. 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)

ECE Fall 2004Lecture 3 - Instruction 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:

ECE Fall 2004Lecture 3 - Instruction 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

ECE Fall 2004Lecture 3 - Instruction Sets9 Outline - Instruction Sets  Instruction Set Overview  Classifying Instruction Set Architectures (ISAs)  Some Example Architectures   CISC vs. RISC Architectures  MIPS Instruction Set  Software Concerns

ECE Fall 2004Lecture 3 - Instruction 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)

ECE Fall 2004Lecture 3 - Instruction 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

ECE Fall 2004Lecture 3 - Instruction 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

ECE Fall 2004Lecture 3 - Instruction 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)

ECE Fall 2004Lecture 3 - Instruction Sets14 Outline - Instruction Sets  Instruction Set Overview  Classifying Instruction Set Architectures (ISAs)  Some Example Architectures  CISC vs. RISC Architectures   MIPS Instruction Set  Software Concerns

ECE Fall 2004Lecture 3 - Instruction 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

ECE Fall 2004Lecture 3 - Instruction Sets16 Some Well-Known Architectures +Application - E=Embedded, D=Desktop, S=Server

ECE Fall 2004Lecture 3 - Instruction Sets17 Microprocessor Usage Figure 1.2

ECE Fall 2004Lecture 3 - Instruction 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