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

Similar documents
Computer Organization CS 206T

Introduction. Outline. 1.1 Overview. 1.1 Overview

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

CS430 - Computer Architecture William J. Taffe Fall 2002 using slides from. CS61C - Machine Structures Dave Patterson Fall 2000

CS61C Machine Structures. Lecture 1 Introduction. 8/25/2003 Brian Harvey. John Wawrzynek (Warznek) www-inst.eecs.berkeley.

ELEC 5200/6200. Computer Architecture & Design. Victor P. Nelson Broun 326

CHAPTER 1 Introduction

HISTORY OF COMPUTERS HISTORY OF COMPUTERS. Mesleki İngilizce - Technical English. Punch Card. Digital Data. II Prof. Dr. Nizamettin AYDIN.

CHAPTER 1 Introduction

CC312: Computer Organization

CSE : Introduction to Computer Architecture

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

EEM 486: Computer Architecture

Computing is not about computers anymore. It is about living. We have seen computers move out of giant airconditioned rooms into closets, then onto

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

Chapter 1 1/8/2019. Introduction. Objectives. 1.1 Overview (1 of 2)

Lecture Topics. Announcements. Today: The MIPS ISA (P&H ) Next: continued. Milestone #1 (due 1/26) Milestone #2 (due 2/2)

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013

Intro to Math 230 Assembly Language Programming. Lecture # 01 01/15/08

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

Computer Architecture

Computer Systems. Hardware, Software and Layers of Abstraction

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

Computer System architectures

ECE 15B COMPUTER ORGANIZATION

Instructors. ECE 152 Introduction to Computer Architecture. Undergrad Teaching Assistants. Course Website. Textbook.

Are Computers Smart? To a programmer: Lecture #1 Introduction & Numbers Andy Carle. Are Computers Smart? What are Machine Structures?

EECE 321: Computer Organization

Computer Architecture. Fall Dongkun Shin, SKKU

Figure 1-1. A multilevel machine.

CS61C : Machine Structures

Computer Systems Architecture

CS61C : Machine Structures

What are Machine Structures? Lecture 1 Introduction C. * Coordination of many. levels (layers) of abstraction

levels (layers) of abstraction

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

Overview of Computer Organization. Outline

CS64 Computer Organization

Computers in Engineering COMP 208. A Brief History. Mechanical Calculators. A Historic Perspective Michael A. Hawker

Computers in Engineering COMP 208

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

Overview of Computer Organization. Chapter 1 S. Dandamudi

Computer & Microprocessor Architecture HCA103

EEC170 Computer Architecture. Lecture 1: Introduction to Computer Architecture

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

Computer Organization

Computer Organization + DIGITAL DESIGN

CPS104 Computer Organization Lecture 1

CS61C : Machine Structures

levels (layers) of abstraction I stand on the shoulders of giants Lecture #1 Introduction Are Computers Smart? Where does CS61C fit in?

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

Chapter 2. OS Overview

Chapter 2. Perkembangan Komputer

Chronological History of the Pre-Computer Developments

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

CS61C : Machine Structures

Computer Architecture. Introduction. Lynn Choi Korea University

ECE 154A. Architecture. Dmitri Strukov

CMSC 611: Advanced Computer Architecture

Chapter 1 Basic Computer Organization

Computer Evolution. Budditha Hettige. Department of Computer Science

Evolution of the Computer

time step first instruction second instruction

Overview of a computer

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

Chapter 1: Introduction to Computers

CS Computer Architecture

Computer Systems. Computer Systems. Wolfgang Schreiner Research Institute for Symbolic Computation (RISC-Linz) Johannes Kepler University

Chapter 1: Introduction to Computers. In this chapter you will learn about:

1DT157 Digitalteknik och datorarkitekt. Digital technology and computer architecture, 5p

Introduction To Computers. About the Course

Computer Architecture s Changing Definition

ECE 250 / CPS 250 Computer Architecture. Introduction

CS61C : Machine Structures

CS61C : Machine Structures

Computer Evolution. Computer Generation. The Zero Generation (3) Charles Babbage. First Generation- Time Line

2011 Francisco Delgadillo

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 2 Computer Evolution and Performance

