1. Bài giảng Hệ thống máy tính 22 August 2011
NKK-HUT
Contact
Offices: Room 503-B1, DCE, SoICT
Mobile: 091 358 5533
091-358-5533
HỆ THỐNG MÁY TÍNH e-mail:
Computer System khanhnk@soict.hut.edu.vn
khanhnk@mail.hut.edu.vn
Nguyễn Kim Khánh, PhD. in Computer Engineering
Bộ 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
22 August 2011 22 August 2011
NKK-HUT NKK-HUT
Mục tiêu học phần Tài liệu tham khảo chính
1. William Stallings - Computer
Là học phần tiếp theo của Kiến trúc máy tính, Organization and Architecture –
nhằm giới thiệu các kiến thức cơ bản về hệ
g ệ ệ Designing for Performance – 2009
g g
thống máy tính bao gồm: kiến trúc bộ nhớ, (8th edition)
kiến trúc vào-ra, kiến trúc CPU và các kiến
2. David A. Patterson & John L.
trúc máy tính song song.
Hennessy - Computer
Sinh viên có khả năng đánh giá được hiệu Organization and Design: The
năng của các họ máy tính, khai thác và sử Hardware/Software Interface – 2009
dụng hiệu quả các loại máy tính và có khả (4th edition)
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. 3. Behrooz Parhami - Computer
Architecture: From Microprocessors
to Supercomputers - 2005
22 August 2011 22 August 2011
Nguyễn Kim Khánh - ĐHBKHN 1
2. Bài giảng Hệ thống máy tính 22 August 2011
NKK-HUT NKK-HUT
Nội dung học phần Hệ thống máy tính
Chương 1. Giới thiệu chung
Chương 2. Kiến trúc bộ nhớ
ế Chương 1
Chương 3. Kiến trúc vào-ra
Chương 4. Kiến trúc bộ xử lý
GIỚI THIỆU CHUNG
Chương 5. Kiến trúc máy tính tiên tiến
Nguyễn Kim Khánh
Trường Đại học Bách khoa Hà Nội
22 August 2011 22 August 2011
NKK-HUT NKK-HUT
Nội dung 1.1. Máy tính và phân loại
Máy tính (Computer) là thiết bị điện tử thực hiện
các công việc sau:
1.1.
1 1 Máy tính và phân loại Nhận thông tin vào,
vào
Xử lý thông tin theo chương trình được nhớ sẵn bên
1.2. Kiến trúc máy tính
trong,
1.3. Sự phát triển của máy tính Đưa thông tin ra.
1.4. Hiệu năng máy tính
22 August 2011 7 22 August 2011 8
Nguyễn Kim Khánh - ĐHBKHN 2
3. Bài giảng Hệ thống máy tính 22 August 2011
NKK-HUT NKK-HUT
Phân loại máy tính Phân loại máy tính hiện đại
Phân loại truyền thống: Theo Hennessy/Patterson:
Máy i tính (Microcomputers)
Má vi tí h (Mi t )
Máy tính để bàn (Desktop Computers)
Máy tính nhỏ (Minicomputers)
Máy chủ (Server Computers)
Máy tính lớn (Mainframe Computers)
Siêu máy tính (Supercomputers) Máy tính nhúng (Embedded Computers)
22 August 2011 9 22 August 2011 10
NKK-HUT NKK-HUT
1.2. Kiến trúc máy tính Định nghĩa của Hennessy/ Patterson
Định nghĩa trước đây về kiến trúc máy Kiến trúc máy tính bao gồm:
tính: 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
Cách nhìn logic của máy tính từ người lập trình (hardware/software interface).
trình (hardware/software interface) Tổ chức máy tính (Computer Organization): nghiên
Kiến trúc tập lệnh (Instruction Set Architecture cứu thiết kế máy tính ở mức cao,chẳng hạn như hệ
– ISA) 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
Là định nghĩa hẹp 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 11 22 August 2011 12
Nguyễn Kim Khánh - ĐHBKHN 3
4. Bài giảng Hệ thống máy tính 22 August 2011
NKK-HUT NKK-HUT
Kiến trúc tập lệnh Cấu trúc cơ bản của máy tính
Kiến trúc tập lệnh của máy tính bao gồm:
CPU Bé nhí chÝnh
Tậ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
Bus liªn kÕt hÖ thèng
Các kiểu dữ liệu: các kiểu dữ liệu mà
máy tính có thể xử lý
y ý
Vμo-ra
22 August 2011 13 22 August 2011 14
NKK-HUT NKK-HUT
Các thành phần cơ bản của máy tính Mô hình phân lớp của máy tính
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
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.
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 Phần cứng (Hardware): hệ thống vật lý của máy tính.
các thành phần với nhau. Phần mềm (Software): các chương trình và dữ liệu.
22 August 2011 15 22 August 2011 16
Nguyễn Kim Khánh - ĐHBKHN 4
5. Bài giảng Hệ thống máy tính 22 August 2011
NKK-HUT NKK-HUT
1.3. Sự phát triển của của máy tính Sự phát triển của bộ vi xử lý
Các thế hệ máy tính
1971: bộ vi xử lý 4-bit Intel 4004
Thế hệ thứ nhất: Máy tính dùng đèn điện tử
chân không (1950s) 1972-1977: các bộ xử lý 8-bit
Thế hệ thứ hai: Máy tính dùng transistor 1978-1984: các bộ xử lý 16-bit
(1960s) Khoảng từ 1985: các bộ xử lý 32-bit
Thế hệ thứ ba: Máy tính dùng vi mạch SSI, Khoảng từ 2000: các bộ xử lý 64-bit
MSI và LSI (1970s)
Thế hệ thứ tư: Máy tính dùng vi mạch VLSI
Từ 2006: các bộ xử lý đa lõi (multicores):
(1980s)
Thế hệ thứ năm: Máy tính dùng vi mạch
ULSI, SoC (1990s)
22 August 2011 17 22 August 2011 18
NKK-HUT NKK-HUT
Máy tính ngày nay 1.4. Hiệu năng máy tính
Massive Cluster Định nghĩa hiệu năng:
Clusters
Gigabit Ethernet
Performance = 1/Execution Time
“Máy tính X nhanh hơn máy Y n lần”
Performanc e X Performanc e Y
efrigerators
= Execution time Y Execution time X = n
Ví dụ: Thời gian chạ chương trình
d chạy ch ơng trình:
Re
Sensor
Nets
10s trên máy A, 15s trên máy B
Cars
Execution TimeB / Execution TimeA
Robots = 15s / 10s = 1.5
Routers
22 August 2011 19 22 August 2011 Vậy máy A nhanh hơn máy B 1.5 lần 20
Nguyễn Kim Khánh - ĐHBKHN 5
6. Bài giảng Hệ thống máy tính 22 August 2011
NKK-HUT NKK-HUT
Xung nhịp của CPU Thời gian CPU
Hoạt động của CPU được điều khiển bởi xung
CPU Time = CPU Clock Cycles × Clock Cycle Time
nhịp có tần số xác định
Clock period CPU Clock Cycles
=
Clock (cycles) Clock Rate
Data transfer
and computation
Update state
Hiệu năng được tăng lên bằng cách:
Chu kỳ xung nhịp (Clock period): thời gian của Giảm số chu kỳ xung nhịp
một chu kỳ
ột h kỳ: Tăng tần số xung nhịp (Clock Rate)
ầ ố (C )
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×109Hz
22 August 2011 21 22 August 2011 22
NKK-HUT NKK-HUT
Ví dụ Số lệnh và số chu kỳ trên một lệnh
Máy tính A: 2GHz clock, 10s CPU time Clock Cycles = Instruction Count × Cycles per Instruction
Máy tính B CPU Time = Instruction Count × CPI × Clock Cycle Time
6s CPU time
Số chu kỳ xung nhịp của B = 1.2 x Số chu kỳ xung nhịp của A Instruction Count × CPI
=
Xác định tần số xung nhịp của máy B? Clock Rate
Clock CyclesB 1.2 × Clock CyclesA Số lệnh của chương trình: IC (Instruction Count):
Clock RateB = =
CPU Time B 6s Đượ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
Cl k C l A = CPU Ti A × Cl k R t A
Clock Cycles Time Clock Rate Số chu kỳ trên một lệnh: CPI (Cycles per Instruction)
= 10s × 2GHz = 20 × 10 9 CPI trung bình:
Được xác định bởi phần cứng CPU
1.2 × 20 × 10 9 24 × 10 9 Các lệnh khác nhau có CPI khác nhau
Clock RateB = = = 4GHz
6s 6s
22 August 2011 23 22 August 2011 24
Nguyễn Kim Khánh - ĐHBKHN 6
7. Bài giảng Hệ thống máy tính 22 August 2011
NKK-HUT NKK-HUT
Ví dụ Chi tiết hơn về CPI
Máy tính A: Cycle Time = 250ps, CPI = 2.0 Nếu loại lệnh khác nhau có số chu kỳ khác
Máy tính B: Cycle Time = 500ps, CPI = 1.2 nhau
Cùng kiến trúc tập lệnh (ISA)
n
Máy nào nhanh hơn và nhanh hơn bao nhiêu ? Clock Cycles = ∑ (CPIi × Instruction Count i )
i=1
CPU Time = Instruction Count × CPI × Cycle Time
A A A
= I × 2.0 × 250ps = I × 500ps
CPI trung bình:
A nhanh hơn…
CPU Time = Instruction Count × CPI × Cycle Time Clock Cycles n
⎛ Instruction Count i ⎞
B B B CPI = = ∑ ⎜ CPIi × ⎟
= I × 1.2 × 500ps = I × 600ps Instruction Count i=1 ⎝ Instructio n Count ⎠
CPU Time
B = I × 600ps = 1.2 …lần
CPU Time I × 500ps
A
22 August 2011 25 22 August 2011 26
NKK-HUT NKK-HUT
Ví dụ Tóm tắt về Hiệu năng
Cho bảng chỉ ra các dãy lệnh sử dụng các lệnh
Instructio ns Clock cycles Seconds
thuộc các loại A, B, C CPU Time = × ×
Program Instructio n Clock cycle
Loại lệnh A B C
CPI theo loại lệnh 1 2 3
IC trong dãy lệnh 1 2 1 2 Hiệu năng phụ thuộc vào:
IC trong dãy lệnh 2 4 1 1 Thuật toán: ảnh hưởng tới IC, có thể cả CPI
Ngôn ngữ lập trình: ảnh hưởng tới IC, CPI
Dãy lệnh 1: IC = 5 Dãy lệnh 2: IC = 6
Clock Cycles Clock Cycles Chương t ì h dịch: ảnh h ở tới IC CPI
Ch trình dị h ả h hưởng IC,
= 2×1 + 1×2 + 2×3 = 4×1 + 1×2 + 1×3 Kiến trúc tập lệnh: ảnh hưởng tới IC, CPI, Tc
= 10 =9
Avg. CPI = 10/5 = 2.0 Avg. CPI = 9/6 = 1.5
22 August 2011 27 22 August 2011 28
Nguyễn Kim Khánh - ĐHBKHN 7
8. Bài giảng Hệ thống máy tính 22 August 2011
NKK-HUT NKK-HUT
MIPS như là thước đo hiệu năng Ví dụ
MIPS: Millions of Instructions Per Second Tính MIPS của bộ xử lý với:
(Số triệu lệnh trên 1 giây) clock rate = 2GHz và CPI = 4
Instruction count
MIPS =
Execution time × 10 6
Instruction count Clock rate
= = 0.5ns
Instruction count × CPI CPI × 10 6
× 10 6
Clock rate 2ns
1 chu kỳ = 1/(2x109) = 0,5ns
Clock rate
CPI = CPI = 4 1 lệnh = 4x0,5ns = 2ns
MIPS × 10 6
Vậy bộ xử lý thực hiện được 500MIPS
22 August 2011 29 22 August 2011 30
NKK-HUT NKK-HUT
Ví dụ MFLOPS
Tính CPI của bộ xử lý với: Millions of Floating Point Operations per Second
clock rate = 1GHz và 400 MIPS? (Số triệu phép toán số dấu phẩy động trên một giây)
Executed floating point operations
MFLOPS =
Execution time × 10 6
1ns
GFLOPS(109 )
4x10 lệnh thực hiệ t
4 108 lệ h th hiện trong 1s1
1 lệnh thực hiện trong 1/(4x108)s = 2,5ns TFLOPS(1012)
CPI = 2,5
22 August 2011 31 22 August 2011 32
Nguyễn Kim Khánh - ĐHBKHN 8
9. Bài giảng Hệ thống máy tính 22 August 2011
NKK-HUT
Hết chương 1
22 August 2011 33
Nguyễn Kim Khánh - ĐHBKHN 9