How What When Why CSC3501 FALL07 CSC3501 FALL07. Louisiana State University 1- Introduction - 1. Louisiana State University 1- Introduction - 2

Similar documents
CSE : Introduction to Computer Architecture

EEM 486: Computer Architecture

Course Outline. Introduction. Intro Computer Organization. Computer Science Dept Va Tech January McQuain & Ribbens

Course Outline. Overview 1. I. Introduction II. Performance Evaluation III. Processor Design and Analysis. IV. Memory Design and Analysis

Computer Architecture. Fall Dongkun Shin, SKKU

Handouts. (CSC-3501) Lecture 1 (15 Jan 2008) Seung-Jong Park (Jay) Class information. Schedule (check online frequently)

CISC 360. Computer Architecture. Seth Morecraft Course Web Site:

Computer Architecture s Changing Definition

Outline Marquette University

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture

Fundamentals of Computer Design

Computer Architecture. Introduction. Lynn Choi Korea University

ECE369: Fundamentals of Computer Architecture

Evolution of Computers & Microprocessors. Dr. Cahit Karakuş

EECS4201 Computer Architecture

Fundamentals of Computers Design

CS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)

ECE 468 Computer Architecture and Organization Lecture 1

Computer Architecture Computer Architecture. Computer Architecture. What is Computer Architecture? Grading

Computer Architecture

Chapter 1. Introduction To Computer Systems

When and Where? Course Information. Expected Background ECE 486/586. Computer Architecture. Lecture # 1. Spring Portland State University

Alex Milenkovich 1 CPE 323. CPE 323 Introduction to Embedded Computer Systems: Introduction. Instructor: Dr Aleksandar Milenkovic Lecture Notes

CPE/EE 421 Microcomputers

Computer Architecture

CPS104 Computer Organization Lecture 1

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 1. Computer Abstractions and Technology

Advanced Computer Architecture (CS620)

Computer Architecture

EECS2021. EECS2021 Computer Organization. EECS2021 Computer Organization. Morgan Kaufmann Publishers September 14, 2016

CS Computer Architecture

Computer Architecture!

CPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner

CS/EE 6810: Computer Architecture

Computer Architecture Review. ICS332 - Spring 2016 Operating Systems

Thomas Polzer Institut für Technische Informatik

EE282H: Computer Architecture and Organization. EE282H: Computer Architecture and Organization -- Course Overview

CS Computer Architecture Spring Lecture 01: Introduction

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 1. Computer Abstractions and Technology

Computer Architecture

ECE 154A. Architecture. Dmitri Strukov

7/28/ Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc Prentice-Hall, Inc.

From CISC to RISC. CISC Creates the Anti CISC Revolution. RISC "Philosophy" CISC Limitations

Computer Architecture!

EECE 321: Computer Organization

EITF20: Computer Architecture Part1.1.1: Introduction

ECE 15B COMPUTER ORGANIZATION

COMPUTER ARCHITECTURE

The Computer Revolution. Classes of Computers. Chapter 1

CpE 442 Introduction To Computer Architecture Lecture 1

Alex Milenkovich 1. CPE/EE 421 Microcomputers. CPE/EE 421 Microcomputers U A H U A H U A H. Instructor: Dr Aleksandar Milenkovic Lecture Notes S01

Advanced Computer Architecture

Introduction to Microprocessor

Computer Architecture!

PERFORMANCE METRICS. Mahdi Nazm Bojnordi. CS/ECE 6810: Computer Architecture. Assistant Professor School of Computing University of Utah

Figure 1-1. A multilevel machine.

ECE232: Hardware Organization and Design

Chapter 1. Computer Abstractions and Technology

Course overview Computer system structure and operation

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

CS6303 Computer Architecture Regulation 2013 BE-Computer Science and Engineering III semester 2 MARKS

IT 252 Computer Organization and Architecture. Introduction. Chia-Chi Teng

Fundamentals of Computer Design

Computer Architecture, RISC vs. CISC, and MIPS Processor

Instructor Information