Learning Objectives. In this chapter you will learn about:

Microprocessors I MICROCOMPUTERS AND MICROPROCESSORS

URL: Offered by: Should already know: Will learn: 01 1 EE 4720 Computer Architecture

Computer Organization. 8 th Edition. Chapter 2 p Computer Evolution and Performance

Introduction to Computer Science. What is Computer Science?

Welcome to COS151! 1.1

CPE300: Digital System Architecture and Design

Instructor. ECE 152 Introduction to Computer Architecture. Course Website. Undergrad Teaching Assistants

Announcement. Computer Architecture (CSC-3501) Lecture 25 (24 April 2008) Chapter 9 Objectives. 9.2 RISC Machines

History. 3rd Generation- Integrated Circuits, Transistors (Integrated Circuit form) for Memory ( memory is now volatile), Terminal/Keyboard for I/O

Computer Architecture

CS 3410: Computer System Organization and Programming

COURSE OVERVIEW. Introduction to Computer Engineering 2015 Spring by Euiseong Seo

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

CS Computer Architecture Spring Lecture 01: Introduction

Evolution of Computers & Microprocessors. Dr. Cahit Karakuş

CSE 141 Computer Architecture Spring Lecture 3 Instruction Set Architecute. Course Schedule. Announcements

CPE300: Digital System Architecture and Design. Fall 2011 MW 17:30-18:45 CBC C316

URL: Offered by: Should already know: Will learn: 01 1 EE 4720 Computer Architecture

Chapter 1 Introduction. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Microprocessor. Dr. Rabie A. Ramadan. Al-Azhar University Lecture 1

Fundamentals of Computer Design

Transcription:

Computer Architecture (CSC-3501) Lecture 1 (15 Jan 2008) Seung-Jong Park (Jay) http://www.csc.lsu.edu/~sjpark 1 Handouts Class information http://www.csc.lsu.edu/~sjpark/cs3501/overview.html Schedule (check online frequently) http://www.csc.lsu.edu/~sjpark/cs3501/schedule.html 2 1

Goals of CSC-3501 Principles on Computer Architecture From hardware to software Topics Computer history Boolean algebra and digital logic Components of computer CPU, BUS, Clock, I/O, Memory Instruction set architecture Memory & Cache I/O & Storage CISC vs RISC Performance measurement Networks 3 Administrative Information Seung-Jong Park Room 289, Coates Hall Email : sjpark at csc.lsu.edu Office hours: Tue, Thr: 3:00pm-4:30pm Class website http://www.csc.lsu.edu/~sjpark TA TBA TA hour(2 hours per week officially, additional hours need appointment with TA) and place will be announced soon 4 2

Policies Lecture slides will be available on website before the day of class Lecture slides are NOT comprehensive students are expected to attend classes to fill in information Miss classes at your own risk. Professor and TAs will NOT be responsible for any information you might not have because of a missed class Zero tolerance policy toward cheating 5 Textbook Textbook Computer Organization and Architecture written by Linda Null and Julia Lobur Recommended reading texts Structured Computer Organization Written by Tanenbaum Additional reading list will be available on website 6 3

Grading Exams 1 midterm (1 x 25% = 25%) 1 final (1 x 30% = 30%) Homework 10 Homework (10 x 3% = 30%) Quiz 10 Pop quizzes (10 x 1% = 10%) Each quiz has 3 5 questions to check whether students understand the content s of class Class points Attendance & Interaction in class (1 x 5% = 5%) 7 Chapter 1 4

The Goal of Chapter 1 Know the difference between computer organization and computer architecture. Appreciate the evolution of computers. Understand the computer as a layered system. Be able to explain the von Neumann architecture and the function of basic computer components. 9 Why do we learn this stuff? You want to call yourself a computer scientist You want to build software which 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 Processor/Memory determine how fast instructions are executed AT LEAST, Know how to order components of a computer when you order it (Go to Dell.com ) 10 5

