1. Trang chủ
  2. » Công Nghệ Thông Tin

KIẾN TRÚC CÁC HỆ THỐNG TÍNH TOÁN - CHƯƠNG 1 pdf

88 442 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiến Trúc Các Hệ Thống Tính Toán
Tác giả Nguyễn Phú Bình, Trần Trung Kiên
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Kỹ thuật Máy tính
Thể loại Tài liệu tham khảo
Năm xuất bản Không rõ
Thành phố Hà Nội
Định dạng
Số trang 88
Dung lượng 6,46 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục đích của môn học  Giúp sinh viên:  Nắm được những nguyên tắc cơ bản của xử lý song song và thực hiện cơ chế song song trong các hệ tính toán khác nhau  Làm quen với các đặc điểm v

Trang 2

Lưu ý của tác giả

 Không được tự ý sao chép hay quảng bá bài giảng này khi chưa được sự đồng ý của các tác giả.

 Địa chỉ liên hệ của các tác giả:

Nguyễn Phú Bình

Email: ngphubinh@yahoo.com Mobile: 0983533925

Website: http://phubinh.vicosoft.com/ktmt

Trần Trung Kiên

Email: trankien_bk@yahoo.com Mobile: 0914919392

Bộ môn Kỹ thuật Máy tính

Khoa Công nghệ Thông tin Trường Đại học Bách Khoa Hà Nội

Trang 3

Mục đích của môn học

 Giúp sinh viên:

 Nắm được những nguyên tắc cơ bản của xử lý song song và thực hiện cơ chế song song trong các hệ tính toán khác nhau

 Làm quen với các đặc điểm về hiệu suất và hiệu năng của hệ thống song song, các điểm đặc biệt trong việc thực hiện các giải thuật song song trên các hệ thống tính toán.

 Nắm được khái niệm về các lớp hệ thống tính toán song song hiện đại.

Trang 4

Yêu cầu của môn học

 Yêu cầu sinh viên cần phải có kiến thức về Kiến trúc

máy tính, Vi xử lý và Hệ điều hành

 Kết thúc môn học sinh viên cần phải:

 Nắm được các kiểu cấu trúc cơ bản của các hệ thống tính

toán hiện đại hiệu năng cao, sơ đồ phân loại các hệ thống tính toán song song, nguyên tắc tổ chức và các chức năng của

Trang 5

Tài liệu tham khảo

 Hesham El-Rewini, Mostafa Abd-El-Barr, Advanced

Computer Architecture And Parallel Processing,

John Wiley & Sons, Inc., 2005

 Ananth Grama, Anshul Gupta, George Karypis, Vipin

Kumar, Introduction to Parallel Computing, Addison

Wesley, 2003

Trang 6

Kiến trúc các hệ thống tính toán

Chương 1

TỔNG QUAN VỀ HỆ THỐNG TÍNH TOÁN

Nguyễn Phú Bình – Trần Trung Kiên

Bộ môn Kỹ thuật Máy tính, Khoa Công nghệ Thông tin

Trang 7

Nội dung chương 1

1.1 Sự phát triển của máy tính và kiến trúc song song

1.2 Các mức song song của hệ thống

1.3 Hiệu năng của hệ thống song song

1.4 Phân loại các hệ thống song song

1.5 Các hệ thống song song hiện đại

Trang 8

1.1 Sự PT của MT và kiến trúc song song

 Từ khi ra đời cho đến nay, máy tính điện tử đã phát

Trang 9

Thế hệ 1: Máy tính dùng đèn điện tử

 1946: John Mauchley và J.Presper Eckert chế tạo ra

ENIAC (Electronic Numerical Integrator and Computer)

- máy tính điện tử đa năng đầu tiên:

 Gồm gần 18000 đèn điện tử chân không và 1500 rơle điện tử

 Nặng 30 tấn, chiếm diện tích 170m 2 , tiêu thụ 170KW

 Có 20 thanh ghi, mỗi thanh ghi chứa được 1 số thập phân 10 chữ số

 Xử lý số ở hệ thập phân

 Bộ nhớ chỉ lưu trữ dữ liệu

 Hoạt động bằng cách thiết lập vị trí của các công tắc và các cáp nối

Trang 10

Đèn điện tử chân không

Trang 11

Máy ENIAC

Trang 12

Thiết kế của von Neumann/Turing

 Dựa trên ý tưởng chương trình được lưu trữ