CSE 141: Computer Architecture. Professor: Michael Taylor. UCSD Department of Computer Science & Engineering

CPS 303 High Performance Computing. Wensheng Shen Department of Computational Science SUNY Brockport

ENIAC - background. ENIAC - details. Structure of von Nuemann machine. von Neumann/Turing Computer Architecture

COMPUTER ARCHITECTURE AND OPERATING SYSTEMS (CS31702)

EE282 Computer Architecture. Lecture 1: What is Computer Architecture?

EECS2021E EECS2021E. The Computer Revolution. Morgan Kaufmann Publishers September 12, Chapter 1 Computer Abstractions and Technology 1

Fundamentals of Quantitative Design and Analysis

Management Information Systems OUTLINE OBJECTIVES. Information Systems: Computer Hardware. Dr. Shankar Sundaresan

ECE 2162 Intro & Trends. Jun Yang Fall 2009

What is Computer Architecture?

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 1. Computer Abstractions and Technology

Lecture 1: Introduction

EECE 417 Computer Systems Architecture

Computer Architecture. R. Poss

CS 5803 Introduction to High Performance Computer Architecture: RISC vs. CISC. A.R. Hurson 323 Computer Science Building, Missouri S&T

Chapter 1. and Technology

Cycles Per Instruction For This Microprocessor

EE382 Processor Design. Class Objectives

Alternate definition: Instruction Set Architecture (ISA) What is Computer Architecture? Computer Organization. Computer structure: Von Neumann model

Modern Computer Architecture (Processor Design) Prof. Dan Connors

Copyright 2012, Elsevier Inc. All rights reserved.

Parallel Computer Architecture

Even coarse architectural trends impact tremendously the design of systems

14:332:331. Lecture 1

Computer & Microprocessor Architecture HCA103

Parallelism and Concurrency. COS 326 David Walker Princeton University

SYSTEM BUS AND MOCROPROCESSORS HISTORY

Chapter 2 Lecture 1 Computer Systems Organization

Chapter 2. Perkembangan Komputer

Chapter 1. The Computer Revolution

CS3350B Computer Architecture CPU Performance and Profiling

New Advances in Micro-Processors and computer architectures

ECE 486/586. Computer Architecture. Lecture # 2

Computer Organization

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

Transcription:

Computer Organization and Design Dr. Arjan Durresi Louisiana State University Baton Rouge, LA 70803 durresi@csc.lsu.edu d These slides are available at: http://www.csc.lsu.edu/~durresi/csc3501_07/ Louisiana State University 1- Introduction - 1 Overview How What When Why Louisiana State University 1- Introduction - 2

Overview How am I going to grade you? What are we going to cover? When are you going to do it? Why you should take this course? Louisiana State University 1- Introduction - 3 Grading Learning-centered course: The first priority: Maximize learning Your grade will depend on how much you have learned 3 Quizzes (2 best out of three) 55% Activity in the class (15%) Questions and discussions in class give you points and improve the quality of teaching Homework (30%) Louisiana State University 1- Introduction - 4

Frequently Asked Questions Yes, I do use curve. Your grade depends upon the performance of the rest of the class. All homeworks are due at the beginning g of the next class. All late submissions must be preapproved. All quizzes are open-book and extremely time limited. Quizzes consist of numerical as well as multiple-choice (true-false) questions. There is negative grading on incorrect multiple-choice questions. Louisiana State University 1- Introduction - 5 What Is This Course About? Understanding of basic issues, concepts, principles of Computer Architecture. Organizational paradigms that determine: Capabilities, Performance and the Success Relationship between hardware and software Focus on the concepts that are the basis of current computers. Louisiana State University 1- Introduction - 6

Text Book David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface," Third Edition, 2005, ISBN:1-55860-604-1. This book is very comprehensive. I will follow it as much as possible. Louisiana State University 1- Introduction - 7 Office Hours Tuesday and Thursday: 3:00 to 4:00 PM and by appointments Office: 291 Coates Hall Telephone: (225)-578-3902 Email: durresi@csc.lsu.edu Course web page: http://www.csc.lsu.edu/ edu/~durresi/csc3501_0707 GTA: Email: Louisiana State University 1- Introduction - 8

