NKK-HUST
.c
om
Kiến trúc máy tính
cu
u
du
on
g
th
an
co
ng
Chương 9
CÁC KIẾN TRÚC SONG SONG
Nguyễn Kim Khánh
Trường Đại học Bách khoa Hà Nội
2017
Kiến trúc máy tính
CuuDuongThanCong.com
481
/>
NKK-HUST
Nội dung học phần
cu
u
du
on
g
th
an
co
ng
.c
om
Chương 1. Giới thiệu chung
Chương 2. Cơ bản về logic số
Chương 3. Hệ thống máy tính
Chương 4. Số học máy tính
Chương 5. Kiến trúc tập lệnh
Chương 6. Bộ xử lý
Chương 7. Bộ nhớ máy tính
Chương 8. Hệ thống vào-ra
Chương 9. Các kiến trúc song song
2017
Kiến trúc máy tính
CuuDuongThanCong.com
482
/>
NKK-HUST
.c
om
Nội dung của chương 9
cu
u
du
on
g
th
an
co
ng
9.1. Phân loại kiến trúc máy tính
9.2. Đa xử lý bộ nhớ dùng chung
9.3. Đa xử lý bộ nhớ phân tán
9.4. Bộ xử lý đồ họa đa dụng
2017
Kiến trúc máy tính
CuuDuongThanCong.com
483
/>
NKK-HUST
om
9.1. Phân loại kiến trúc máy tính
.c
Phân loại kiến trúc máy tính (Michael Flynn -1966)
SISD - Single Instruction Stream, Single Data Stream
n
SIMD - Single Instruction Stream, Multiple Data Stream
n
MISD - Multiple Instruction Stream, Single Data Stream
n
MIMD - Multiple Instruction Stream, Multiple Data Stream
cu
u
du
on
g
th
an
co
ng
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
484
/>
NKK-HUST
SISD
IS
DS
MU
om
PU
.c
CU
n
n
ng
co
du
n
cu
u
n
on
g
n
an
n
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ến trúc von Neumann (tuần tự)
th
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
485
/>
NKK-HUST
SIMD
om
DS
LM1
co
ng
.c
PU1
du
on
g
th
CU
cu
u
LM2
an
PU2
IS
2017
DS
.
.
.
DS
PUn
LMn
Kiến trúc máy tính
CuuDuongThanCong.com
486
/>
NKK-HUST
SIMD (tiếp)
om
Đơn dòng lệnh điều khiển đồng thời các
đơn vị xử lý PUs
Mỗi đơn vị 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
co
n
n
cu
u
n
du
on
g
n
th
an
n
ng
.c
n
Vector Computer
Array processor
2017
Kiến trúc máy tính
CuuDuongThanCong.com
487
/>
NKK-HUST
.c
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áy tính thực tế
Có thể có trong tương lai
on
cu
u
n
du
n
g
th
an
n
co
ng
n
om
MISD
2017
Kiến trúc máy tính
CuuDuongThanCong.com
488
/>
NKK-HUST
MIMD
om
.c
on
g
n
Multiprocessors (Shared Memory)
Multicomputers (Distributed Memory)
du
n
cu
u
n
th
an
co
n
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
ng
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
489
/>
NKK-HUST
MIMD - Shared Memory
PU1
IS
on
du
cu
u
.
.
.
PU2
DS
Bộ nhớ
dùng
chung
g
CU2
th
an
CU1
DS
co
IS
ng
.c
om
Đa xử lý bộ nhớ dùng chung
(shared memory mutiprocessors)
CUn
2017
IS
.
.
.
PUn
DS
Kiến trúc máy tính
CuuDuongThanCong.com
490
/>
NKK-HUST
MIMD - Distributed Memory
IS
th
on
du
cu
u
CUn
2017
IS
PU2
g
IS
CU2
.
.
.
PU1
DS
an
CU1
co
ng
.c
om
Đa xử lý bộ nhớ phân tán
(distributed memory mutiprocessors or
multicomputers)
DS
.
.
.
PUn
LM1
LM2
.
.
.
DS
Mạng
liên
kết
hiệu
năng
cao
LMn
Kiến trúc máy tính
CuuDuongThanCong.com
491
/>
NKK-HUST
Phân loại các kỹ thuật song song
.c
Song song mức dữ liệu
SIMD
g
n
an
n
co
n
pipeline
superscalar
ng
n
om
Song song mức lệnh
th
n
n
n
MIMD
du
on
Song song mức luồng
cu
u
n
Song song mức yêu cầu
n
Cloud computing
2017
Kiến trúc máy tính
CuuDuongThanCong.com
492
/>
NKK-HUST
9.2. Đa xử lý bộ nhớ dùng chung
om
Hệ thống đa xử lý đối xứng (SMPSymmetric Multiprocessors)
Hệ thống đa xử lý không đối xứng
(NUMA – Non-Uniform Memory Access)
Bộ xử lý đa lõi (Multicore Processors)
co
g
cu
u
du
on
n
th
an
n
ng
.c
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
493
/>
NKK-HUST
.c
om
SMP hay UMA (Uniform Memory Access)
co
M
CPU
CPU
M
CPU
CPU
M
an
CPU
ng
Shared memory
CPU
Shared
memory
Private memory
th
Cache
g
Bus
(b)
(c)
cu
u
du
on
(a)
2017
Kiến trúc máy tính
CuuDuongThanCong.com
494
/>
NKK-HUST
SMP (tiếp)
n
n
om
.c
ng
du
cu
u
n
on
g
n
co
n
an
n
Một máy tí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ý
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
Hiệu năng: Các cơng việc có thể thực hiện song
song
Khả năng chịu lỗi
th
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
495
/>
NKK-HUST
NUMA (Non-Uniform Memory Access)
om
CPU Memory
CPU Memory
ng
Local bus
Local bus
Local bus
Local bus
an
co
MMU
CPU Memory
.c
CPU Memory
th
System bus
n
g
on
du
n
Có một khơng gian địa chỉ chung cho tất cả CPU
Mỗi CPU có thể truy cập từ xa sang bộ nhớ của
CPU khác
Truy nhập bộ nhớ từ xa chậm hơn truy nhập bộ
nhớ cục bộ
cu
u
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
496
/>
NKK-HUST
Bộ xử lý đa lõi (multicores)
om
.c
(a) Superscalar
ng
Register 1
PC n
PC 1
Instruction fetch unit
Execution units and queues
L1 instruction cache
L1 data cache
L2 cache
Processor 2
(superscalar or SMT)
Processor 3
(superscalar or SMT)
L1-I
L1-D
L1-I
L1-D
Processor n
(superscalar or SMT)
Processor 1
(superscalar or SMT)
(b) Simultaneous multithreading
L1-I
L1-D
co
an
cu
u
n
L2 cache
L1-I
L1-D
n
th
n
L1 data cache
Issue logic
g
n
Tuần tự
Pipeline
Siêu vô hướng
Đa luồng
Đa lõi: nhiều CPU
trên một chip
L1 instruction cache
on
n
Issue logic
Single-thread register file
Execution units and queues
Registers n
Thay đổi của bộ xử
lý:
du
n
Program counter
Instruction fetch unit
L2 cache
(c) Multicore
2017
Kiến trúc máy tính
CuuDuongThanCong.com
497
/>
NKK-HUST
Các dạng tổ chức bộ xử lý đa lõi
CPU Core n
CPU Core 1
L1-D L1-I
L1-D L1-I
L1-D L1-I
L1-D L1-I
L2 cache
L2 cache
.c
ng
L2 cache
co
I/O
Main memory
an
Main memory
I/O
(b) Dedicated L2 cache
on
g
th
(a) Dedicated L1 cache
CPU Core n
om
CPU Core 1
CPU Core n
du
CPU Core 1
cu
u
L1-D L1-I
L1-D L1-I
CPU Core 1
CPU Core n
L1-D L1-I
L1-D L1-I
L2 cache
L2 cache
L2 cache
Main memory
L3 cache
I/O
Main memory
(c) Shared L2 cache
2017
I/O
(d ) Shared L3 cache
Kiến trúc máy tính
CuuDuongThanCong.com
498
/>
NKK-HUST
32-kB L1 Caches
Execution
resources
Arch. state
Arch. state
Execution
resources
Thermal control
APIC
APIC
Power management logic
du
2MiB shared L2 cache
2 MB L2 shared cache
Bus interface
cu
u
n
Thermal control
g
32KiB instruction and
32KiB data
on
n
32-kB L1 Caches
.c
ng
th
n
co
n
2006
Two x86 superscalar,
shared L2 cache
Dedicated L1 cache
per core
an
n
om
Intel - Core Duo
Front-side bus
2017
Kiến trúc máy tính
CuuDuongThanCong.com
499
/>
NKK-HUST
Core 1
Core 2
Core 3
Core 4
Core 5
32 kB 32 kB
L1-I L1-D
32 kB 32 kB
L1-I L1-D
32 kB 32 kB
L1-I L1-D
32 kB 32 kB
L1-I L1-D
32 kB 32 kB
L1-I L1-D
32 kB 32 kB
L1-I L1-D
256 kB
L2 Cache
256 kB
L2 Cache
256 kB
L2 Cache
256 kB
L2 Cache
256 kB
L2 Cache
256 kB
L2 Cache
12 MB
L3 Cache
on
g
th
an
co
ng
Core 0
.c
om
Intel Core i7-990X
QuickPath
Interconnect
cu
u
du
DDR3 Memory
Controllers
3 ؋ 8B @ 1.33 GT/s
2017
4 ؋ 20B @ 6.4 GT/s
Kiến trúc máy tính
CuuDuongThanCong.com
500
/>
NKK-HUST
9.3. Đa xử lý bộ nhớ phân tán
Node
Memory
om
CPU
…
Disk
and
I/O
…
ng
Local interconnect
Disk
and
I/O
co
Local interconnect
.c
…
th
an
Communication
processor
n
Máy tính qui mơ lớn (Warehouse Scale Computers
or Massively Parallel Processors – MPP)
Máy tính cụm (clusters)
cu
u
n
du
on
g
High-performance interconnection network
2017
Kiến trúc máy tính
CuuDuongThanCong.com
501
/>
NKK-HUST
.c
om
Mạng liên kết
(b)
(d)
cu
u
du
on
g
(c)
th
an
co
ng
(a)
2017
(e)
(f)
(g)
(h)
Kiến trúc máy tính
CuuDuongThanCong.com
502
/>
NKK-HUST
.c
ng
cu
u
du
n
on
g
th
n
co
n
Hệ thống qui mô lớn
Đắt tiền: nhiều triệu USD
Dùng cho tính tốn khoa học và các bài
tốn có số phép tốn và dữ liệu rất lớn
Siêu máy tính
an
n
om
Massively Parallel Processors
2017
Kiến trúc máy tính
CuuDuongThanCong.com
503
/>
NKK-HUST
co
ng
.c
om
IBM Blue Gene/P
(c)
(d)
th
(b)
System
72 Cabinets
73728 Cards
73728 Chips
294912 CPUs
144 TB
g
Cabinet
32 Boards
1024 Cards
1024 Chips
4096 CPUs
2 TB
on
Board
32 Cards
32 Chips
128 CPUs
64 GB
(e)
cu
u
(a)
Card
1 Chip
4 CPUs
2 GB
du
Chip:
4 processors
8-MB L3 cache
an
2-GB
DDR2
DRAM
2017
Kiến trúc máy tính
CuuDuongThanCong.com
504
/>
NKK-HUST
Cluster
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)
Mỗi máy tính có thể làm việc độc lập (PC
hoặc SMP)
Mỗi máy tính được gọi là một node
Các máy tính có thể được quản lý làm việc
song song theo nhóm (cluster)
Tồn bộ hệ thống có thể coi như là một máy
tính song song
Tính sẵn sàng cao
Khả năng chịu lỗi lớn
ng
cu
u
n
du
on
g
n
th
n
an
co
n
.c
om
n
n
n
2017
Kiến trúc máy tính
CuuDuongThanCong.com
505
/>