intTypePromotion=2
Array
(
    [0] => Array
        (
            [banner_id] => 141
            [banner_name] => KM2 - Tặng đến 100%
            [banner_picture] => 986_1568345559.jpg
            [banner_picture2] => 823_1568345559.jpg
            [banner_picture3] => 278_1568345559.jpg
            [banner_picture4] => 449_1568779935.jpg
            [banner_picture5] => 
            [banner_type] => 7
            [banner_link] => https://tailieu.vn/nang-cap-tai-khoan-vip.html
            [banner_status] => 1
            [banner_priority] => 0
            [banner_lastmodify] => 2019-09-18 11:12:45
            [banner_startdate] => 2019-09-13 00:00:00
            [banner_enddate] => 2019-09-13 23:59:59
            [banner_isauto_active] => 0
            [banner_timeautoactive] => 
            [user_username] => minhduy
        )

)

Giáo trình Hệ vi xử lý tiên tiến - Nguyễn Trung Đồng

Chia sẻ: Nguyễn Trung Đồng | Ngày: | Loại File: PDF | Số trang:120

0
139
lượt xem
36
download

Giáo trình Hệ vi xử lý tiên tiến - Nguyễn Trung Đồng

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Giáo trình Hệ vi xử lý tiên tiến giới thiệu các hệ vi xử lý tiên tiến, kỹ thuật đường ống và siêu hướng, các mô hình máy tính xử lý song song, sơ lược về lập trình và đặc trưng mạng. Đây là tài liệu tham khảo dành cho sinh viên ngành Điện điện tử.

Chủ đề:
Lưu