Introduction This course is all about how computers work But what do we mean by a computer? Different types: desktop, servers, embedded devices Different uses: automobiles, graphics, finance, genomics Different manufacturers: Intel, Apple, IBM, Microsoft, Sun Different underlying technologies and different costs! Analogy: Consider a course on automotive vehicles Many similarities from vehicle to vehicle (e.g., wheels) Huge differences from vehicle to vehicle (e.g., gas vs. electric) Best way to learn: Focus on a specific instance and learn how it works While learning general principles and historical perspectives Louisiana State University 1- Introduction - 9 Course Outline Course overview and topics Introduction to Computer Architecture Instruction Set Architecture ctur Arithmetic for Computers Performance of Computer Systems Basics of Digital Logic Design Register Files and Memory ALU Design Designing of MIPS Processor (Single-Cycle) Designing of MIPS Processor (Multi-Cycle) Pipelining Memory Hierarchy Louisiana State University 1- Introduction - 10

Why learn this stuff? You want to call yourself a computer scientist You want to build software people use (need performance) You need to make a purchasing decision or offer expert advice Both Hardware and Software affect performance: Algorithm determines number of source-level statements Language/Compiler/Architecture determine machine instructions (Chapter 2 and 3) Processor/Memory determine how fast instructions are executed (Chapter 5, 6, and 7) Assessing and Understanding Performance in Chapter 4 Louisiana State University 1- Introduction - 11 What is a computer? Components: input (mouse, keyboard) output (display, printer) memory (disk drives, DRAM, SRAM, CD) network Our primary focus: the processor (datapath and control) implemented using millions of transistors Impossible to understand by looking at each transistor We need... Louisiana State University 1- Introduction - 12

Abstraction Delving into the depths reveals more information An abstraction omits unneeded detail, helps us cope with complexity What are some of the details that appear in these familiar abstractions? Louisiana State University 1- Introduction - 13 How do computers work? Need to understand abstractions such as: Applications software Systems software Assembly Language Machine Language Architectural Issues: i.e., Caches, Virtual Memory, Pipelining Sequential logic, finite state machines Combinational logic, arithmetic circuits Boolean logic, 1s and 0s Transistors used to build logic gates (CMOS) Semiconductors/Silicon used to build transistors Properties of atoms, electrons, and quantum dynamics So much to learn! Louisiana State University 1- Introduction - 14

Forces on Computer Architecture Technology Programming Languages Applications Computer Architecture Operating Systems History (A = F / M) Louisiana State University 1- Introduction - 15 Amazing Underlying Technology Change Louisiana State University 1- Introduction - 16

Historical Perspective ENIAC built in World War II was the first general purpose computer Used for computing artillery firing tables 80 feet long by 8.5 feet high and several feet wide Each of the twenty t 10 digit it registers was 2 feet long Used 18,000 vacuum tubes Performed 1900 additions per second Since then: Moore s Law: transistor t capacity doubles every 18-24 months Louisiana State University 1- Introduction - 17 Below Your Program Louisiana State University 1- Introduction - 18

Operating System Handling basic input and output operations Allocating storage and memory Providing for sharing the computer among multiple applications using it simultaneously Louisiana State University 1- Introduction - 19 Below Your Program High level languages: 1)Allow to think in a more natural way 2) Improve programmer productivity 3) Allows programs to be independent of the computer Louisiana State University 1- Introduction - 20

Computer Organization The five classic components: 1) Input, 2) Output, 3) Memory, 4) Datapath 5) Control Louisiana State University 1- Introduction - 21 Inside Pentium 4 Louisiana State University 1- Introduction - 22

Communicating with other computers Networks are the backbone of the current computing system Information is exchanged among computers at high speed Resource sharing. Especially expensive resources. Nonlocal access. Freedom for users Optical, wireless Louisiana State University 1- Introduction - 23 The Chip Manufacturing Process Louisiana State University 1- Introduction - 24

