Computer System Part 1

9

Click here to load reader

Transcript of Computer System Part 1

Page 1: Computer System Part 1

Bài giảng Hệ thống máy tính 22 August 2011

Nguyễn Kim Khánh - ĐHBKHN 1

HỆ THỐNG MÁY TÍNHComputer System

22 August 2011

Nguyễn Kim Khánh, PhD. in Computer EngineeringBộ môn Kỹ thuật máy tính Viện Công nghệ thông tin và Truyền thông Trường Đại học Bách khoa Hà Nội

NKK-HUT

Contact

Offices: Room 503-B1, DCE, SoICT Mobile: 091 358 5533Mobile: 091-358-5533e-mail:

[email protected]@mail.hut.edu.vn

22 August 2011

NKK-HUT

Mục tiêu học phần

Là học phần tiếp theo của Kiến trúc máy tính, nhằm giới thiệu các kiến thức cơ bản về hệ g ệ ệthống máy tính bao gồm: kiến trúc bộ nhớ, kiến trúc vào-ra, kiến trúc CPU và các kiến trúc máy tính song song.Sinh viên có khả năng đánh giá được hiệu năng của các họ máy tính, khai thác và sử

22 August 2011

dụng hiệu quả các loại máy tính và có khả năng tiếp cận để phát triển các hệ máy tính nhúng phục vụ các mục đích chuyên dụng.

NKK-HUT

Tài liệu tham khảo chính1. William Stallings - Computer

Organization and Architecture –Designing for Performance – 2009 g g(8th edition)

2. David A. Patterson & John L. Hennessy - Computer Organization and Design: The Hardware/Software Interface – 2009

22 August 2011

Hardware/Software Interface 2009 (4th edition)

3. Behrooz Parhami - Computer Architecture: From Microprocessors to Supercomputers - 2005

Page 2: Computer System Part 1

Bài giảng Hệ thống máy tính 22 August 2011

Nguyễn Kim Khánh - ĐHBKHN 2

NKK-HUT

Nội dung học phần

Chương 1. Giới thiệu chung ếChương 2. Kiến trúc bộ nhớ

Chương 3. Kiến trúc vào-ra Chương 4. Kiến trúc bộ xử lý Chương 5. Kiến trúc máy tính tiên tiến

22 August 2011

NKK-HUT

Hệ thống máy tính

Chương 1GIỚI THIỆU CHUNG

22 August 2011

Nguyễn Kim KhánhTrường Đại học Bách khoa Hà Nội

NKK-HUT

1 1 Máy tính và phân loại

Nội dung

1.1. Máy tính và phân loại1.2. Kiến trúc máy tính 1.3. Sự phát triển của máy tính1.4. Hiệu năng máy tính

722 August 2011 722 August 2011

NKK-HUT

Máy tính (Computer) là thiết bị điện tử thực hiện các công việc sau:

Nhận thông tin vào

1.1. Máy tính và phân loại

Nhận thông tin vào,Xử lý thông tin theo chương trình được nhớ sẵn bên trong, Đưa thông tin ra.

822 August 2011 822 August 2011

Page 3: Computer System Part 1

Bài giảng Hệ thống máy tính 22 August 2011

Nguyễn Kim Khánh - ĐHBKHN 3

NKK-HUT

Phân loại truyền thống:Má i tí h (Mi t )

Phân loại máy tính

Máy vi tính (Microcomputers)Máy tính nhỏ (Minicomputers) Máy tính lớn (Mainframe Computers)Siêu máy tính (Supercomputers)

922 August 2011 922 August 2011

NKK-HUT

Theo Hennessy/Patterson:

Phân loại máy tính hiện đại

Máy tính để bàn (Desktop Computers)Máy chủ (Server Computers) Máy tính nhúng (Embedded Computers)

1022 August 2011 1022 August 2011

NKK-HUT

1.2. Kiến trúc máy tính

Định nghĩa trước đây về kiến trúc máy tính:tính:

Cách nhìn logic của máy tính từ người lập trình (hardware/software interface)Kiến trúc tập lệnh (Instruction Set Architecture – ISA)

Là định nghĩa hẹp

1122 August 2011 11

Là định nghĩa hẹp

22 August 2011

NKK-HUT

Định nghĩa của Hennessy/ Patterson

Kiến trúc máy tính bao gồm:Kiến trúc tập lệnh (Instruction Set Architecture): nghiên cứu máy tính theo cách nhìn của người lập trình (hardware/software interface).Tổ chức máy tính (Computer Organization): nghiên cứu thiết kế máy tính ở mức cao,chẳng hạn như hệ thống nhớ, cấu trúc bus, thiết kế bên trong CPU.Phần cứng (Hardware): nghiên cứu thiết kế logic chi

1222 August 2011 12

Phần cứng (Hardware): nghiên cứu thiết kế logic chi tiết và công nghệ đóng gói của máy tính.

Kiến trúc tập lệnh thay đổi chậm, tổ chức và phần cứng máy tính thay đổi rất nhanh.

22 August 2011

Page 4: Computer System Part 1

Bài giảng Hệ thống máy tính 22 August 2011