(stored-program concept)

 Bộ nhớ chính chứa chương trình và dữ liệu

 ALU thực hiện các phép toán với số nhị phân

 Đơn vị điều khiển giải mã lệnh từ bộ nhớ và thực hiện

 Đơn vị điều khiển điều khiển hoạt động của các thiết bịvào-ra

 Trở thành mô hình cơ bản của các thế hệ máy tính sau này

Trang 13

Kiến trúc Von Neumann

Kiến trúc Von Neumann Máy IAS (1947-1952) do Von Neumann thiết kế

Trang 14

Thế hệ 2: Máy tính dùng Transistor

 1947: John Bardeen, Walter Brattain và William

Shockley phát minh ra transistor ở Bell Labs (Mỹ)

 Các máy tính thế hệ này nhanh hơn, nhỏ gọn hơn và

tiêu thụ điện năng ít hơn so với thế hệ trước

Trang 15

Một số máy tính thế hệ 2

 Công ty DEC (Digital Equitment Corporation):

 1960: máy PDP-1 (Programmed Data Processor-1)

 Máy tính mini đầu tiên.

 Thời gian chu trình lệnh 5s (=½ IBM 7090 – nhanh nhất lúc đó)

 Trị giá 120000$ (IBM 7090 trị giá hàng triệu $)

 Công ty CDC (Control Data Corporation):

 1964: chế tạo máy CDC 6600

 Siêu máy tính đầu tiên, nhanh hơn IBM 7094

 CPU gồm các đơn vị chức năng có khả năng chạy song song

 Gồm cả một số minicomputer chuyên xử lý vào-ra

 Thực hiện được 10 triệu lệnh/s

 Trị giá 10 triệu USD

Trang 16

Máy PDP-1 và CDC 6600

Trang 18

Quy trình chế tạo IC

Sản xuất

wafer In li-tô

Cưa wafer thành khuôn

Đóng vỏ cho khuôn

Layout của các lớp vi mạch

Trang 19

Công nghệ mạch tích hợp

 Cho phép xây dựng các siêu máy tính mạnh hơn

 1976: CRAY-1 do Cray Research Corporation thiết kế

 Thực hiện được 160 triệu lệnh/s

 Có đến 8MB bộ nhớ

 Bộ vi xử lý (microprocessor) – CPU được chế tạo trên

1 chip ra đời (1971: Intel 4004 – bộ vi xử lý 4 bit)

Trang 20

Siêu máy tính CRAY-1

Trang 21

Intel 4004 - Bộ vi xử lý đầu tiên

Trang 22

Thế hệ 4: Máy tính dùng vi mạch VLSI

 Các công nghệ mạch tích hợp:

 SSI (Small scale integration) – từ 1965

 Tích hợp tới 100 transistor trên một chip

 MSI (Medium scale integration) – cho đến 1971

 Tích hợp từ 100 đến 3,000 transistor trên một chip

 LSI (Large scale integration) – từ 1971 đến 1977

 Tích hợp từ 3,000 đến 100,000 transistor trên một chip

 VLSI (Very large scale integration) – từ 1978 đến nay

 Tích hợp từ 100,000 đến 100,000,000 transistor trên một chip

 ULSI (Ultra large scale integration)

 Có hơn 100,000,000 transistor trên một chip

Trang 23

Các công nghệ sản xuất máy tính

Trang 24

Các sản phẩm của công nghệ VLSI

 Bộ vi xử lý (Microprocessor): CPU được chế tạo trên

một chip

 Các vi mạch điều khiển tổng hợp (Chipset): các vi

mạch thực hiện được nhiều chức năng điều khiển và

nối ghép

 Bộ nhớ bán dẫn (Semiconductor Memory), gồm hai

loại chính: ROM và RAM

 Các bộ vi điều khiển (Microcontroller): máy tính

chuyên dụng được chế tạo trên một chip

Trang 25

Các loại máy tính phổ biến hiện nay

 Máy tính nhúng (Embedded Computer)

 Máy tính cá nhân (Personal Computer - PC)

 Máy trạm làm việc (Workstation)

 Máy chủ (Server)

 Máy tính lớn (Mainframe Computer)

 Siêu máy tính (Super Computer)

Trang 26

Đặc điểm của kiến trúc Von Neumann

 Tốc độ của bộ xử lý ngày càng được nâng cao và