An 8-inch wafer containing Pentium 4 processors Louisiana State University 1- Introduction - 25 Pentium 4 Processor Louisiana State University 1- Introduction - 26

Measurement and Evaluation Architecture is an iterative process Design -- searching the space of possible designs -- at all levels of computer systems Analysis Creativity Cost / Performance Analysis Bad Ideas Good Ideas Mediocre Ideas Louisiana State University 1- Introduction - 27 What is Computer Architecture? Application Compiler Instr. Set Proc. Operating System Firmware I/O system Instruction Set Architecture Datapath & Control Digital Design Circuit Design Layout Coordination of many levels of abstraction Under a rapidly changing set of forces Design, Measurement, and Evaluation Louisiana State University 1- Introduction - 28

Computer Architecture A modern meaning of the term computer architecture covers three aspects of computer design: instruction set architecture, computer organization and computer hardware. Instruction Set Architecture - ISA refers to the actual programmer-visible machine interface such as instruction set, registers, memory organization and exception handling. Two main approaches: RISC and CISC architectures. A computer organization and computer hardware are two components of the implementation of a machine. Louisiana State University 1- Introduction - 29 Computer Architecture Computer organization includes the high-level aspects of a design, such as the memory system, the bus structure, and the design of the internal CPU (where arithmetic, logic, branching and data transfers are implemented). Computer hardware refers to the specifics of a machine, included the detailed logic design and the packaging technology of the machine. For many years the interaction between ISA and implementations was believed to be small, and implementation issues were not a major focus in designing instruction set architecture. In the 1980 s, it becomes clear that both the difficulty and inefficiency of pipelining could be increased by instruction set architecture complications. Louisiana State University 1- Introduction - 30

Tasks of Computer Architects Computer architects must design a computer to meet functional requirements as well as price, power, and performance goals. Often, they also have to determine what the functional requirements are, which can be a major task. Once a set of functional requirements has been established, the architect must try to optimize the design. Here are three major application areas and their main requirements: Desktop computers: focus on optimizing costperformance as measured by a single user, with little regard for program size or power consumption, Server computers focus on availability, scalability, and throughput cost-performance, Embedded computers driven by price and often power issues, plus code size is important. Louisiana State University 1- Introduction - 31 Classes of Computing Louisiana State University 1- Introduction - 32

Major Architectures Louisiana State University 1- Introduction - 33 Rapid Rate of Improvements Now, less than one thousand dollars purchases a personal computer that has more performance, more main memory, and more disk storage than a computer bought in 1980 for one million dollars. For many applications, the highestperformance microcomputers of today outperform the supercomputers of less than 10 years ago. This rapid rate of improvement has come from two forces: technology used to build computers and innovations in computer design. Louisiana State University 1- Introduction - 34

Growth of capacity per DRAM chip over time Louisiana State University 1- Introduction - 35 Performance of Workstations Louisiana State University 1- Introduction - 36

A take on Moore s Law 100,000,000 Bit-level parallelism Instruction-level Thread-level (?) Transistors 10,000,000 1,000,000 100,000 i80286 R10000 Pentium i80386 R2000 R3000 i8086 10,000 i8080 i8008 i4004 1,000 1970 1975 1980 1985 1990 1995 2000 2005 Louisiana State University 1- Introduction - 37 Clock Rate: Technology Trends ~30% per year Transistor Density: ~35% Chip Area: ~15% Transistors per chip: ~55% Total Performance Capability: ~100% by the time you graduate... 3x clock rate (4-6 GHz) 10x transistor count (1 Billion transistors) 30x raw capability plus 16x dram density, 32x disk density Louisiana State University 1- Introduction - 38

Performance Trends 100 Supercomputers 10 Performance 1 Mainframes Minicomputers Microprocessors 0.1 1965 1970 1975 1980 1985 1990 1995 Louisiana State University 1- Introduction - 39 Technology Trends Integrated circuit logic technology a growth in transistor count on chip of about 55% per year. Semiconductor RAM density increases by 40% to 60% per year, while cycle time has improved very slowly, decreasing by about one-third in 10 years. Cost has decreased at rate about the rate at which density increases. Magnetic disc technology disk density has been recently improving more then 100% per year, while prior to 1990 about 30% per year. Network technology Latency and bandwidth are important, though recently bandwidth has been primary focus. Internet infrastructure in the U.S. has been doubling in bandwidth every year. Louisiana State University 1- Introduction - 40