Nguyễn Kim Khánh - ĐHBKHN 4

NKK-HUT

Kiến trúc tập lệnh

Kiến trúc tập lệnh của máy tính bao gồm:Tập lệnh: tập hợp các chuỗi số nhị phânTập lệnh: tập hợp các chuỗi số nhị phân mã hoá cho các thao tác mà máy tính có thể thực hiện Các kiểu dữ liệu: các kiểu dữ liệu mà máy tính có thể xử lý

1322 August 2011 13

y ý

22 August 2011

NKK-HUT

Cấu trúc cơ bản của máy tính

CPU Bé nhí chÝnh

Bus liªn kÕt hÖ thèng

1422 August 2011 14

Vμo-ra

22 August 2011

NKK-HUT

Bộ xử lý trung tâm (Central Processing Unit): Điều khiển hoạt động của máy tính và xử lý dữ liệu

Các thành phần cơ bản của máy tính

dữ liệu.Bộ nhớ chính (Main Memory): Chứa các chương trình và dữ liệu đang được sử dụng.Vào ra (Input/Output): Trao đổi thông tin giữa máy tính với bên ngoài.

1522 August 2011 15

Bus liên kết hệ thống (System Interconnection Bus): Kết nối và vận chuyển thông tin giữa các thành phần với nhau.

22 August 2011

NKK-HUT

Mô hình phân lớp của máy tính

1622 August 2011 16

Phần cứng (Hardware): hệ thống vật lý của máy tính.Phần mềm (Software): các chương trình và dữ liệu.

22 August 2011

Page 5: Computer System Part 1

Bài giảng Hệ thống máy tính 22 August 2011

Nguyễn Kim Khánh - ĐHBKHN 5

NKK-HUT

1.3. Sự phát triển của của máy tính

Các thế hệ máy tínhThế hệ thứ nhất: Máy tính dùng đèn điện tửchân không (1950s)Thế hệ thứ hai: Máy tính dùng transistor(1960s)Thế hệ thứ ba: Máy tính dùng vi mạch SSI, MSI và LSI (1970s)

1722 August 2011 17

Thế hệ thứ tư: Máy tính dùng vi mạch VLSI(1980s)Thế hệ thứ năm: Máy tính dùng vi mạch ULSI, SoC (1990s)

22 August 2011

NKK-HUT

Sự phát triển của bộ vi xử lý

1971: bộ vi xử lý 4-bit Intel 40041972-1977: các bộ xử lý 8-bit1972-1977: các bộ xử lý 8-bit1978-1984: các bộ xử lý 16-bitKhoảng từ 1985: các bộ xử lý 32-bitKhoảng từ 2000: các bộ xử lý 64-bitTừ 2006: các bộ xử lý đa lõi (multicores):

1822 August 2011 18

Từ 2006: các bộ xử lý đa lõi (multicores):

22 August 2011

NKK-HUT

Máy tính ngày nay

Clusters

Massive Cluster

Gigabit Ethernet

efrig

erat

ors

RobotsRouters

Cars

SensorNets

Re

1922 August 2011

NKK-HUT

1.4. Hiệu năng máy tính

Định nghĩa hiệu năng:Performance = 1/Execution Time

“Máy tính X nhanh hơn máy Y n lần”

n== XY

YX

time Executiontime ExecutionePerformancePerformanc

Ví d Thời gian chạ ch ơng trìnhVí dụ: Thời gian chạy chương trình:10s trên máy A, 15s trên máy BExecution TimeB / Execution TimeA= 15s / 10s = 1.5Vậy máy A nhanh hơn máy B 1.5 lần 2022 August 2011

Page 6: Computer System Part 1

Bài giảng Hệ thống máy tính 22 August 2011

Nguyễn Kim Khánh - ĐHBKHN 6

NKK-HUT

Xung nhịp của CPU Hoạt động của CPU được điều khiển bởi xung nhịp có tần số xác định

Clock period

Clock (cycles)

Data transferand computation

Update state

Chu kỳ xung nhịp (Clock period): thời gian của ột h kỳmột chu kỳ:VD: 250ps = 0.25ns = 250×10–12s

Tần số xung nhịp (Clock frequency hay Clock rate): số chu kỳ trong 1 giây:

VD: 4.0GHz = 4000MHz = 4.0×109Hz2122 August 2011

NKK-HUT

Thời gian CPU

Cycles Clock CPUTime Cycle ClockCycles Clock CPUTime CPU

=

×=

Hiệu năng được tăng lên bằng cách:Giảm số chu kỳ xung nhịp

ầ ố (C )

RateClock

Tăng tần số xung nhịp (Clock Rate)

2222 August 2011

NKK-HUT

Ví dụ

Máy tính A: 2GHz clock, 10s CPU timeMáy tính B

6s CPU timeSố chu kỳ xung nhịp của B = 1.2 x Số chu kỳ xung nhịp của A

Xác định tần số xung nhịp của máy B?

R tCl kTiCPUC lCl k

6sCycles Clock1.2

Time CPUCycles ClockRate Clock A

B

BB

×==

4GHz6s

10246s

10201.2Rate Clock

10202GHz10s

RateClockTime CPUCycles Clock

