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

Nguyễn Kim Khánh - ĐHBKHN

8