Computer System Part 1
Click here to load reader
Transcript of 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
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
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
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
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
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
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
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
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