nhanh hơn so với tốc độ truy cập bộ nhớ

 Hiện tượng thắt cổ chai (bottle-neck): trong các chu

trình lệnh, CPU sẽ lãng phí một vài chu kỳ đồng hồ đểchờ đợi quá trình truy cập bộ nhớ

 Kiến trúc song song là một giải pháp hữu hiệu để

tăng năng lực cho các hệ thống tính toán

Trang 27

Kiến trúc máy tính song song

 Định nghĩa của Alamsi và Gottlieb (1989):

Máy tính song song là máy tính bao gồm một tập các

bộ xử lý tương tác với nhau và cùng phối hợp để giải quyết nhanh hơn các bài toán lớn

Trang 28

Nội dung chương 1

1.1 Sự phát triển của máy tính và kiến trúc song song

1.2 Các mức song song của hệ thống

1.3 Hiệu năng của hệ thống song song

1.4 Phân loại các hệ thống song song

1.5 Các hệ thống song song hiện đại

Trang 29

1.2 Các mức song song của hệ thống

1 Song song mức bộ nhớ

2 Song song mức bộ xử lý

Trang 31

a Mô hình bộ nhớ riêng biệt

Trang 32

Mô hình bộ nhớ riêng biệt

 Hệ thống được tạo bởi các máy tính riêng biệt kết nối với nhau bằng mạng nội bộ tốc độ cao

 Những hệ thống song song kiểu này được gọi là hệ

thống Boewufs hay Beowulf Cluster (hệ thống bó

Beowulf) Các máy tính trong Cluster có thể là các máy tính cá nhân, các máy trạm (đơn bộ xử lý hoặc đa bộ

xử lý đối xứng - SMP)

 Mô hình lập trình cho các ứng dụng trong hệ thống này được gọi là mô hình truyền thông điệp (message

passing)

Trang 33

Mô hình lập trình truyền thông điệp

 Một chương trình thường bao gồm nhiều tiến trình con được thực hiện đồng thời, mỗi tiến trình được thực

hiện trên một máy có vùng nhớ và dữ liệu riêng và có

sử dụng các gói thông điệp (messages) để truyền

thông với nhau

 Phương pháp giao tiếp giữa các nút tính toán trong mô hình này được thực hiện cách đóng gói dữ liệu thành các thông điệp theo một khuôn dạng xác định và truyền

đi trong mạng Việc truyền và nhận được thực hiện

bằng cách gọi các hàm của thư viện lập trình song

song

Trang 34

Mô hình lập trình truyền thông điệp

Trang 35

Thư viện MPI

 Thư viện truyền thông điệp được sử dụng nhiều nhất hiện nay là MPI (Message Passing Interface):

 Bao gồm các hàm bằng C, C++ hoặc Fortran dùng để truyền thông giữa các tiến trình.

 Là kết quả của hơn 2 năm thảo luận của MPI Forum - nhóm gồm khoảng 60 người từ 40 tổ chức khác nhau đại diện cho những nhà phân phối các hệ thống song song, những phòng thí nghiệm quốc gia và những trường đại học danh tiếng.

Trang 36

b Mô hình bộ nhớ chia sẻ

Trang 37

Mô hình bộ nhớ chia sẻ

 Trong mô hình này, các CPU sử dụng chung một

không gian nhớ vật lý

 Mọi CPU đều có khả năng truy cập như nhau tới dữ

liệu trong không gian nhớ chung đó

 Các CPU trao đổi thông tin thông qua các đường bus tốc độ cao

 Một trong những vấn đề quan trọng trong mô hình này

là cách tổ chức và quản lý việc sử dụng bộ nhớ của

các tiến trình do các CPU thực hiện

Trang 38

Quản lý bộ nhớ trong mô hình

Trang 39

Mô hình cải tiến có sử dụng Cache

 Hầu hết các hệ thống máy tính hiện đại ngày nay đều

sử dụng bộ nhớ Cache để giảm độ trễ và tăng băng

Trang 40

Mô hình hiện đại có dùng Cache

Trang 41

 Superscalar Processing (Xử lý siêu vô hướng)

 Explicitly Parallel Instructions

 SIMD and Vectors (Đơn dòng lệnh đa dòng dữ liệu và vector)

Trang 42

