32
EEF011 Computer Architecture 計計計計計 計計計 計計計計 計計計計計計 ( 計計計計計 計計計計計計計 ) September 22, 2004

EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Embed Size (px)

Citation preview

Page 1: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

EEF011 Computer Architecture

計算機結構

吳俊興高雄大學 資訊工程學系

( 中央研究院 資訊科學研究所 )

September 22, 2004

Page 2: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Outline

• Class syllabus and schedule

• Microprocessor history and applications

• Chapter 1. Fundamental of Computer Design

Page 3: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

課程資訊

上課地點 : C01-408上課時間 : 13:10 – 16:05, Wednesdays

E-mail: [email protected]: (07) 591-9518

Office: 理工二館 300-3 室 ( 暫 ) 、 307 室 ( 未來 )

Office hours: 14:00 – 16:00, Thursdays

Page 4: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Computer Architecture

• The term coined by IBM in the early 1960 (Amdahl, Blaauw, and Brooks, 1964)– Referred to the programmer-visible portion of the IBM 360 i

nstruction set• The first computer to sell in large quantities with both byte addressi

ng using 8-bit bytes and general-purpose registers

– They believed that a family of computers of the same architecture should be able to run the same software

– Definition of architecture:• The structure of a computer that a machine language programmer

must understand to write a correct (timing independent) program for that machine

Page 5: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Digital Computer

Page 6: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

What’s Computer Architecture?

• Computer Architecture is the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals

• Computer architecture is not about using computers to design buildings

http://www.cs.wisc.edu/~arch/www/

• Microprocessor, CPU

Page 7: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

What’s Computer Architecture? (Cont.)

• Computer Architecture is the design of the computer at the hardware/software interface

• Computer Architecture = Instruction Set Architecture + Machine Organization

Computer Architecture

Instruction Set Design Machine Organization

Computer Interface Hardware Components

Compiler/System View Logic Designer’s View

Page 8: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Key considerations in “Computer Architecture”

I/O systemInstr. Set Proc.

Compiler

OperatingSystem

Application

Digital DesignCircuit Design

Instruction Set Architecture

Firmware

• Coordination of many levels of abstraction• Under a rapidly changing set of forces• Continuous evolution: Design, Measurement, and Evaluation

Datapath & Control

Layout

Software

Hardware

Page 9: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

General Purpose vs. Special Purpose

• Desktop computers: performance/cost– Personal computer, workstation

• Embedded computers: energy/power– PlayStation-2 video game, digital camera, cell

phone, MP3 player, etc.

• Server computers: reliability, scalability and throughput (rather than latency)– typically include multiple processors and disks

Page 10: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

教學目標

介紹現代微處理器的內部架構及設計考量,包括指令集、記憶體結構、輸出入中介等,讓學生能了解現代微處理器的構造原理、評估原則及與軟體程式的互相影響,以期能增進學生微算機系統設計及資訊系統效能提升的能力。

Page 11: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

重要性

•高考三級資訊工程科第二試應考專業科目1. 資料結構 ( 含資料庫 ) 4. 數位系統導論2. 系統程式 ( 含作業系統 ) 5.計算機結構3. 離散數學 6. 計算機網路

•計算機組、半導體積體電路組必修科目•碩、博士入學或資格相關考試科目•產業需求:兩兆雙星

Page 12: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Textbooks教科書

J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 3rd Edition, 2003, Morgan Kaufmann Publishers, Inc. ( 新月代理 )

參考書 D. A. Patterson and J. L. Hennessy, Computer Organization: The Hardware/Software Interface, 2nd Edition, 1998, Morgan Kaufmann Publishers, Inc.

Page 13: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

課程內容與進度Ch1. Fundamentals of Computer Design Ch2. Instruction Set Principles and Examples

Ch3. Instruction-Level Parallelism andIts Dynamic Exploitation

Ch4. Exploiting Instruction-Level Parallelismwith Software Approaches

Ch5. Memory Hierarchy Design Ch6. Multiprocessors and Thread-Level Parallelism

Ch7. Storage Systems Ch8. Interconnection Networks and Clusters

Advanced Topics: 64-bit Processors, Vector Processors, Embedded Processors, etc.

Page 14: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Schedule1. 9/22( 三 )

簡介 /Ch.1

10. 11/24( 三 ) Ch. 5

2. 9/29( 三 ) Ch. 1 11. 12/01( 三 ) Ch. 5

3. 10/06( 三 ) Ch. 2 加退選 ; 分組 (2-3 人 ) 12. 12/08( 三 ) Ch. 6

4. 10/13( 三 ) Ch. 2 13. 12/15( 三 ) Ch. 6 Paper report #2 (12/14)

5. 10/20( 三 ) Ch. 3 Proposal (10/19) 14. 12/22( 三 ) Ch. 7

6. 10/27( 三 ) Ch. 3 15. 12/29( 三 ) Ch. 7

7. 11/03( 三 ) Ch. 4 Paper report #1 (11/02) 16. 1/05( 三 ) Ch. 8

8. 11/10( 三 ) Ch. 4 17. 1/12( 三 ) Ch. 8 期末報告 (1/11)

9. 11/17( 三 ) 期中考 18. 1/19( 三 ) 期末考Proposal format: title, motivation, introduction, anticipated results, referencesReport format: review, commentsFinal report and presentation (10-15 mins)

Page 15: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

參考題目• 64-bit CPU• Embedded CPUs (Secure CPU; Network

processors)• SoC• Bio-chip• Power-saving Issues• I/O Interface (USB/S-ATA/SCSI)• Hardware/software co-design

Page 16: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