Developments in Computer Design During the first 25 years of electronic computers both forces, technology and innovations in computer design made major contributions. Then, during the 1970 s, computer designers were largely dependent upon integrated circuit technology, with roughly 35% growth per year in processor performance. In the last 20 year, the combination of innovations in computer design and improvements in technology has led sustained growth in performance at an annual rate of over 55%. In this period, the main source of innovations in computer design has come from RISCstyle pipelined processors. Louisiana State University 1- Introduction - 41 Growth in Microprocessor Performance Louisiana State University 1- Introduction - 42

RISC Architecture After 1985, any computer announced has been of RISC architecture. RISC designers focused on two critical ii performance techniques hi in computer design: the exploitation of instruction-level parallelism, first through pipelining and later through multiple instruction issue, the use of cache, first in simple forms and later using sophisticated organizations and optimizations. Louisiana State University 1- Introduction - 43 RISC ISA Characteristics All operations on data apply to data in registers and typically change the entire register; The only operations that affect memory are load and store operations that move data from memory to a register or to memory from a register, respectively; A small number of memory addressing modes; The instruction formats are few in number with all instructions typically being one size; Large number of registers; These simple properties lead to dramatic simplifications in the implementation of advanced pipelining techniques, which is why RISC architecture instruction sets were designed this way. Louisiana State University 1- Introduction - 44

RISC and CISC Architecture RISC Reduced Instruction Set Computer CISC Complex (and Powerful) Instruction Set Computer What does MIPS stand for? Answer: Microprocessor without Interlocked Pipeline Stages. MIPS processor is one of the first RISC processors. Again, all processors announced after 1985 have been of RISC architecture. What is the main example of CISC architecture processor? Answer: Intel IA-32 processors (in over 90% computers). Intel IA-32 processors, from 80386 processor in early 80 s to Pentium IV today, and the next one to be introduced this or next year, are of CISC architecture. All Intel IA-32 processors are having as a base the Identical instruction set architecture designed in early 1980 s. Louisiana State University 1- Introduction - 45 Intel IA-32 Processors The improvements in technology have allowed the latest Intel IA-32 processors (of CISC architecture) to adopt many innovations first pioneered in the RISC design. Since 1995, Pentium processors consist of a front end processor and a RISC-style processor. The front end processor fetches and decodes Intel IA-32 complex instructions and maps them into microinstructions. A microinstruction is a simple instruction used in sequence to implement a more complex instruction. Microinstructions look very much as RISC instructions. Then, the RISC-style processor executes microinstructions. ons. As a transistor counts soured, the overhead (in transistors) of interpreting the more complex IA-32 architecture becomes negligible. Louisiana State University 1- Introduction - 46

VAX vs. MIPS processors This graph compares results of VAX 8700 (CISC) and MIPS M2000 (RISC) processors that execute nine programs from SPEC89 benchmarks. CPU time = Instruction_ count * CPI / Clock_ rate Louisiana State University 1- Introduction - 47 Comparison of VAX and MIPS processors The graph indicates that, on average, MIPS executed about twice as many instructions as VAX. (Bad for MIPS) The graph indicates that, on average, the CPI for the VAX was about six times larger than that for MIPS. (Bad for VAX) CPI the average number of clock cycles per instruction CPI = CPU_clock_cycles_for_a_program Instruction_count CPU time a time to execute a given program CPU time = Instruction_count *CPI Clock_rate Since clock rates were identical, MIPS had almost three times better performance (measured by CPU time) than VAX. Louisiana State University 1- Introduction - 48

Summary There will be a lot of self-reading Get ready to work hard Louisiana State University 1- Introduction - 49 Thank You! Louisiana State University 1- Introduction - 50