a Kiến trúc kiểu Superscalar

 Các thành phần chính trong CPU:

 Arithmetic Logic Unit (ALU): tính toán số học và logic.

 Floating-Point Unit (FPU): thực hiện các phép toán với số dấu chấm động.

 Load/Store Unit: thực hiện nạp và lưu dữ liệu.

 Registers: thường được chia làm 2 loại:

 Thanh ghi dấu chấm động (Floating-Point Registers FPRs)

 Thanh ghi thông thường (General Purpose Registers GPRs).

Trang 43

Nhắc lại kiến trúc truyền thống

Trang 44

Kiến trúc kiểu Superscalar

 Xét ví dụ sau:

Real a,b,c Integer i,j,k

Trang 46

Kiến trúc Superscalar

 Các lệnh riêng biệt được thực hiện đồng thời, vì vậy

kiến trúc này còn được gọi là song song mức lệnh

Trang 47

 Theo thứ tự bên trái: CPU thực hiện mất 3 chu kỳ

 Theo thứ tự bên phải: CPU thực hiện mất 2 chu kỳ

Trang 48

Nhược điểm của kiến trúc Superscalar

 Phức tạp khi thiết kế phần cứng: trước khi thực hiện

các thao tác song song, bộ xử lý phải kiểm tra xem

chúng có phụ thuộc nhau không

 Có một cách tiếp cận khác là chuyển công việc xác

định tập các lệnh có thể thực thi song song cho trình

biên dịch (Compiler)  Kiến trúc Explicitly Parallel

Instructions

Trang 49

b Explicitly Parallel Instructions

 Mỗi một lệnh sẽ chứa các lệnh con riêng lẻ Vì vậy kiến trúc này còn gọi là kiến trúc từ lệnh dài (Very Long Instruction Word)

 Các lệnh con này được thực hiện bởi các đơn vị thực thi khác nhau của CPU

 Việc phân tích các lệnh và xác định các lệnh

con có thể thực hiện song song được tiến hành bởi trình biên dịch (Compiler).

Trang 50

Explicitly Parallel Instructions (tiếp)

Trang 51

c SIMD and Vectors

 SIMD (Single-Instruction Multiple-Data streams) and

Vectors

 Thực hiện cùng một thao tác trên các dữ liệu

khác nhau bằng cách sử dụng đồng thời nhiều các đơn vị chức năng của CPU.

Trang 52

Nội dung chương 1

1.1 Sự phát triển của máy tính và kiến trúc song song

1.2 Các mức song song của hệ thống

1.3 Hiệu năng của hệ thống song song

1.4 Phân loại các hệ thống song song

1.5 Các hệ thống song song hiện đại

Trang 53

1.3 Hiệu năng của hệ thống song song

 Hiệu năng tuyệt đối (Absolute Performance): thời gian

để hoàn thành công việc

 Tốc độ xử lý (Processing Rate): được tính bằng số

phép toán dấu chấm động trong một giây (Floating

Point Operations Per Second – FLOPS)

Trang 54

Bài toán tăng tốc (Speedup)

 Sự tăng tốc của hệ thống (Speedup):

Speedup = Thời gian sử dụng 1 bộ xử lý để giải quyết bài toán / Thời gian sử dụng hệ thống song song nhiều

bộ xử lý để giải quyết bài toán đó

Trang 55

Cách tính Speedup của hệ thống

 Giả sử một công việc có thể chia đều thành n công

việc con và mỗi công việc con có thể được thực hiện trên 1 processor

 Thời gian để thực hiện công việc trên 1 bộ xử lý là T

 Thời gian để thực hiện 1 công việc con là: t = T/n

 Thời gian dùng cho truyền thông khi thực hiện 1 công việc con là tc

 Speedup:

Trang 56

Cách tính Speedup của hệ thống (tiếp)

 Nhận xét:

 Khi T >> tc:

S(n) ~ n  tốc độ của hệ thống tăng n lần khi dùng n bộ xử lý

 Khi T << tc hoặc T ~ tc: tốc độ của hệ thống bị giảm hoặc tăng không đáng kể nếu dùng nhiều bộ xử lý.

Trang 57

Nội dung chương 1

1.1 Sự phát triển của máy tính và kiến trúc song song

1.2 Các mức song song của hệ thống

1.3 Hiệu năng của hệ thống song song

1.4 Phân loại các hệ thống song song

1.5 Các hệ thống song song hiện đại

Trang 58

1.4 Phân loại các hệ thống song song

1 Phân loại của Flynn