Nội dung Text: Giáo trình Hệ vi xử lý tiên tiến - Nguyễn Trung Đồng

  1. 1 Nguyễn Trung Đồng Tel. 0983 410 866 Chương I. Các Hệ Vi xử lý tiên tiến I.1.Tổng quan về Hệ Vi xử lý tiên tiến Các hệ Vi xử lý tiên tiến bắt đầu xuất hiện vào giữa những năm 1990 từ các hãng chế tạo hàng đầu thế giới như Intel, Motorola, Sun, IBM, DEC, AMD, … Đặc điểm cơ bản của các hệ Vi xử lý loại này là xử lý dữ liệu 32 bit hoặc 64 bit. BUS dữ liệu trong (Internal Data BUS) và BUS dữ liệu ngoài (External Data BUS) thường là 32 bit hoặc 64 bit. PUIQ DU A-BUS 32n (Prefetch Unit & Instruction Queue) (Decoding Unit) BIU D-BUS 32+j (BUS ICACHE Inter- (Instruction cache) C-BUS face BTC CU Unit) (Target Control (Control Unit) DCACHE Cache Unit) (Data Cache) MMU (Me- mory BUS nội (Internal BUS) 32n Ma- nage- ment IU (Integer Unit) FPU (Floating Point Unit) Unit) IRF FPRF SFU (Integer Register File) (Floating Point Register (Spe- File) cial Func- IOU FPOU tion (Integer Operation (Floating Point Operation Unit) Unit) Unit) Hình I.1. Sơ đồ khối bộ Vi xử lý công nghệ tiên tiến
  2. 2 Hệ Vi xử lý tiên tiến Các đơn vị chức năng cơ bản trong sơ đồ khối cấu trúc của một CPU công nghệ tiên tiến gồm: A-BUS (Address BUS): BUS địa chỉ D-BUS (Data BUS): BUS dữ liệu C-BUS (Control BUS): BUS điều khiển BIU (BUS Interface Unit): Đơn vị giao tiếp BUS MMU (Memory Management Unit): Đơn vị quản lý bộ nhớ SFU (Special Function Unit): Đơn vị chức năng đặc biệt PUIQ (Prefetch Unit and Instruction Queue): Đơn vị tiền đọc lệnh và hàng lệnh DU (Decoding Unit): Đơn vị giải mã ICACHE (Instruction Cache): Cache lệnh DCACHE (Data Cache): Cache dữ liệu BTC (Branche Target Control Cache Unit): Đơn vị cache điều khiển đích rẽ nhánh CU (Control Unit): Đơn vị điều khiển IU (Integer Unit): Đơn vị số nguyên FPU (Floating Point Unit): Đơn vị dấu phẩy động IRF (Integer Register File): Tệp thanh ghi số nguyên IOU (Integer Operation Unit): Đơn vị thao tác số nguyên
  3. 3 Nguyễn Trung Đồng Tel. 0983 410 866 FPRF (Floating Point Register File): Tệp thanh ghi số dấu phẩy động FPOU (Floating Point Operation Unit): Đơn vị thao tác số dấu phẩy động Với các bộ Vi xử lý 32 bit, các thanh ghi FPR và đơn vị số nguyên IU là 32 bit, BUS dữ liệu có thể là 32 bit, còn trong các bộ Vi xử lý 64 bit, thì IU là 64 bit, các FPR là 64 bit, BUS dữ liệu có thể là 64, 64x3 hoặc 64x4 bit (32n hoặc 32k, trong đó n, k là các số nguyên). BUS địa chỉ thường cho phép quản lý bộ nhớ có dung lượng đến 4GB (232), hoặc lớn hơn với BUS địa chỉ 32+j bit. Đơn vị giao tiếp BUS (BIU) là bộ đệm giữa các khối chức năng bên trong CPU với các thành phần chức năng bên ngoài gồm bộ nhớ, thiết bị vào/ra và được tổ chức hành ba loại giao tiếp sau:  Giao tiếp dữ liệu (Data Interface)  Giao tiếp địa chỉ (Address Interface)  Giao tiếp điều khiển (Control Interface). Các thành phần chức năng bên trong CPU được liên kết với nhau qua BUS bên trong (Internal BUS). Giao tiếp dữ liệu thực hiện việc kết nối trực tiếp với PUIQ và vùng nhớ cache. Giao tiếp địa chỉ được tạo bởi đơn vị MMU và địa chỉ của các vị trí nhớ, của thiết bị ngoại vi được đưa tới các thành phần tương ứng. Giao tiếp điều khiển gửi các tín hiệu điều khiển hoạt động và nhận các tín hiệu trạng thái (trạng thái sẵn sàng, tín hiệu yêu cầu ngắt v.v…), của các thành phần chức năng có liên lạc trao đổi dữ liệu với CPU. Các liên kết này được nối trực tiếp với đơn vị điều khiển CU.
  4. 4 Hệ Vi xử lý tiên tiến 32k Data BUS Data Interface PUIQ Prefetch Unit and Instruction Queue 32+j Address BUS Address Interface ICACHE Control BUS Control Interface DCACHE MMU Memory Management Unit Internal BUS 32n Hình I.2. Đơn vị giao tiếp BUS BIU Đơn vị tiền đọc lệnh và hàng lệnh (PUIQ) được xây dựng từ các mạch logic để đọc trước các lệnh từ ICACHE và đặt lệnh vào hàng đợi. Hàng đợi được tổ chức theo nguyên lý FIFO (First In First Out). Hàng đợi thường có độ dài từ 8 đến 32 byte. Từ hàng đợi, lệnh được chuyển tới đơn vị giải mã DU. Ở các hệ Vi xử lý tiên tiến, DU có thể đồng thời giải mã một số lệnh để được thực hiện theo cơ chế xử lý song song. Đơn vị các chức năng đặc biệt (SFU) bao gồm các đơn vị chức năng bổ sung thêm cho CPU như đơn vị đồ họa (Graphic Unit), đơn vị xử lý tín hiệu (Signal Processing Unit), đơn vị xử lý ma trận và vector (Vector and Matrix Unit), v.v… Một số bộ Vi xử lý có thể được tích hợp thêm một số SFU và cấu trúc này làm giảm tối thiểu thời gian trễ giao tiếp, nâng hiệu suất CPU lên đáng kể. Bộ nhớ Cache (Cache Memory) là bộ nhớ trung gian có tốc độ truy xuất rất cao, là vùng nhớ đệm giữa CPU và bộ nhớ chính. Với các CPU tiên tiến, bộ nhớ cache có dung
  5. 5 Nguyễn Trung Đồng Tel. 0983 410 866 lượng đủ lớn và tối ưu giúp cải tiến đáng kể hiệu suất làm việc của CPU nhờ được cung cấp lệnh và dữ liệu nhanh hơn nhiều so với bộ nhớ chính. Bộ nhớ cache thường được chia ra thành cache lệnh (ICACHE) và cache dữ liệu (DCACHE). BIU làm nhiệm vụ lấy thông tin (lệnh và dữ liệu) từ bộ nhớ chính vào bộ nhớ cache, ICACHE được kết nối trực tiếp với PUIQ. ICACHE và DCACHE được kết nối với các thành phần chức năng của CPU thông qua BUS bên trong (internal BUS) và BUS dữ liệu điều hành ODB (Operation Data BUS). Thông thường ODB có thể có độ rộng là 128 đến 256 bit để có khả năng chuyển tải một lúc nhiều toán hạng. Có thể thấy được vai trò quan trọng của bộ nhớ Cache thông qua sơ đồ tổ chức bộ nhớ theo phân cấp như ở hình I.3. Dung lượng Tốc độ truy xuất >1kB CPU < 1ns >1kB Tập các thanh ghi < 1-2ns < >64kB Bộ nhớ Cache L1 < 1-2ns >512kB Bộ nhớ Cache L2 < 4ns >1GB Bộ nhớ chính < 8ns >60GB Bộ nhớ ngoài (các ổ đĩa) < Hình I.3. Phân cấp bộ nhớ , dung lượng và tốc độ truy xuất Cache thứ cấp L2 nằm giữa cache sơ cấp L1 và bộ nhớ chính, kết nối trực tiếp với CPU không qua BUS hệ thống, được chế tạo từ RAM tĩnh nên có tốc độ truy xuất rất nhanh. Dung lượng cache thứ cấp L2 có thể lên đến hơn vài MB. Điều khiển và giao tiếp cache thứ cấp là mạch logic tổ hợp được tích hợp bên trong CPU.
  6. 6 Hệ Vi xử lý tiên tiến Hình I.5. cho thấy trong kiến trúc siêu hướng (superscalar) ICACHE được liên kết trực tiếp với đơn vị tiền đọc lệnh để thực thi việc xử lý song song các lệnh. CACHE thứ cấp L2 Hình I.4. Kết nối CACHE trong Vi xử lý Logic điều khiển cache thứ cấp L2 ICACHE IC IU BUS bên trong (Internal BUS) 32n BUS beeb trong (Internal BUS) 32n DCACHE IU FPU SFU BUS thao tác dữ liệu ODB 32n ICACHE 32i Instruction Fetch 32i Decoding Unit Control Unit Đơn vị thao tác Đơn vị thao tác Đơn vị thao tác đường ống 1 đường ống 2 đường ống i (Pipelined (Pipelined (Pipelined Operation Unit Operation Unit Operation Unit 1) 2) i)
  7. 7 Nguyễn Trung Đồng Tel. 0983 410 866 Hình I.5. Xử lý lệnh trong kiến trúc siêu hướng (Superscalar) Để nâng cao hiệu suất thực hiện, nhất là khi gặp các lệnh rẽ nhánh, các CPU được tích hợp thêm cache đích rẽ nhánh BTC (Branche Target Cache). Lệnh đích đầu tiên của lệnh rẽ nhánh được nạp vào vùng cache này, nên thời gian trễ do tìm lệnh đích trong bộ nhớ chính được giảm đáng kể. Trong một số trường hợp BTC chỉ chứa địa chỉ của các lệnh đích rẽ nhánh, chứ không chứa chính các lệnh đó. Đơn vị điều khiển (CU) có thể là “cứng hóa”, hoặc được lập trình như đối với các CPU họ x86 của Intel. Trong các CPU kiến trúc RISC, CU thường được “cứng hóa” nhằm tăng tốc độ thực hiện lệnh chỉ trong một chu kỳ đơn. Hầu hết các tín hiệu điều khiển của giao tiếp điều khiển được kết nối với CU. Các tín hiệu từ đơn vị giải mã lệnh cũng được đưa về CU. Tín hiệu phát ra từ CU được đưa đến các thành phần chức năng thực hiện lệnh. Đơn vị số nguyên (IU) thực hiện các phép xử lý với dữ liệu nguyên (integer) như các phép tính số học cộng/trừ, nhân/chia. IU có tệp thanh ghi 32 hoặc 64bit phụ thuộc vào loại CPU. Các Vi xử lý kiến trúc CISC có từ 8 đến 16 thanh ghi, còn các CPU kiến trúc RISC có thể có từ 32 đến hơn 100 thanh ghi. Dòng dữ liệu di chuyển theo hai đường (cho mỗi toán hạng là một đường) để tới các đơn vị thao tác xử lý thông qua ODB. Đơn vị điều phối lệnh đã dược giải mã nhận các tín hiệu từ CU và gửi tới các đơn vị thực hiện phép xử lý.
  8. 8 Hệ Vi xử lý tiên tiến Tương tự, đơn vị số dấu phẩy động (FPU) nhận dữ liệu từ DCACHE thông qua BUS thao tác dữ liệu chuyển tới các đơn vị xử lý. Đơn vị dịch ống (Barrel Shifter) có thể thực hiện phép dịch nhiều bit trong một chu kỳ đơn. Đơn vị điều khiển Đến FPU hoặc SFU Đơn vị điều phối lệnh đã được giải mã BUS bên trong 32n (Decoded Instruction Dispatcher) IRF Nx32 hoặc ADD/ ADD/ MUL/ MUL/ Nx64 SUB1 SUBi DIV1 DIVk BUS thao tác dữ liệu ODB 32n DCACHE Dịch ống (Barrel shifter) Hình I.6. Đơn vị số nguyên IU FPU có cấu trúc hoàn toàn tương tự IU, chỉ thay thế các khối xử lý nguyên bằng các khối xử lý dấu phẩy động. Với tệp các thanh ghi thì ở đơn vị số dấu phẩy động, N = 8 với các CPU CISC và là 32 hoặc nhiều hơn với các CPU RISC. Số dấu phẩy động được biểu diễn theo chuẩn IEEE 754- 1985 với chính xác đơn là 32 bit, chính xác gấp đôi là 64 bit, số chính xác mở rộng lên tới 80 bit.
  9. 9 Nguyễn Trung Đồng Tel. 0983 410 866 Đơn vị quản lý bộ nhớ (MMU) thực hiện các chức năng:  Chuyển đổi địa chỉ ảo hay địa chỉ logic thành địa chỉ vật lý của ô nhớ. Địa chỉ này được chuyển tới bộ nhớ cache hoặc tới bộ nhớ chính.  Đảm bảo cơ chế phân trang  Đảm bảo cơ chế phân đoạn  Đảm bảo chế độ bảo vệ bộ nhớ theo luật truy nhập theo đặc quyền  Quản lý bộ đệm duyệt chuyển đổi TLB (Translation Lookaside Buffer) hay cache chuyển đổi địa chỉ ATC (Address Translation Cache) để chuyển đổi địa chỉ ảo thành địa chỉ vật lý. Từ đơn vị tiền đọc Đến ICACHE BUS bên trong (Internal BUS) BUS bên trong (Internal BUS) Từ BIU Bộ đệm chuyển đổi Đơn vị phân trang Đơn vị phân đoạn Hình I.7. Đơn vị quản lý bộ nhớ MMU Các chip Vi xử lý công nghệ cao thường có đơn vị chức năng phân trang (Paging Unit) và TLB, hoặc ATC, chỉ có riêng họ Vi xử lý x86 của Intel có thêm đơn vị phân đoạn (Segment Unit). Trong MMU còn có mạch logic thực hiện chức năng giám sát các truy nhập đến các thư mục trang và
  10. 10 Hệ Vi xử lý tiên tiến các bảng tương ứng trong bộ nhớ chính, và nạp vào TLB số hiệu trang nếu như không tìm thấy trong TLB (hiện tượng chưa nạp số hiệu trang). I.2. Đặc điểm kiến trúc Hệ Vi xử lý tiên tiến Nói đến các hệ thống máy tính tiên tiến, khái niệm xử lý song song được quan tâm nhiều nhất, và là cơ sở để đánh giá tính tiên tiến, hiện đại của hệ thống. Phạm trù công nghệ trong các Hệ Vi xử lý tiên tiến chủ yếu tập trung vào các nhu cầu cấp thiết của sự hoàn thiện cấu hình cao, giá thành hạ, tổ chức sản xuất hàng thương phẩm và ứng dụng thực tiễn. Xử lý song song xuất hiện dưới những hình thức tổ chức và kiến trúc khác nhau, trong đó, các kiến trúc siêu hướng (Superscalar), kiến trúc đường ống (Pipeline), kiến trúc đa xử lý (Multiptiprocessor) và kiến trúc từ lệnh rất dài (VLIW – Very Long Instruction Word) là những kiến trúc tiêu biểu nhất. Tuy dưới dạng các kiến trúc khác nhau, nhưng về nguyên lý, xử lý song song có thể hiểu được thông qua một ví dụ cụ thể sau đây: Giả sử một nhiệm vụ T có thể chia thành n công việc con có kích thước xấp xỉ nhau và có thể xử lý đồng thời (thực hiện song song), thì nhiệm vụ T sẽ được thực hiện xong trong một khoảng thời gian ngắn hơn rất nhiều so với cách thực hiện theo tuần tự. Ví dụ phải tính tổng của N số hạng b1, b2, ….., bN. Đoạn chương trình đơn giản tính tổng đó có thể mô tả như sau: SUM = 0; for i = 1 to N do SUM = SUM +b(i);
  11. 11 Nguyễn Trung Đồng Tel. 0983 410 866 Trong máy tuần tự, sau N phép cộng, tổng sẽ là kết quả ở biến SUM. Nếu mỗi phép cộng được thực hiện trong khoảng thời gian là Tadd thì tổng thời gian là xấp xỉ NTadd . Giả sử có một máy tính có n bộ xử lý P1, P2, …, Pn giống nhau được kết nối theo cấu trúc mảng 2 chiều, mỗi bộ đồng thời tiếp nhận (receive) và gửi (send) dữ liệu cho bộ xử lý kề cận. P1 P2 P3 PN Hình I.8. Mảng tuyến tính 2 chiều gồm n bộ Vi xử lý Nếu thực hiện xử lý song song để tính tổng SUM trên hệ thống này, ta có thể chia cho mỗi bộ xử lý tính tổng của k số hạng, tổng SUM được tính qua k tổng của N/n số hạng, mà các tổng con này được tiến hành tính đồng thời. Bộ xử lý Pi chuyển kết quả phép cộng của nó cho bộ xử lý Pi+1, Kết quả của bộ xử lý Pi+1 chuyển sang cho bộ xử lý Pi+2, v.v…Như vậy, kết quả tống N số hạng sẽ nằm ở bộ xử lý Pn. Đoạn chương trình thực hiện phép tính tổng N số hạng sẽ như sau: SUM = 0; for i = 1 to k do SUM = SUM + b(i); if INDEX = 1 then begin if n > 1 then send (RIGHT, SUM) end else
  12. 12 Hệ Vi xử lý tiên tiến begin receive (LEFT, LEFTSUM); if INDEX < n then send (RIGHT,SUM); end; Từ chương trình thực hiện, thấy rằng thời gian T(n) cần để tính tổng SUM theo xử lý song song trên n bộ xử lý có 2 thành phần chính: N a) TL thời gian tính cục bộ để tính k = phép cộng n N đồng thời trên n bộ xử lý. TL = K1 trong đó K1 n là hằng số phụ thuộc vào thời gian cộng và lưu giữ trên 1 bộ Vi xử lý. b) TC là thời gian truyền thông để gửi dữ liệu trung gian qua n – 1 phép cộng. TC = K2(n-1) trong đó K2 phụ thuộc vào độ trễ truyền thông giữa các bộ Vi xử lý. N T(n) = TL + TC = K1 + K2(n-1) n Thời gian truyền dữ liệu giữa các bộ Vi xử lý lớn hơn rất nhiều so với thời gian tính toán, K2 » K1 và nếu n càng lớn thì TC càng lớn. Rõ ràng nếu n = 1 thì T(n) = K1N. I.3.Phân loại các bộ Vi xử lý song song Các bộ Vi xử lý song song có thể phân loại theo hành vi hoặc theo cấu trúc. Theo hành vi, chúng được phân loại
  13. 13 Nguyễn Trung Đồng Tel. 0983 410 866 dựa trên số lượng các lệnh và các toán hạng được xử lý đồng thời, còn theo cấu trúc chúng được phân loại theo cách kết nối các bộ Vi xử lý trong hệ thống. Tuy nhiên cả hai cách phân loại này cũng chỉ là tương đối. I.3.1. Phân loại theo Flynn a) Khái niệm chuỗi lệnh và chuỗi dữ liệu Chuỗi lệnh Bộ xử lý P Chuỗi dữ liệu Bộ nhớ M Hình I.9. Trao đổi chuỗi lệnh và chuỗi dữ liệu Đơn vị xử lý P đọc các lệnh (Fetching Instructions) và các dữ liệu (Operands) từ bộ nhớ, thực hiện lệnh (Executing Instructions) và chuyển kết quả vào bộ nhớ chính. Các bước thực hiện này gộp thành 1 chu kỳ lệnh (Instruction Cycle). Các lệnh có thể hình thành một chuỗi lệnh liên tiếp nhau (Instruction Stream) được đọc từ bộ nhớ vào bộ xử lý, các toán hạng cũng hình thành 1 chuỗi dữ liệu theo sau đó tới bộ xử lý. IS IS DS CU PU MU I/O a) Kiến trúc 1 processor SISD DS Dữ Chương DS PE1 LM1 liệu trình từ bộ được nhớ chính lấy từ IS CU bộ IS nhớ DS DS chính PEn LMn b) Kiến trúc multiprocessor SIMD với bộ nhớ phân tán
  14. 14 Hệ Vi xử lý tiên tiến b) Phân loại theo Flynn là phân loại theo chuỗi lệnh và chuỗi dữ liệu. Hình a, b, c, d dưới đây mô tả các hệ xử lý song song theo cách phân loại của Flynn IS CU1 IS PU1 DS I/O Bộ nhớ chia sẻ I/O CUn IS PUn DS IS c) Kiến trúc MIMD với bộ nhớ chia sẻ IS IS IS CU1 CU2 CUn Bộ nhớ IS IS IS (chương trình & dữ DS DS DS liệu) PU1 PU2 PUn DS I/O d) Kiến trúc MISD Các ký hiệu viết tắt: CU (Control Unit) Đơn vị điều khiển
  15. 15 Nguyễn Trung Đồng Tel. 0983 410 866 PU (Processing Unit) Đơn vị xử lý MU (Memory Unit) Đơn vị nhớ IS (Instruction Stream) Chuỗi lệnh DS (Data Stream) Chuỗi dữ liệu PE (Processing Element) Phần tử xử lý LM (Local Memory) Bộ nhớ cục bộ Như vậy, theo Flynn, các hệ thống xử lý song song được chia thành 4 loại theo số lượng chuỗi lệnh và chuỗi dữ liệu: a) SISD (Single Instruction Stream over Single Data Stream) Máy tính với chuỗi lệnh đơn xử lý chuỗi dữ liệu đơn. b) SIMD (Single Instruction Stream over Multiple Data Stream) Máy tính với chuỗi lệnh đơn xử lý chuỗi đa dữ liệu c) MISD (Multiple Instruction Stream over Single Data Stream) Máy tính với chuỗi đa lệnh xử lý chuỗi dữ liệu đơn d) MIMD (Multiple Instruction Stream over Multiple Data Stream) Máy tính với chuỗi đa lệnh xử lý chuỗi đa dữ liệu. Với cách phân loại như trên, trong thực tế máy tính MIMD thường được sử dụng như máy tính đa năng, còn các hệ thống SIMD và MISD là những hệ thống máy tính chuyên dụng. Trong thực tế, máy tính MIMD được sử dụng nhiều nhất, tiếp theo là các máy loại MISD rồi đến loại máy tính SIMD.
  16. 16 Hệ Vi xử lý tiên tiến I.3.2. Phân loại theo kiến trúc Theo quan điểm kiến trúc, máy tính xử lý song song được phân thành 2 loại chủ yếu là máy tính đa xử lý (Multiprocessors) và kiến trúc đa máy tính (Multicomputers). Thực tế, các máy tính này khác nhau cơ bản ở tổ chức bộ nhớ chia sẻ dùng chung và tổ chức bộ nhớ phân tán. a) Đa xử lý với bộ nhớ chia sẻ được phân ra làm 3 loại: Mô hình với bộ nhớ truy xuất đồng nhất (UMA – Uniform Memory-Access), bộ nhớ truy xuất không đồng nhất (NUMA – Nonuniform Memory-Access) và cuối cùng là loại kiến trúc chỉ-có-bộ-nhớ-cache (COMA – Cache-Only Memory Architecture).  Với mô hình đa xử lý với bộ nhớ truy xuất bộ nhớ đồng nhất (UMA), bộ nhớ vật lý được chia sẻ đồng nhất cho tất cả các đơn vị xử lý. Tất cả các bộ xử lý đều có tốc độ truy xuất bằng nhau đối với tất cả các từ nhớ. Mỗi đơn vị xử lý có thể có cache riêng, nhưng các thiết bị ngoại vi thì cũng được chia sẻ đồng nhất. Đa xử lý được gọi là hệ thống gắn kết chặt chẽ (tightly coupled systems) vì hình thức chia sẻ nguồn tài nguyên chung. Liên kết giữa các đơn vị xử lý được thực hiện dưới dạng BUS chung thông qua các chuyển mạch chéo, hoặc thông qua các mạng nhiều tầng. Các hệ thống loại này rất thích hợp với các ứng dụng đa năng và ứng dụng nhiều người dùng thông qua việc chia sẻ theo thời gian. Đặc biệt hơn, loại hệ thống này được sử dụng cho những chương trình ứng dụng lớn cần được thực thi trong khoảng thời gian bị hạn chế. Việc tổ chức đồng bộ và liên kết xử lý các sự
  17. 17 Nguyễn Trung Đồng Tel. 0983 410 866 kiện song song được thực hiện trong các đơn vị xử lý thông qua việc chia sẻ biến lưu giữ trong bộ nhớ dùng chung. Khi tất cả các bộ xử lý đều có thời gian truy xuất như nhau đối với các thiết bị ngoại vi, hệ thống được gọi là đa xử lý đối xứng. Trong hệ thống này, tất cả các bộ xử lý đều có khả năng thực hiện các chương trình khả thi, cũng như kernel hệ điều hành và các thủ tục phục vụ ngoại vi. Trong hệ thống đa xử lý phi đối xứng chỉ có một số các đơn vị xử lý có khả năng thực thi chương trình. Đơn vị xử lý chủ có thể thực hiện các chương trình của hệ điều hành và phục vụ các thiết bị ngoại vi, các bộ xử lý khác chỉ có khả năng phục vụ các thiết bị ngoại vi và được gọi là các bộ xử lý gắn kèm (attached processors – Aps). Các bộ xử lý gắn kèm thực hiện lệnh dưới sự giám sát của đơn vị xử lý chủ. Các bộ xử lý P1 P2 Pn Mạng kết nối hệ thống (BUS, thiết bị chuyển mạch, mạng nhiều tầng) Bộ nhớ chia sẻ IO SM1 SMm Hình I.10. Mô hình đa xử lý truy xuất bộ nhớ đồng nhất Với mô hình đa xử lý truy xuất bộ nhớ không đồng nhất (NUMA), thời gian truy xuất đến một vị trí nhớ là khác nhau. Mô hình hệ thống NUMA có bộ nhớ chia sẻ được phân phối cho từng đơn vị xử lý và được gọi là bộ nhớ cục bộ.
  18. 18 Hệ Vi xử lý tiên tiến Ngoài bộ nhớ phân tán, còn có thể có bộ nhớ toàn cục chia sẻ trong hệ thống đa xử lý. Như vậy, sẽ có 3 khả năng truy xuất bộ nhớ: Nhanh nhất là truy xuất bộ nhớ cục bộ, tiếp đến là truy xuất bộ nhớ toàn cục, và chậm nhất là khi truy xuất bộ nhớ phụ. LM1 P1 LM2 P2 Mạng kết nối LMn Pn Hình I.11a. Bộ nhớ cục bộ chia sẻ GSM GSM GSM Mạng kết nối toàn cục P CSM P CSM P CSM P CSM C C I I P NCSM P NCSM Cluster 1 Cluster N Hình I.11b. Mô hình liên kết phân cấp
  19. 19 Nguyễn Trung Đồng Tel. 0983 410 866 Có thể hiểu được dễ dàng, mô hình hệ thống này là sự hỗn hợp giữa bộ nhớ chia sẻ, bộ nhớ riêng với những quyền truy xuất riêng. Có thể nhận ra trên hình I.11b rằng các bộ xử lý được chia thành các cụm (cluster). Mỗi cụm là một hệ thống UMA hoặc NUMA. Các cụm được kết nối với bộ nhớ chia sẻ toàn cục. Toàn bộ hệ thống có thể coi là một hệ thống NUMA. Các bộ xử lý trên cùng một cụm được gọi là modul cụm bộ nhớ-chia sẻ. Tất cả các cụm có quyền bình đẳng truy xuất bộ nhớ toàn cục. Tất nhiên việc truy xuất bộ nhớ trong cụm bao giờ cũng nhanh hơn. Mỗi cụm có thể xác định quyền truy xuất đến các bộ nhớ được ghép nối giữa các cụm. b) Mô hình hệ thống kiến trúc chỉ-truy-xuất-bộ-nhớ- cache (COMA) Mạng kết nối D D D C C C P P P Hình I.12. Mô hình hệ đa xử lý COMA D: Directory (đường dẫn) C: Cache P: Processor
  20. 20 Hệ Vi xử lý tiên tiến Có thể coi hệ thống COMA là trường hợp đặc biệt của NUMA, trong đó bộ nhớ phân tán được chuyển thành bộ nhớ cache. Không tồn tại sự phân cấp bộ nhớ tại các điểm nút. Toàn bộ dung lượng nhớ cache tạo ra không gian địa chỉ toàn cục. Hiện tượng truy xuất cache từ ngoài phải thông qua đường dẫn cache phân tán D. Việc phân cấp đường dẫn D đôi khi cho phép định vị một bản sao chép cache tùy vào dạng mạng kết nối. Bên cạnh các kiến trúc UMA, NUMA, COMA, còn tồn tại những kiến trúc đa xử lý khác. Ví dụ như mô hình kiến trúc truy xuất bộ nhớ không đồng nhất liên kết cache (CC- NUMA: Cache-coherent non-uniforrm memory access) có thể được xác định với bộ nhớ phân tán chia sẻ và các đường dẫn cache. c) Mô hình đa máy tính bộ nhớ phân tán M M M P P P MP Mạng liên kết chuyển thông MP điệp (Message-passing interconnection Network) dạng MP lưới, vòng, lập thể … MP M M M P P P Hình I 13. Mô hình kiến trúc đa máy tính mạng liên kết chuyển thông điệp

CÓ THỂ BẠN MUỐN DOWNLOAD

AMBIENT
Đồng bộ tài khoản