1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson,

Slides:



Advertisements
Similar presentations
CSE 340 Computer Architecture Spring 2014 MIPS ISA Review
Advertisements

TU/e Processor Design 5Z0321 Processor Design 5Z032 Computer Systems Overview Chapter 1 Henk Corporaal Eindhoven University of Technology 2011.
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
CSE431 L01 Introduction.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 01: Introduction Mary Jane Irwin ( )
מבנה מחשבים הרצאה 1 מבנה מחשבים Lecture 1 Course Introduction Eytan Ruppin and Alon Schclar Slides from Randy H. Katz, John Wawrzynek and Dan Garcia Berkeley.
ENEE350 Spring07 1 Ankur Srivastava University of Maryland, College Park Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005.”
Chapter 1. Introduction This course is all about how computers work But what do we mean by a computer? –Different types: desktop, servers, embedded devices.
OK, we are now ready to begin Chapter 2 of our text
Computer Organization and Design David. Paterson and John L. Hennessy
Computer Architecture Instructor: Wen-Hung Liao Office: 大仁樓三樓 Office hours: TBA Course web page:
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
CPEN Digital System Design Chapter 10 – Instruction SET Architecture (ISA) © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall.
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.
1 CSE SUNY New Paltz Chapter 1 Introduction CSE-45432Introduction to Computer Architecture Dr. Izadi.
CIS 314 : Computer Organization Lecture 1 – Introduction.
August 26 TA: Angela Van Osdol Questions?. What is a computer? Tape drives? Big box with lots of lights? Display with huge letters? Little box with no.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
Chapter 1 Sections 1.1 – 1.3 Dr. Iyad F. Jafar Introduction.
CENG311 Computer Architecture Kayhan Erciyes. CS231 Assembly language and Digital Circuits Instructor:Kayhan Erciyes Office:
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
Computer Organization CS224
Computer Organization and Architecture (AT70. 01) Comp. Sc. and Inf
Summary: Computer System Components Proc Caches Busses Memory I/O Devices: Controllers adapters Disks Displays Keyboards Networks.
Digital Systems Design L01 Introduction.1 Digital Systems Design Lecture 01: Introduction Adapted from: Mary Jane Irwin ( )
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Computer Architecture ECE 4801 Berk Sunar Erkay Savas.
CPE232 Introduction1 CPE 335 Computer Organization Introduction Dr. Gheith Abandah [Adapted from the slides of Professor Mary Irwin (
Cs 152 L1 Intro.1 Patterson Fall 97 ©UCB What is “Computer Architecture” Computer Architecture = Instruction Set Architecture + Machine Organization.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
COMP3221 lec04--prog-model.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lecture 4: Programmer’s Model of Microprocessors
1 Computer System Organization I/O systemProcessor Compiler Operating System (Windows 98) Application (Netscape) Digital Design Circuit Design Instruction.
1 (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann,
Computer Organization and Design Computer Abstractions and Technology
Computer Architecture Mehran Rezaei
CS35101 Computer Architecture Spring 2006 Week 1 Slides adapted from: Mary Jane Irwin ( Course url:
1 International Technology University CEN 951 Computer Architecture Lecture 1 - Introduction.
Computer Architecture And Organization UNIT-II General System Architecture.
Computer System Design Lecture 1 Wannarat Suntiamorntut.
Computer Organization & Assembly Language © by DR. M. Amer.
by Computer System Design Lecture 1 Wannarat Suntiamorntut
Computer Architecture CPSC 350
1 ECE3055 Computer Architecture and Operating Systems Lecture 1 Introduction Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia.
EEL 4713/EEL 5764 Computer Architecture Spring Semester 2004 Instructor: Dr. Shonda Walker Required Textbook: Computer Organization & Design, by Patterson.
순천향대학교 정보기술공학부 이 상 정 1 1. Computer Abstractions and Technology.
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
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
August 27 Books? ? Accounts?. What does a computer look like? Tape drives? Big box with lots of lights? Display with huge letters? Little box with.
Lecture 1: Computer Architecture and Technology Professor Mike Schulte Computer Architecture ECE 201.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization.
CSIE30300 Computer Architecture Unit 01: Introduction Hsin-Chou Chi [Adapted from material by and
Lecture 2: Instruction Set Architecture part 1 (Introduction) Mehran Rezaei.
1 TM 1 Embedded Systems Lab./Honam University ARM Microprocessor Programming Model.
CC311 Computer Architecture Chapter 1 Computer Abstraction & Technology.
By Wannarat Computer System Design Lecture 1 Wannarat Suntiamorntut.
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
Chapter 1 Computer Abstractions and Technology
Computer Architecture & Operations I
Overview Instruction set architecture (MIPS)
CPE 232 Computer Organization Introduction
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Computer Architecture CSCE 350
EEL 4713/EEL 5764 Computer Architecture
T Computer Architecture, Autumn 2005
August 29 New address for Fang-Yi
COMS 361 Computer Organization
CS4100: 計算機結構 Course Outline
Computer Architecture
Presentation transcript:

1 CHAPTER 1 COMPUTER ABSTRACTIONS AND TECHNOLOGY Parts of these notes have been adapter from those of Prof. Professor Mike Schulte, Prof. D. Patterson, and Prof Irwin (PSU)

2 Course Content Text book: Computer Organization and Design: The Hardware/Software Interface, 2nd Ed., Patterson and Hennessy, Morgan Kaufman, Topics covered include : –Computer Architecture and Technology –Computer Performance –Computer Instruction Sets –Computer Arithmetic –Processor Design –Pipelined Processors –Memory System Design –Input/Output System Design

3 What is Computer Architecture? Computer Architecture is the design of the computer at the hardware/software interface. Computer Architecture = Instruction Set Architecture + Machine Organization Computer Architecture Instruction Set DesignMachine Organization at the above interface.of Hardware Components. Compiler/System ViewLogic Designer’s View

4 Language of the Machine Computer operates using number in base 2, or binary numbers –Why? Instructions are represented by binary numbers (Ch 3) First programmers communicated using binary numbers – represents the instruction to add two numbers together Programs invented to translate symbols to binary –Assembler –Less tedious and more readable –add A,B

5 Language of the Machine Eventually, higher level languages invented that translated from higher level notations –Compiler Program that accepts the more natural notation –Fortran was invented in 1954 Benefits –Allow programmers to think in more natural language –Languages could be designed according to their intended use Fortran for scientific computing –Improve productivity of the programmers –Code portable between different platforms

6 Language of the Machine Libraries of code developed –Reusing code more efficient than writing everything from scratch –Subroutines for inputting and outputting data one of the first libraries Operating systems were then developed to supervise the running of programs and allocate resources to the programs Categories of software –Systems software – aimed at programmers OS, assembler, compiler –Application software – aimed at users Spread sheets, text editors

7 Instruction Set Architecture Instruction set architecture has the attributes of a computing system as seen by the assembly language programmer or compiler. This includes –Instruction Set (what operations can be performed?) –Instruction Format (how are instructions specified?) –Data storage (where is data located?) –Addressing Modes (how is data accessed?) –Exceptional Conditions (what happens if something goes wrong?) A good understanding of computer architecture is important for compiler writers, operating system designers, and general computer programmers.

8 Instruction Set Architecture An abstract interface between the hardware and the lowest level software of a machine that encompasses all the information necessary to write a machine language program that will run correctly, including instructions, registers, memory access, I/O, and so on.

9 Key considerations in “Computer Architecture” I/O systemInstr. Set Proc. Compiler Operating System Application Digital Design Circuit Design Instruction Set Architecture Firmware Coordination of many levels of abstraction Under a rapidly changing set of forces Design, Measurement, and Evaluation Datapath & Control Layout Software Hardware

10 Moore’s Law In 1965, Gordon Moore predicted that the number of transistors that can be integrated on a die would double every 18 to 24 months (i.e., grow exponentially with time).

11 Processor Performance Increase SUN-4/260MIPS M/120 MIPS M2000 IBM RS6000 HP 9000/750 DEC AXP/500 IBM POWER 100 DEC Alpha 4/266 DEC Alpha 5/500 DEC Alpha 21264/600 DEC Alpha 5/300 DEC Alpha 21264A/667 Intel Xeon/2000 Intel Pentium 4/3000

12 DRAM Capacity Growth 16K 64K 256K 1M 4M 16M 64M 128M 256M 512M

13 Abstraction An Abstraction has levels. Delving into the depths of these levels reveals more information. An abstraction omits unneeded detail, helps us cope with complexity. Abstraction is the approach used in the design of software and hardware. An abstraction system consists of hierarchical levels with each lower level hiding details from the level above.

14 Levels of abstraction Computer architecture uses various levels of abstractions. Each level of abstraction consists of –an interface (outside view of what it does), and –an implementation (inside view of how it works) A B Y S 2 x 1 Mux A B S NAND Y Interface Implementation

15 Instruction Set Architecture: An Abstraction A very important abstraction –interface between hardware and low-level software –standardizes instructions, machine language bit patterns, etc. –advantage: different implementations of the same architecture –disadvantage: sometimes prevents using new innovations Modern instruction set architectures: 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP

16 Application of Abstraction: A Hierarchical Layer of Computer Languages High Level Language Program Assembly Language Program Machine Language Program Control Signal Specification Compiler Assembler Machine Interpretation lw$15,0($2) lw$16,4($2) sw$16,0($2) sw$15,4($2) °°°° ALUOP[0:3] <= InstReg[9:11] & MASK

17 The Organization of a Computer Since 1946 all computers have had 5 main components Control Datapath Memory Processor Input Output

18 The Organization of a Computer Processor: –Data path - to do arithmetic and logic: e.g. adders, multipliers, shifters –Control - to give directions to the other components: e.g. tells the data path, memory, and IO devices what to do according to the instructions of the program Memory: Holds data and instructions: e.g. cache, main memory, disk. Input: Sends data to the computer: e.g. keyboard, mouse. Output: Gets data from the computer: e.g. screen, sound card, printer.

19 Inside the Pentium 4 Processor Chip

20 PC Motherboard Closeup

21 Instruction Execution Instruction Fetch Instruction Decode Operand Fetch Execute Result Store Next Instruction Obtain instruction from program storage Determine required actions and instruction size Locate and obtain operand data Compute result value or status Deposit results in storage for later use Determine successor instruction

22 Summary Computer Architecture includes the design of the Instruction Set Architecture (programmer’s view) and the Machine Organization (logic designer’s view). Levels of abstraction, which consist of an interface and an implementation are useful to manage designs. Processor performance increases rapidly, but the speeds of memory and I/0 have not kept pace. Computer systems are comprised on datapath, memory, input devices, output devices, and control.

23 Where we are headed Instructions: Language of the machine (chapter 3) The role of performance (chapter 2) Arithmetic and how to build an ALU (Chapter 4) The basics of logical design (Appendix B) Processor: data path and control (Chapter 5) Memory: caches and virtual memory (Chapter 7)

24 MIPS R3000 Instruction Set Architecture (Summary) Instruction Categories –Load/Store –Computational –Jump and Branch –Floating Point –Memory Management –Special R0 - R31 PC HI LO OP rs rt rdsafunct rs rt immediate jump target 3 Instruction Formats: all 32 bits wide

25 Application of Abstraction: Hierarchical Layers of Computer Systems Application Programs Operating Systems Interface Input / Output devices Processors Register Transfer Logical Components Electronic Components

26 The Instruction Set: a Critical Interface instruction set software hardware