Overview Computer organization Encompasses all physical aspects of computer systems. E.g., circuit design, control signals, memory types. How does a computer work? Computer architecture Logical aspects of system implementation as seen by the programmer. E.g., instruction sets, instruction formats, data types, addressing modes. How do I design a computer? BUT, there is no clear distinction between matters related to computer organization and matters relevant to computer architecture. 11 Computer Organization Components: input (mouse, keyboard), output, (display, printer), memory (disk drives, DRAM, SRAM, CD), network Our primary focus: the processor (datapath th and control) implemented using millions of transistors Impossible to understand by looking at each transistor Computer Processor Control ( brain ) Datapath ( brawn ) Memory (where programs, data live when running) Devices Input Output Keyboard, Mouse Disk (where programs, data live when not running) Display, Printer 6

Computer Architecture Software Hardware Application (ex: browser) Compiler Assembler Operating System (Mac OSX) Processor Memory I/O system Datapath & Control Digital Design Circuit Design transistors CSC3501 Instruction Set Architecture * Coordination of many levels (layers) of abstraction 13 Instruction Set Architecture 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 True or False: Binary compatibility is extraordinarily important? Modern instruction set architectures: IA-32, PowerPC, MIPS, SPARC, ARM, and others Execute binary executable codes at different machines 7

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! 15 Different Levels of Representation High Level Language Program (e.g., C) Compiler Assembly Language Program (e.g.,mips) Assembler Machine Language Program (binary) Machine Interpretation Hardware Architecture Description (Logic, Logisim, etc.) Architecture Implementation Logic Circuit Description (Logisim, etc.) temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 16 8

Computer Level Hierarchy Each virtual machine layer is an abstraction of the level below it. The machines at each level execute their own particular instructions, calling upon machines at lower levels to perform tasks as required. Computer circuits ultimately carry out the work. 17 Level 6: The User Level Program execution and user interface level. The level with which we are most familiar. Level 5: High-Level Language Level The level with which we interact when we write programs in languages such as C, Pascal, Lisp, and Java. Level 4: Assembly Language Level Acts upon assembly language produced from Level 5, as well as instructions programmed directly at this level. Level 3: System Software Level Controls executing processes on the system. Protects system resources. Assembly language instructions often pass through Level 3 without modification. Level 2: Machine Level Also known as the Instruction Set Architecture (ISA) Level. Consists of instructions that are particular to the architecture of the machine. Programs written in machine language need no compilers, interpreters, or assemblers. 18 9

Level 1: Control Level A control unit decodes and executes instructions and moves data through the system. Control units can be microprogrammed or hardwired. A microprogram is a program written in a low-level language that is implemented by the hardware. Hardwired control units consist of hardware that directly executes machine instructions. Level 0: Digital Logic Level This level is where we find digital circuits (the chips). Digital circuits consist of gates and wires. These components implement the mathematical logic of all other levels. 19 Historical Development To fully appreciate the computers of today, it is helpful to understand how things got the way they are. The evolution of computing machinery has taken place over several centuries. In modern times computer evolution is usually classified into four generations according to the salient technology of the era. 20 10

Generation Zero Mechanical Calculating Machines (1642-1945) Calculating Clock - Wilhelm Schickard (1592-1635). Pascaline - Blaise Pascal (1623-1662). Difference Engine - Charles Babbage (1791-1871), also designed but never built the Analytical Engine. Punched card tabulating machines - Herman (1860-1929). 21 1 st Generation Vacuum Tube Computers (1945-1953) Atanasoff Berry Computer (1937-1938) solved systems of linear equations. John Atanasoff and Clifford Berry of Iowa State University Electronic Numerical Integrator and Computer (ENIAC) The first general-purpose computer. John Mauchly and J. Presper Eckert University of Pennsylvania, 1946 22 11

2 nd Generation Transistorized Computers (1954-1965) IBM 7094 (scientific) and 1401 (business) Digital Equipment Corporation (DEC) PDP-1 Univac 1100 Control Data Corporation 1604.... and many others. 23 3 rd Generation Integrated Circuit Computers (1965-1980) IBM 360 DEC PDP-8 and PDP-11 Cray-1 supercomputer... and many others. By this time, IBM had gained overwhelming dominance in the industry. Computer manufacturers of this era were characterized as IBM and the BUNCH (Burroughs, Unisys, NCR, Control Data, and Honeywell). 24 12

