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