2 Phân loại của Shore

Trang 59

1 Phân loại của Flynn

 Theo tài liệu: Flynn, M “Some Computer Organizations

and Their Effectiveness”, IEEE Transactions on

Computers, 9/1972.

 Có 4 loại kiến trúc máy tính:

SISD (Single Instruction Single Data stream): kiến trúc đơn

Trang 60

a Kiến trúc SISD

 Đơn dòng lệnh

 Một bộ xử lý

 Dữ liệu được lưu trữ trong một bộ nhớ

 Chính là kiến trúc Von Neumann

Trang 61

b Kiến trúc MISD

 Theo Flynn thì không tồn tại máy tính theo kiến trúc

này

Trang 63

d Kiến trúc 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:

 Multiprocessor (Shared Memory) – đa bộ xử lý

 Multicomputer (Distributed Memory) – đa máy tính

Trang 64

MIMD – Shared Memory

PE1

Bộ nhớ dùng chung

Trang 66

2 Phân loại của Shore

 Shore đưa ra phân loại này vào năm 1973, ông phân loại dựa trên cấu trúc và số lượng các đơn vị chức

năng trong máy tính

 Có 6 loại kí hiệu theo thứ tự số La Mã:

Trang 67

Loại I

 Là kiến trúc Von Neuman, chỉ có một đơn vị điều khiển

 Tương ứng với loại SISD trong cách phân loại của Flynn

 CPU làm việc với bộ nhớ theo chế độ từ nhớ word-slice

Control Unit

Processing Unit (Horizontal)

Memory (Word-slice)

Trang 68

Loại II

 Hơi giống loại I, tuy nhiên CPU làm việc với bộ nhớ

theo chế độ bit-slice

Trang 69

Loại III

 Là sự kết hợp của loại I và loại II

 Kiến trúc bao gồm 2 bộ xử lý:

 1 BXL trao đổi dữ liệu với bộ nhớ theo chế độ word-slice

 1 BXL trao đổi dữ liệu với bộ nhớ theo chế độ bit-slice

 VD: OMEN-60

Trang 70

Loại IV

 Là sự kết hợp của nhiều máy tính loại I, gồm:

 Một đơn vị điều khiển (Control Unit)

 Nhiều cặp bộ xử lý - bộ nhớ

 Ưu điểm: dễ mở rộng, chỉ cần thêm Processing Unit và Memory

 Nhược điểm: hạn chế về đường truyền do mọi thao tác đều phải thông

Trang 73

Nội dung chương 1

1.1 Sự phát triển của máy tính và kiến trúc song song

1.2 Các mức song song của hệ thống

1.3 Hiệu năng của hệ thống song song

1.4 Phân loại các hệ thống song song

1.5 Các hệ thống song song hiện đại

Trang 74

Các hệ thống song song hiện đại

1 Hệ đa xử lý đối xứng

(Symmetric Multi Processor - SMP)

2 Hệ truy cập bộ nhớ không đồng nhất

(Non-Uniform Memory Access - NUMA)

3 Hệ thống song song phân cụm

(Cluster)

4 Hệ xử lý song song cực lớn

(Massively Parallel Processing - MPP)

Trang 75

1 Hệ đa xử lý đối xứng (SMP)

 Tương đương với Uniform Memory Access (UMA)

 Thuộc mô hình song song kiểu bộ nhớ dùng chung

(Shared-memory)

Trang 76

Hệ đa xử lý đối xứng (tiếp)

 Một bộ xử lý có từ 2 bộ xử lý giống nhau trở lên

 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ý và quyền truy cập (read/wirte) tới bộ nhớ của các bộ

xử lý là như nhau  đa xử lý đối xứng

 Tất cả các bộ xử lý chia sẻ truy cậ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 hành bởi một hệ điều hành phân tán

Trang 77

Hệ đa xử lý đối xứng (tiếp)

 Trong các kiến trúc hiện đại: mỗi bộ xử lý đều có thêm

1 bộ nhớ cache làm tăng tốc độ truy cập bộ nhớ và

giảm xung đột truy cập bộ nhớ giữa các bộ xử lý

 VD: Sun Starfire Servers, HPV Series, Compaq

AlphaServer GS

 Hệ điều hành: Unix, Sun Solari, Windows, AIX,…

Trang 78

Ư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 1 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ý

Ngày đăng: 09/08/2014, 12:22

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w