4 th Generation VLSI Computers (1980 -????) Very large scale integrated circuits (VLSI) have more than 10,000 components per chip. Enabled the creation of microprocessors. The first was the 4-bit Intel 4004. Later versions, such as the 8080, 8086, and 8088 spawned the idea of personal computing. 25 Technology Trends: Memory Capacity (Single-Chip DRAM)size 1000000000 year size (Mbit) 100000000 10000000 1000000 100000 10000 1000 1980 0.0625 1983 025 0.25 1986 1 1989 4 1992 16 1996 64 1998 128 2000 256 2002 512 1970 1975 1980 1985 1990 1995 2000 Year Now 1.4X/yr, or 2X every 2 years. 8000X since 1980! 26 13

Technology Trends: Microprocessor Complexity 100000000 10000000 1000000 100000 10000 i8080 i4004 1000 Moore s Law i80486 i80386 i80286 i8086 Pentium 1970 1975 1980 1985 1990 1995 2000 Year Itanium 2: 41 Million Athlon (K7): 22 Million Alpha 21264: 15 million Pentium Pro: 5.5 million PowerPC 620: 6.9 million Alpha 21164: 9.3 million Sparc Ultra: 5.2 million 2X transistors/chip Every 1.5 years Called Moore s Law 27 ure Per rformance meas Technology Trends: Processor Performance 900 800 1.54X/yr 700 600 500 400 300 200 100 IBM POWER 100 0 87 88 89 90 91 92 93 94 95 96 97 year Intel P4 2000 MHz (Fall 2001) 800 DEC Alpha 21264/600 DEC Alpha 5/500 DEC Alpha 5/300 DEC Alpha 4/266 28 14

Computer Technology - Dramatic Change! Memory DRAM capacity: 2x / 2 years (since 96); 64x size improvement in last decade. Processor Speed 2x / 1.5 years (since 85); 100X performance in last decade. Disk Capacity: 2x / 1 year (since 97) 250X size in last decade. 29 Computer Technology - Dramatic Change! State-of-the-art PC when you graduate: (at least ) Processor clock speed: 5000 MegaHertz e (5.0 GigaHertz) Memory capacity: 8000 MegaBytes (8.0 GigaBytes) Disk capacity: 2000 GigaBytes (2.0 TeraBytes) New units! Mega => Giga, Giga => Tera (Tera => Peta, Peta => Exa, Exa => Zetta Zetta => Yotta = 10 24 ) 30 15

The Von Neumann Model Non-Von Neumann Model On the ENIAC, all programming was done at the digital logic level. Programming g the computer involved moving plugs and wires. A different hardware configuration was needed to solve every unique problem type. Configuring the ENIAC to solve a simple problem required many days labor by skilled technicians. => So painful jobs Von Neumann Model Inventors of the ENIAC, John Mauchley and J. Presper Eckert, conceived of a computer that could store instructions in memory. The invention of this idea has since been ascribed to a mathematician, ti i John von Neumann, who was a contemporary of Mauchley and Eckert. Stored-program computers have become known as von Neumann Architecture systems. 31 The Von Neumann Model Today s stored-program computers have the following characteristics: Three hardware systems: A central processing unit (CPU) A main memory system An I/O system The capacity to carry out sequential instruction processing. A single data path between the CPU and main memory. This single path is known as the von Neumann bottleneck. These computers employ a fetch- decode-execute cycle to run programs as follows. 32 16

Cycles of Von Neumann Model 1. Fetch 2. Decode 3. Execute 33 Alternatives of Non-Von Neumann In the late 1960s, high-performance computer systems were equipped with dual processors to increase computational throughput. In the 1970s supercomputer systems were introduced with 32 processors. Supercomputers with 1,000 processors were built in the 1980s. In 1999, IBM announced its Blue Gene system containing over 1 million processors. Parallel processing is only one method of providing increased computational power. More radical systems have reinvented the fundamental concepts of computation. These advanced systems include genetic computers, quantum computers, and dataflow systems. At this point, it is unclear whether any of these systems will provide the basis for the next generation of computers. 34 17