Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 1
8 September 2009 1
NKK-HUT
Hệ thống máy tính
Chương 5
KIẾN TRÚCMÁYTÍNHTIÊN TIẾN
Nguyễn Kim Khánh
Trường Đại học Bách khoa Hà Nội
8 September 2009 2
NKK-HUT
Nội dung học phần
Chương 1. Giới thiệu chung
Chương 2. Kiếntrúc bộ nhớ
Chương 3. Kiếntrúc vào-ra
Chương 4. Kiếntrúc bộ xử lý
Chương 5. Kiến trúcmáytínhtiêntiến
8 September 2009 Bài giảng Kiến trúcMáytính 3
NKK-HUT
5.1. Phân loại kiến trúcmáytính
5.2. Máytính vector và bộ xử lý mảng
5.3. Một số kiếntrúc MIMD thông dụng
5.4. Bộ xử lý đa lõi
Nội dung
8 September 2009 Bài giảng Kiến trúcMáytính 4
NKK-HUT
5.1. Phân loại kiến trúcmáy tính
Phân loại của Michael Flynn (1966)
SISD - Single Instruction Stream, Single Data Stream
SIMD - Single Instruction Stream, Multiple Data Stream
MISD - Multiple Instruction Stream, Single Data Stream
MIMD - Multiple Instruction Stream, Multiple Data Stream
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 2
8 September 2009 5
NKK-HUT
SISD
CU: Control Unit
PU: Processing Unit
MU: Memory Unit
Một bộ xử lý
Đơn dòng lệnh
Dữ liệu được lưu trữ trong một bộ nhớ
Chính là Kiếntrúc von Neumann
8 September 2009 6
NKK-HUT
SIMD
8 September 2009 7
NKK-HUT
SIMD (tiếp)
Đơn dòng lệnh điều khiển đồng thời các
phần tử xử lý PE (processing elements)
Mỗi phần tử xử lý có một bộ nhớ dữ liệu
riêng LM (local memory)
Mỗi lệnh được thực hiện trên một tập
các dữ liệu khác nhau
Các mô hình SIMD
Vector Computer
Array processor
8 September 2009 8
NKK-HUT
MISD
Một luồng dữ liệu cùng được truyền đến
một tập các bộ xử lý
Mỗi bộ xử lý thực hiện một dãy lệnh
khác nhau.
Chưa tồn tại máytính thực tế
Có thể có trong tương lai
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 3
8 September 2009 9
NKK-HUT
MIMD
Tập các bộ xử lý
Các bộ xử lý đồng thời thực hiện các
dãy lệnh khác nhau trên các dữ liệu
khác nhau
Các mô hình MIMD
Multiprocessors (Shared Memory)
Multicomputers (Distributed Memory)
8 September 2009 10
NKK-HUT
MIMD - Shared Memory
8 September 2009 11
NKK-HUT
MIMD - Distributed Memory
8 September 2009 12
NKK-HUT
5.2. Máytính vector và bộ xử lý mảng
Thuộc loại SIMD
Data parallelism in time = vector processing
Data parallelism in space = array processing
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 4
8 September 2009 13
NKK-HUT
Phép toán trên vector
Bộ xử lý tuần tự:
for i = 0 to 63 do
P[i] := W[i] × D[i]
endfor
Bộ xử lý vector:
load W
load D
P := W × D
store P
for i = 0 to 63 do
X[i+1] := X[i] + Z[i]
Y[i+1] := X[i+1]+Y[i]
endfor
Không xử lý song
song được
8 September 2009 14
NKK-HUT
Thực hiện bộ xử lý vector
Function unit 1 pipeline
To and from m emory unit
From scalar registers
Vector
register
file
Function unit 2 pipeline
Function unit 3 pipeline
Forwarding muxes
Load
unit A
Load
unit B
Store
unit
8 September 2009 15
NKK-HUT
Ví dụ bộ xử lý mảng
Control
broadcast
Parallel
I/O
Processor array
Control
Switches
8 September 2009 16
NKK-HUT
5.3. Một số kiếntrúc MIMD thông dụng
1.SMP (Symmetric Multiprocessors)
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 5
8 September 2009 17
NKK-HUT
SMP (tiếp)
Một máytính có n >= 2 bộ xử lý giống nhau
Các bộ xử lý dùng chung bộ nhớ và hệ thống
vào-ra
Thời gian truy cập bộ nhớ là bằng nhau với
các bộ xử lý
Tất cả các bộ xử lý chia sẻ truy nhập vào-ra
Các bộ xử lý có thể thực hiện chức năng
giống nhau
Hệ thống được điều khiển bởi một hệ điều
hành phân tán
8 September 2009 18
NKK-HUT
Ưu điểm của SMP
Hiệu năng
Các công việc có thể thực hiện song song
Tính sẵn dùng
Các bộ xử lý có thể thực hiện các chức
năng giống nhau, vì vậy lỗi của một bộ xử
lý sẽ không làm dừng hệ thống
Khả năng mở rộng
Người sử dụng có thể tăng hiệu năng bằng
cách thêm bộ xử lý
8 September 2009 19
NKK-HUT
2. Cluster
Nhiều máytính được kết nối với nhau
bằng mạng liên kết tốc độ cao (~ Gbps)
Mỗi máytính có thể làm việc độc lập
Mỗi máytính được gọi là một node
Các máytính có thể được quản lý làm
việc song song theo nhóm (cluster)
Toàn bộ hệ thống có thể coi như là một
máy tính song song
8 September 2009 20
NKK-HUT
Cluster (tiếp)
Dễ dàng xây dựng và mở rộng
Tính sẵn sàng cao
Khả năng chịu lỗi
Giá thành rẻ với hiệu năng cao
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 6
8 September 2009 21
NKK-HUT
Cluster of PCs
8 September 2009 22
NKK-HUT
Cluster of SMPs
8 September 2009 23
NKK-HUT
Ví dụ: Hệ thống máy chủ Google (12/ 2000)
Cluster of PCs
Hơn 6.000 bộ xử lý
Hệ thống lưu trữ dùng RAID: có 12.000
đĩa cứng ~ 1petabyte (1triệu GB)
2 site ở Silicon Valley, 1site ở Virginia
Mỗi site được kết nối với Internet qua
OC48 (2488Mbps)
8 September 2009 24
NKK-HUT
5.4. Bộ xử lý đa lõi (multicores)
Thay đổi của bộ
xử lý:
Tuần tự
Pipeline
Siêu vô hướng
Đa luồng
Đa lõi
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 7
8 September 2009 25
NKK-HUT
Các dạng tổ chức bộ xử lý đa lõi
8 September 2009 26
NKK-HUT
Intel - Core Duo (1)
2006
Two x86 superscalar, shared L2 cache
Dedicated L1 cache per core
32KB instruction and 32KB data
Thermal control unit per core
Manages chip heat dissipation
Maximize performance within constraints
Improved ergonomics
Advanced Programmable Interrupt Controlled
(APIC)
Inter-process interrupts between cores
Routes interrupts to appropriate core
Includes timer so OS can interrupt core
8 September 2009 27
NKK-HUT
Intel - Core Duo (2)
Power Management Logic
Monitors thermal conditions and CPU activity
Adjusts voltage and power consumption
Can switch individual logic subsystems
2MB shared L2 cache
Dynamic allocation
MESI support for L1 caches
Extended to support multiple Core Duo in SMP
L2 data shared between local cores or external
Bus interface
8 September 2009 28
NKK-HUT
Intel Core Duo (3)
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 8
8 September 2009 29
NKK-HUT
Intel x86 Multicore Organization - Core i7
November 2008
Four x86 SMT processors
Dedicated L2, shared L3 cache
Speculative pre-fetch for caches
On chip DDR3 memory controller
Three 8 byte channels (192 bits) giving 32GB/s
No front side bus
QuickPath Interconnection
Cache coherent point-to-point link
High speed communications between processor chips
6.4G transfers per second, 16 bits per transfer
Dedicated bi-directional pairs
Total bandwidth 25.6GB/s
8 September 2009 30
NKK-HUT
Intel Core i7
8 September 2009 31
NKK-HUT
ARM11
MPCore
Block
Diagram
8 September 2009 32
NKK-HUT
Hết chương 5
. 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 8 September 2009 Bài giảng Kiến trúc Máy tính 3 NKK-HUT . Phân loại kiến trúc máy tính 5.2. Máy tính vector và bộ xử lý mảng 5.3. Một số kiến trúc MIMD thông dụng 5.4. Bộ xử lý đa lõi Nội dung 8 September 2009 Bài giảng Kiến trúc Máy tính 4 NKK-HUT 5.1 Bài giảng Hệ thống máy tính Nguyễn Kim Khánh - ĐHBKHN 1 8 September 2009 1 NKK-HUT Hệ thống máy tính 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