查詢工具• IEEE Xplore

http://www.ieee.org/ieeexplore• ACM Digital Library

http://www.acm.org/dl/• ISI Web of Science

http://isiknowledge.com/

• Google (ext:pdf, site:edu)http://www.google.com/

• CiteSeer – Scientific Literature Digital Library http://citeseer.ist.psu.edu/

• NCSTRL - Networked Computer Science Technical Reference Libraryhttp://www.ncstrl.org/

• DBLP - Computer Science Bibliographyhttp://www.informatik.uni-trier.de/~ley/db/

• WWW Computer Architecture Pagehttp://www.cs.wisc.edu/~arch/www/

• Tom's Hardware Guide - Processorshttp://www.tomshardware.com/cpu/

Page 17: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

評分標準 ( 暫定 )

研究所1.習題作業及論文研讀報告 (20%) 2.期中考 (20%)3.期末考 (25%)4.期末報告 (25%)5.學習態度與課堂表現 (10%)大學部1.習題作業及論文研讀報告 (30%) 2.期中考 (30%)3.期末考 (30%)4.學習態度與課堂表現 (10%)

Page 18: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Microprocessor History

Page 19: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Definitions• A microprocessor is a silicon chip which forms

the core of a microcomputer– the concept of what goes into a microprocessor

has changed over the years (see history)

• Microprocessors are used in two general systems– general purpose computing systems– embedded control applications

• autos, ovens, phones, toys, . . .• these are called microcontrollers

Page 20: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

History• Microprocessors have a short but significant h

istory– In 1969, a Japanese company (Busicom) approac

hed Intel and asked them to build a set of custom chips for a hand-held calculator

– Intel proposed a single programmable chip (4004)– It was released in 1971 as the world’s first microp

rocessor• It was a 4 bit machine constructed out of 2300 transisto

rs on a 16-pin chip

Page 21: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Growth• In 1974, Intel released the first 8-bit microprocessor

the 8080– it consisted of 6000 transistors and could address 64K of

memory– Digital Research released the first general purpose

operating system for a microprocessor, CP/M in 1975

• In 1978, Intel released the 8086, a 16-bit microprocessor constructed out of 29,000 transistors– At the same time, other companies such as Texas

Instruments and Motorola released microprocessors

Page 22: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

The First (?) PC• Ed Roberts (at the “failing”

calculator company MITS) designs Altair 8800 (1974)– based on 8080 microprocessor, – affordable price of $375– no keyboard, no screen,

no storage,– 4k memory, programmable by

means of a switch panelBill Gates and Paul Allen founded Microsoft(1975)

–BASIC 2.0 on the Altair 8800

–first high-level language available on a home computer

Page 23: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Intel 4004

• First Microprocessor– 1971– 2300 transistors– 4 bit bus– 640 bytes of addressable

memory– 750 KHz

Page 24: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Intel 8086

• First IBM PC Chip– 1978– 29,000 transistors– 16 bit bus– 1 MB addressable memory– 10 MHz

Page 25: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Intel Pentium III

• Pentium III Processor– 600 MHz, 9.5 M transistors– 0.25u 5M process, 2.0V, 34.5W– Dynamic Execution Superscalar pipeline– 16/16 KB onchip I/D cache + 512KB offchip

2nd -level cache– Up to 4GB of addressable memory space

Page 26: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Chip Performance

Page 27: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Perspective

• Putting performance growth in perspective:

1988 supercomputer in 1993 server!

IBM POWER2 Cray YMPWorkstation Supercomputer

Year 1993 1988MIPS 200 MIPS 50 MIPS Cost $120,000 $1,000,000 Clock 71.5 MHz 167 MHzCache 256 KB 0.25 KBMemory 512 MB 256 MB

Page 28: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Capacity Growth• Good news -- exponential growth in hardware capacity

– Logic growth: 60% to 80% per year– DRAM growth: 60% per year (in 400% increments/3 years)– Disk growth: 50% per year (was 25%/year until 1990)

• Bad news -- exponential growth in hardware usage– Program size: 50% to 100% per year

• Increase software productivity -- standard components/interface layers• Feature list increases -- “bloatware”• Memory used to enhance user interface – GUI

• Results– Storage may be approaching “free” on a per-bit basis, but someh

ow it always seems to be full

Page 29: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Moore's Law

• Gordon Moore once observed that the speed and power of microprocessors seems to double every 12 to 18 months. This trend has held true for the past 20 years and is showing no sign of slowing down.

• What does this mean for the future of computing? What other technologies can you think of which get faster and more powerful every year, and yet also get cheaper and more affordable!

Page 30: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Microprocessor Applications• Most microprocessors are sold

for embedded control applications

AllMicroprocessors

CPUs

98%

2%

PCs

98%

2%

Embedded Control

Other CPUs

Page 31: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Embedded System Growth• Embedded is the largest and fastest-growing

part of the worldwide microprocessor industry

• Embedded is approximately 100 % of worldwide unit volume in microprocessors

• Average of 30-40 processors per home – (only 5 are within the home PC)

• “Turley’s Law”:– The amount of processing power on your person

will double every 12 months

Page 32: EEF011 Computer Architecture 計算機結構 吳俊興 高雄大學 資訊工程學系 ( 中央研究院 資訊科學研究所 ) September 22, 2004

Finally• How to succeed in life . . .

Take a microprocessor/microcontroller chip

Take a microprocessor/microcontroller chip

Build an embedded system

Build an embedded system

Add supportchips

Add supportchips

Program way-coolfunctions into it

Program way-coolfunctions into it

Sell it for GigabucksSell it for Gigabucks