Lecture 11: 10/1/2002CS170 Fall 20021 CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.

Slides:



Advertisements
Similar presentations
by Wannarat Computer System Design Lecture 2 Instruction Set Architecture.
Advertisements

CEG3420 Lec2.1 ©UCB Fall 1997 ISA Review CEG3420 Computer Design Lecture 2.
1 ECE462/562 ISA and Datapath Review Ali Akoglu. 2 Instruction Set Architecture A very important abstraction –interface between hardware and low-level.
1 ECE369 ECE369 Chapter 2. 2 ECE369 Instruction Set Architecture A very important abstraction –interface between hardware and low-level software –standardizes.
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
ECE 232 L3 InstructionSet.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 3.
Computer ArchitectureFall 2007 © October 3rd, 2007 Majd F. Sakr CS-447– Computer Architecture.
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
CS1104 Assembly Language: Part 1
CS / Schlesinger Lec1.1 1/20/99©UCB Spring 1999 Computer Architecture Lecture 1 Introduction and Five Components of a Computer Spring, 1999 Arie Schlesinger.
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.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 3 - Instruction.
Processor Types And Instruction Sets Barak Perelman CS147 Prof. Lee.
0 What is a computer?  Simply put, a computer is a sophisticated electronic calculating machine that:  Accepts input information,  Processes the information.
CPE442 Lec 3 ISA.1 Intro to Computer Architectures Instruction Set Design instruction set software hardware.
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
Chapter 1 Basic Structure of Computers. Chapter Outline computer types, structure, and operation instructions and programs numbers, arithmetic operations,
CPE442 Lec 3 ISA.1 Intro to Computer Architectures Instruction Set Design instruction set software hardware.
ITEC 352 Lecture 20 JVM Intro. Functions + Assembly Review Questions? Project due today Activation record –How is it used?
CMP 301A Computer Architecture 1 Lecture 4. 2 Outline zISA Introduction zISA Classes yStack yAccumulator yRegister memory yRegister register/load store.
L/O/G/O The Instruction Set Chapter 9 CS.216 Computer Architecture and Organization.
Computer Systems Organization CS 1428 Foundations of Computer Science.
1  Modified from  1998 Morgan Kaufmann Publishers Chapter 2: Instructions: Language of the Machine citation and following credit line is included: 'Copyright.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
Computer Organization and Design Computer Abstractions and Technology
Lecture 2: 8/29/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
Introduction to Computer Engineering CS/ECE 252, Fall 2009 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin – Madison.
Instruction Set Architecture The portion of the machine visible to the programmer Issues: Internal storage model Addressing modes Operations Operands Encoding.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Operand Addressing And Instruction Representation Cs355-Chapter 6.
Csci 136 Computer Architecture II – Summary of MIPS ISA Xiuzhen Cheng
©UCB Fall CS/EE 362 Hardware Fundamentals Lecture 11 (Chapter 3: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
CS 211: Computer Architecture Lecture 2 Instructor: Morris Lancaster.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 5: MIPS Instructions I
Lecture 5 A Closer Look at Instruction Set Architectures Lecture Duration: 2 Hours.
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.
CS61C L20 Datapath © UC Regents 1 Microprocessor James Tan Adapted from D. Patterson’s CS61C Copyright 2000.
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
Lecture 12: 10/3/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
What is a computer? Simply put, a computer is a sophisticated electronic calculating machine that: Accepts input information, Processes the information.
A Closer Look at Instruction Set Architectures
Instruction Set Architecture
What is a computer? Simply put, a computer is a sophisticated electronic calculating machine that: Accepts input information, Processes the information.
A Closer Look at Instruction Set Architectures
Introduction to Computer Engineering
Computer Architecture
Computer Architecture (CS 207 D) Instruction Set Architecture ISA
CS170 Computer Organization and Architecture I
Instructions - Type and Format
CS149D Elements of Computer Science
The University of Adelaide, School of Computer Science
Processor Organization and Architecture
Guest Lecturer TA: Shreyas Chand
Chapter 4 The Von Neumann Model
What is Computer Architecture?
COMS 361 Computer Organization
Introduction to Computer Architecture
COMS 361 Computer Organization
What is Computer Architecture?
What is Computer Architecture?
Computer Architecture
CPU Structure CPU must:
Introduction to Computer Engineering
CSE378 Introduction to Machine Organization
Chapter 4 The Von Neumann Model
Presentation transcript:

Lecture 11: 10/1/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture 11: 10/1/2002

CS170 Fall Outline Organization overview Instruction Set Architecture (ISA) Instruction set design principles ISA classes This lecture is based on material from Patterson’s lectures in Berkeley Copyright 1997 UCB. Such slides are marked with a *

Lecture 11: 10/1/2002CS170 Fall Organization Review* All computers consist of five components –Processor: (1) datapath and (2) control –(3) Memory –(4) Input devices and (5) Output devices Not all “memory” are created equally –Cache: fast (expensive) memory are placed closer to the processor –Main memory: less expensive memory--we can have more Input and output (I/O) devices have the messiest organization –Wide range of speed: graphics vs. keyboard –Wide range of requirements: speed, standard, cost... –Least amount of research (so far)

Lecture 11: 10/1/2002CS170 Fall Summary: Computer System Components* Proc Caches Busses Memory I/O Devices: Controllers adapters Disks Displays Keyboards Networks All have interfaces & organizations

Lecture 11: 10/1/2002CS170 Fall Instruction Set Architecture ISA design principles Simplicity favors regularity Smaller is faster Make the common case fast Instruction Set Architecture of a machine is an abstraction Interface between the hardware and the lowest-level software Includes anything that programmers need to know to make a binary machine program work correctly, including Instructions (categories, format,..) I/O devices, # of registers, memory access schemes, …

Lecture 11: 10/1/2002CS170 Fall ISA: What must be specified?* Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction Instruction Format or Encoding – how is it decoded? Location of operands and result – where other than memory? – how many explicit operands? – how are memory operands located? – which can or cannot be in memory? Data type and Size Operations – what are supported Successor instruction – jumps, conditions, branches

Lecture 11: 10/1/2002CS170 Fall Registers A storage device (in MIPS holds 32 bits, a word) Registers are built into the processor, in particular in the section labeled “Data Path” Faster than main memory The basic ISA classes are distinguished by  what kinds of registers they have  what are the functions of the registers

Lecture 11: 10/1/2002CS170 Fall Basic ISA Classes* Accumulatorknown as 1-address machines Use 1 register for source as well as destination operands 1 addressAdd Aacc  acc + mem[A] 1+x addressAdd x, Aacc  acc + mem[A + x] Load Aacc  mem[A] Store Bmem[B]  acc Stackknown as 0-address machines Operands are pushed and popped off an internal stack All other operations remove their operands from the stack and replace them with the result 0 addressAddpush (pop+pop) Push Apush (mem[A]) Pop Amem[A]  pop

Lecture 11: 10/1/2002CS170 Fall Basic ISA Classes* General Purpose Register Limited number of registers to store data for any purpose Memory-Memory or Register-Memory (arithmetic instructions can use data in memory for operands) 1 addressAdd Ra, BRa  Ra + mem[B] 2 addressAdd A,Bmem[A]  mem[A] + mem[B] 3 addressAdd A,B,Cmem[A]  mem[B] + mem[C] Load/Store(arithmetic instructions can only use data in registers) (register-register machines) Add Ra,Rb,RcRa  Rb + Rc Load Ra,ARa  mem[A] Store Ra,Bmem[B]  Ra Comparison: Bytes per instruction? Number of Instructions? Cycles per instruction?

Lecture 11: 10/1/2002CS170 Fall Comparison of ISA classes* Code sequence for C = A + B for classes of instruction sets: StackAccumulatorRegister (register-memory)(load-store) Load A Add B Store C Load R1,A Add R1,B Store C, R1 Push A Push B Add Pop C Load R1,A Load R2,B Add R3,R1,R2 Store C,R3 (memory-memory) Add C, A, B

Lecture 11: 10/1/2002CS170 Fall Which ISA dominates?* General purpose registers dominate all machines use general purpose registers Advantages of registers registers are faster than memory registers are easier for a compiler to use e.g., (A*B) – (C*D) – (E*F) can do multiplies in any order vs. stack registers can hold variables  memory traffic is reduced, so program is sped up (since registers are faster than memory)  code density improves (since register named with fewer bits than memory location