99

B

9

AAA

=××

=

×=×=

×=

2322 August 2011

NKK-HUT

Số lệnh và số chu kỳ trên một lệnh

Time Cycle ClockCPICount nInstructioTime CPUnInstructio per CyclesCount nInstructioCycles Clock

××=

×=

Số lệnh của chương trình: IC (Instruction Count): Được xác định bởi chương trình, kiến trúc tập lệnh và chương trình dịch

Rate ClockCPICountnInstructio ×

=

Số chu kỳ trên một lệnh: CPI (Cycles per Instruction)CPI trung bình:

Được xác định bởi phần cứng CPU Các lệnh khác nhau có CPI khác nhau

2422 August 2011

Page 7: Computer System Part 1

Bài giảng Hệ thống máy tính 22 August 2011

Nguyễn Kim Khánh - ĐHBKHN 7

NKK-HUT

Ví dụ

Máy tính A: Cycle Time = 250ps, CPI = 2.0Máy tính B: Cycle Time = 500ps, CPI = 1.2Cùng kiến trúc tập lệnh (ISA)Cùng kiến trúc tập lệnh (ISA)Máy nào nhanh hơn và nhanh hơn bao nhiêu ?

TimeCycleCPICountnInstructioTimeCPU500psI250ps2.0I

ATime CycleACPICount nInstructioATime CPU

××=

×=××=

××=

A nhanh hơn…

1.2500psI600psI

ATime CPUBTime CPU

600psI500ps1.2IBTimeCycleBCPICount nInstructioBTime CPU

=××

=

×=××=

××=

…lần

2522 August 2011

NKK-HUT

Chi tiết hơn về CPI

Nếu loại lệnh khác nhau có số chu kỳ khác nhau

∑=

×=n

1iii )Count nInstructio(CPICycles Clock

CPI trung bình:

∑ ⎟⎞

⎜⎛n CountnInstructioCyclesClock ∑

=⎟⎠⎞

⎜⎝⎛ ×==

1i

ii Count nInstructio

CountnInstructioCPICount nInstructio

CyclesClockCPI

2622 August 2011

NKK-HUT

Ví dụ

Cho bảng chỉ ra các dãy lệnh sử dụng các lệnh thuộc các loại A, B, C

Loại lệnh A B CCPI theo loại lệnh 1 2 3IC trong dãy lệnh 1 2 1 2IC trong dãy lệnh 2 4 1 1

Dãy lệnh 1: IC = 5 Dãy lệnh 2: IC = 6Clock Cycles

= 2×1 + 1×2 + 2×3= 10

Avg. CPI = 10/5 = 2.0

Clock Cycles= 4×1 + 1×2 + 1×3

= 9Avg. CPI = 9/6 = 1.5

2722 August 2011

NKK-HUT

Tóm tắt về Hiệu năng

cycle ClockSeconds

nInstructiocycles Clock

ProgramnsInstructioTime CPU ××=

Hiệu năng phụ thuộc vào:Thuật toán: ảnh hưởng tới IC, có thể cả CPINgôn ngữ lập trình: ảnh hưởng tới IC, CPICh t ì h dị h ả h h ở tới IC CPIChương trình dịch: ảnh hưởng tới IC, CPIKiến trúc tập lệnh: ảnh hưởng tới IC, CPI, Tc

2822 August 2011

Page 8: Computer System Part 1

Bài giảng Hệ thống máy tính 22 August 2011

Nguyễn Kim Khánh - ĐHBKHN 8

NKK-HUT

MIPS như là thước đo hiệu năng

MIPS: Millions of Instructions Per Second(Số triệu lệnh trên 1 giây)

66

6

10CPIrate Clock

10rate Clock

CPIcount nInstructiocount nInstructio10time Execution

count nInstructioMIPS

×=

××

=

×=

29

610MIPSrate ClockCPI×

=

22 August 2011

NKK-HUT

Ví dụ

Tính MIPS của bộ xử lý với:clock rate = 2GHz và CPI = 4

0.5ns

2ns

3022 August 2011 30

1 chu kỳ = 1/(2x109) = 0,5nsCPI = 4 1 lệnh = 4x0,5ns = 2nsVậy bộ xử lý thực hiện được 500MIPS

22 August 2011

NKK-HUT

Ví dụ

Tính CPI của bộ xử lý với:clock rate = 1GHz và 400 MIPS?

1ns

4 108 lệ h th hiệ t 1

3122 August 2011 31

4x108 lệnh thực hiện trong 1s 1 lệnh thực hiện trong 1/(4x108)s = 2,5nsCPI = 2,5

22 August 2011

NKK-HUT

MFLOPS

Millions of Floating Point Operations per Second(Số triệu phép toán số dấu phẩy động trên một giây)

GFLOPS(109 )

610time Executionoperations point floating ExecutedMFLOPS×

=

3222 August 2011 32

TFLOPS(1012)

22 August 2011

Page 9: Computer System Part 1

Bài giảng Hệ thống máy tính 22 August 2011

Nguyễn Kim Khánh - ĐHBKHN 9

NKK-HUT

Hết chương 1

3322 August 2011 3322 August 2011