Nghiên cứu thuật toán điều khiển thích nghi luồng tham chiếu để nâng cao tốc độ cho các hệ xử lý song song chuyên dụng
Trang 1ĐẠI HỌC THÁI NGUYÊN
CHU ĐỨC TOÀN
NGHIÊN CỨU THUẬT TOÁN ĐIỀU KHIỂN THÍCH NGHI LUỒNG THAM CHIẾU ĐỂ NÂNG CAO TỐC ĐỘ CHO CÁC HỆ XỬ LÝ SONG SONG CHUYÊN DỤNG
LUẬN ÁN TIẾN SĨ KỸ THUẬT
THÁI NGUYÊN - 2013
Trang 2ĐẠI HỌC THÁI NGUYÊN
CHU ĐỨC TOÀN
NGHIÊN CỨU THUẬT TOÁN ĐIỀU KHIỂN THÍCH NGHI LUỒNG THAM CHIẾU ĐỂ NÂNG CAO TỐC ĐỘ CHO CÁC
HỆ XỬ LÝ SONG SONG CHUYÊN DỤNG
Chuyên ngành: Kỹ thuật Điều khiển và Tự động hóa
Mã số: 62.52.02.16
LUẬN ÁN TIẾN SĨ KỸ THUẬT
Cán bộ hướng dẫn khoa học 1 Cán bộ hướng dẫn khoa học 2
PGS TS Đỗ Xuân Tiến PGS.TS Nguyễn Hữu Công
THÁI NGUYÊN - 2013
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả mới nêu trong luận án là hoàn toàn trung thực và chưa từng được ai công bố trong bất kì công trình nào khác
Ngày 21 tháng 6 năm 2013
Tác giả luận án
Chu Đức Toàn
Trang 4xử lý – Học viện Kỹ thuật Quân sự
Tôi xin chân thành cảm ơn lãnh đạo và các chuyên viên Phòng thí nghiệm Kỹ thuật Vi xử lý – Học viện Kỹ thuật Quân sự, đã tạo điều kiện về trang thiết bị thực nghiệm để tôi hoàn thành được phần thực nghiệm và mô phỏng của luận án
Tôi xin chân thành cảm ơn Khoa Sau đại học - Trường Đại học Kỹ thuật Công nghiệp, Đại học Thái Nguyên, xin chân thành cảm ơn Ban giám hiệu Trường Đại học Kỹ thuật Công nghiệp đã tạo những điều kiện thuận lợi nhất về mọi mặt để tôi hoàn thành khóa học Nghiên cứu sinh
Tác giả luận án
Trang 5MỤC LỤC
Trang
Mục lục……… iii
Danh mục các ký hiệu và các chữ viết tắt……… vi
Danh mục các bảng……… viii
Danh mục các hình vẽ và đồ thị……… ix
MỞ ĐẦU……… 1
Chương 1 KIẾN TRÚC HỆ XỬ LÝ SONG SONG ĐA CPU 6
1.1 Tài nguyên hệ thống……… 6
1.1.1 Tài nguyên phần cứng……… 6
1.1.2 Tài nguyên phần mềm……… 6
1.2 Định nghĩa hệ xử lý song song ……… 7
1.3 Phân loại hệ xử lý song song……… 7
1.3.1 Sơ đồ phân loại của Flynn……… 8
1.3.2 Sơ đồ phân loại của Handler……… 9
1.4 Kiến trúc chung hệ xử lý song song đa CPU……… 10
1.4.1 Mô hình……… 11
1.4.2 Những vấn đề liên quan đến hiệu năng……… 12
1.5 Kiến trúc chung hệ xử lý song song đa CPU chuyên dụng…… 19
1.5.1 Các đặc trưng của hệ xử lý song song chuyên dụng………… 19
1.5.2 Kiến trúc của hệ xử lý song song chuyên dụng……… 21
1.6 Luận giải, định hướng nghiên cứu của đề tài……… 25
1.7 Kết luận chương 1……… 30
Chương 2 XÂY DỰNG MÔ HÌNH TOÁN HỌC THAM CHIẾU BỘ NHỚ DÙNG CHUNG TRONG HỆ XỬ LÝ SONG SONG ĐA CPU CHUYÊN DỤNG 31 2.1 Cơ sở lý thuyết 31
Trang 62.2 Xây dựng mô hình toán học tham chiếu bộ nhớ dùng chung trong hệ
2.2.1 Mô hình truyền thống tham chiếu bộ nhớ dùng chung trong hệ xử lý song song đa CPU………… 35 2.2.2 Mô hình cải tiến tham chiếu bộ nhớ dùng chung trong hệ xử lý song song đa CPU………… 36 2.2.2.1 Xác định đại lượng P – Xác suất thanh ghi tham chiếu lối vào rỗi………… 37 2.2.2.2 Xác định đại lượng Ep – Hiệu năng khi các hàng đợi của các mô đun nhớ đầy ………… 44
2.2.2.3 Xác định El - Hiệu năng khi thanh ghi tham chiếu lối vào băng nhớ
rỗi………
47
Chương 3 XÂY DỰNG MÔ HÌNH ĐIỀU KHIỂN THÍCH NGHI
3.1 Xây dựng phần mềm khảo sát 53 3.1.1 Xây dựng mô đun chính phần mềm khảo sát 53 3.1.2 Xây dựng mô đun phần mềm tính toán hiệu năng hệ xử lý song song đa CPU trong quan hệ với chu kỳ bộ nhớ dùng chung Tc 55 3.1.3 Xây dựng mô đun phần mềm tính toán hiệu năng hệ xử lý song song đa CPU trong quan hệ với số lượng luồng tham chiếu n 57 3.1.4 Xây dựng mô đun phần mềm tính toán hiệu năng hệ xử lý song song đa CPU trong quan hệ với chu kỳ bộ nhớ Tc khi khảo sát ở giá trị ρ=0,5.………
59
Trang 73.4.2 Thiết kế hệ thống trên FPGA 73
3.6 Kết luận chương 3……… 83
KẾT LUẬN CHUNG VÀ KIẾN NGHỊ 84
DANH MỤC CÁC CÔNG TRÌNH CỦA TÁC GIẢ 85
TÀI LIỆU THAM KHẢO 86
Trang 8E l Hiệu năng khi thanh ghi tham chiếu lối vào rỗi
T l Chu kỳ của băng logic
T p Chu kỳ hiệu quả của bộ nhớ
T d
Độ trễ nhỏ nhất để truyền một tham chiếu từ hàng chờ vào môđun nhớ
T c Chu kỳ vật lý của môđun nhớ
P Xác suất thanh ghi lối vào rỗi
k Số môđun nhớ trong mỗi băng logic
l Số lượng băng logic trong hệ thống
q
Tốc độ khởi tạo tham chiếu trung bình của mỗi CPU (Xác suất một luồng tham chiếu đang ở trạng thái tự do sẽ khởi tạo một tham chiếu)
Xác suất mà một luồng tham chiếu ở trạng thái tự do
Xác suất một luồng tham chiếu đang thực hiện một tham chiếu thành
Trang 9DANH MỤC CÁC TỪ VIẾT TẮT
ALU Arithmetic Logic Unit đơn vị logic số học
CISC Bộ VXL với tập lệnh đầy đủ
CU Control Unit – đơn vị điều khiển;
DS Data stream – luồng dữ liệu
EX Execution - Thực hiện lệnh
FIFO First In First Out - Vào trước ra trước
FPGA Field Programmable Gate Array mảng cổng logic lập trình được
ID Instruction decoder – giải mã lệnh
IF Instruction fetch – nạp lệnh
IS Instruction stream – luồng lệnh
MIMD Multiple Instruction Multiple Data - Đa dòng lệnh đa dòng dữ
liệu
PE Processing Element – Phần tử xử lý
PU Processing Unit – Đơn vị xử lý
RISC Bộ vi xử lý với tập lệnh rút gọn
KGNDC Không gian nhớ dùng chung
Trang 10DANH MỤC CÁC BẢNG
Bảng 1.3: So sánh một số tính năng của hệ xử lý song
Bảng 3.1: Xác suất một yêu cầu đến khi hàng đợi chưa
đầy theo m và ρ với qui tắc hàng đợi M/D/1/m 63
Trang 11DANH MỤC CÁC HÌNH VẼ
Hình 1.10: Kiến trúc của hệ xử lý song song đa CPU chuyên dụng 21 Hình 1.11: Mô hình kiến trúc: a) Hệ xử lý CISC, b) Hệ xử lý RISC 23 Hình 1.12: Tác động của lệnh rẽ nhánh (I 3B ) đến đường ống 4 tầng 24
Hình 2.1: Tham chiếu bộ nhớ dùng chung trong hệ xử lý song
Hình 2.2: a Sơ đồ hàng đợi tổng quát;
b Sơ đồ hàng đợi cho hệ xử lý song song đa CPU 38
Hình 2.3: Tổ chức băng băng nhớ đan xen cho KGNDC trong hệ
Hình 3.1: Giao diện phần mềm tính toán hiệu năng hệ xử lý song
Hình 3.2:
Giao diện phần mềm tính toán hiệu năng hệ xử lý song song đa CPU trong quan hệ với chu kỳ bộ nhớ dùng chung Tc
57
Trang 12Hình 3.3:
Giao diện phần mềm tính toán hiệu năng hệ xử lý song song đa CPU trong quan hệ với số lượng luồng tham chiếu n
59
Hình 3.4:
Giao diện phần mềm tính toán hiệu năng hệ xử lý song song đa CPU trong quan hệ với chu kỳ bộ nhớ Tc khi khảo sát ở giá trị ρ=0.5
61
Hình 3.5:
Hiệu quả tham chiếu ngẫu nhiên băng nhớ logic theo T được so sánh trong hai trường hợp khi m =2 và trường hợp không có băng nhớ logic (m=0, T l =T d =0) 62
Hình 3.6: Sự phụ thuộc của E theo chu kỳ vật lý của mô đun nhớ
Hình 3.7: Đồ thị của E theo số luồng tham chiếu n a) T c =10; b)
Hình 3.8: Đồ thị của E theo chu kỳ vật lý mô đun nhớ Tc khi giữ
Hình 3.9: Sơ đồ khối hệ thống điều khiển thích nghi cơ bản 67
Hình 3.10: Sơ đồ khối điều khiển thích nghi luồng tham chiếu cho hệ xử
Hình 3.11: a) Cấu trúc của PLA b) Cấu trúc của PAL 69
Trang 13MỞ ĐẦU
1 Tính cấp thiết đề tài
Lý thuyết về xử lý song song (parallel processing) bắt đầu vào những năm
1940 khi J.Von Neumann giới thiệu một số mô hình hạn chế của tính toán song song, chủ yếu là một mảng hai chiều các bộ xử lý trạng thái hữu hạn được tương kết theo dạng hình lưới Ngày nay lý thuyết về xử lý song song trở thành lĩnh vực nghiên cứu quan trọng và ngày càng đem lại những dấu hiệu khả quan trong việc xây dựng mô hình lập trình mới có những tính năng vượt trội so với mô hình lập trình tuần tự truyền thống
Nhiều lĩnh vực mới như đồ họa máy tính, trí tuệ nhân tạo, phân tích số, tính toán song song trong công nghiệp dầu khí, các thiết bị không người lái, thiết bị nhận dạng bám sát đa mục tiêu di động , đòi hỏi phải xử lý một khối lượng dữ liệu rất lớn với tốc độ rất cao Hầu hết những bài toán này, những máy tính tuần tự là không đáp ứng được yêu cầu thực tế
Mặc dù tốc độ xử lý của các bộ xử lý tăng nhiều trong những năm qua, nhưng do giới hạn về vật lý nên khả năng tính toán của chúng không thể tăng mãi được Ngày càng xuất hiện nhiều bài toán mà hệ thống đơn bộ xử lý không đáp ứng được yêu cầu xử lý về mặt thời gian
Sự ra đời và phát triển nhanh của công nghệ vi điện tử đã tạo ra bước đột phá mạnh mẽ trong lĩnh vực khoa học tính toán và xử lý thông tin Với sự phát triển ứng dụng các công nghệ này đã làm cho ranh giới các ngành không còn rõ rệt nữa (như Công nghệ thông tin, Điện tử viễn thông và Tự động điều khiển) Các hệ thống từ quy mô nhỏ tới quy mô lớn và siêu lớn trong lĩnh vực quân sự, cũng như dân dụng đều chứng kiến sự hiện hữu của các hệ vi xử lý chức năng đóng vai trò trung tâm
Trang 14điều khiển hệ thống thực hiện các nhiệm vụ đã ấn định Những hệ thống này đáp ứng được các yêu cầu khắt khe nhất như đòi hỏi phải xử lý dữ liệu với tốc độ rất cao, khối lượng dữ liệu và số lượng phép tính rất lớn Để đáp ứng các yêu cầu trên, giải pháp thiết kế hệ thống theo hướng xử lý song song là hướng nghiên cứu được
ưu tiên ngày nay
Để tăng tốc độ cho các hệ xử lý, các nhà thiết kế chế tạo đã áp dụng các công nghệ tiên tiến, từng bước nâng cấp hoàn thiện cho các bộ vi xử lý Điển hình là cấu trúc bộ vi xử lý với tập lệnh đầy đủ (CISC), bộ vi xử lý với tập lệnh rút gọn RISC [10], [12] Những nghiên cứu về kiến trúc hệ thống số đã khẳng định được
ưu thế nổi bật của hệ thống xử lý song song Tuy nhiên, xử lý song song là vấn đề phức tạp, liên quan tới nhiều cơ cấu như: phần cứng của hệ xử lý, phần mềm hệ thống (hệ điều hành), thuật toán tính toán, ngôn ngữ lập trình… Ý tưởng nghiên cứu
kỹ thuật xử lý song song theo hướng chuyên dụng cho từng lớp bài toán để đạt được tiêu chí về tốc độ, về độ tin cậy được đặt ra là có ý nghĩa thực tế, đáp ứng nhu cầu phát triển ứng dụng Nghiên cứu về hệ xử lý song song hiện nay tập chung hai hướng nghiên cứu chính như sau:
Một là nghiên cứu các hệ xử lý đa năng như siêu máy tính (Suppercomputer) [47], [56], máy tính lớn (Mainframe), máy tính mini (Minicomputer), mặc dù có khả năng thực hiện một tập hợp các lớp bài toán phong phú, nhưng để đưa vào sử dụng cho các ứng dụng chuyên dụng là không phù hợp Điều này cũng dễ hiểu bởi vì để thực hiện đa năng: cấu trúc phần cứng và chức năng phần mềm của máy tính cần phải được tổ chức đa chức năng rất phức tạp Mô hình toán cũng rất phức tạp, vượt qua khỏi cơ cấu tính toán thông thường Do vậy, khi áp dụng cho các ứng dụng chuyên dụng, tốc độ xử lý của chúng thường chậm hơn so với khả năng của bộ vi xử lý, thông số thời gian thực khó kiểm soát một cách chính xác
Các hệ xử lý đa năng mặc dù tốc độ cao, tốc độ của nó có thể sử dụng mô phỏng các vụ nổ hạt nhân Hệ xử lý song song đa năng quy mô rất lớn kèm theo cơ cấu phần mềm vận hành cấu trúc này rất phức tạp Vì vậy các hệ máy tính này có
Trang 15giá thành rất đắt Đây là vấn đề khó khăn khi giải quyết các bài toán đặc thù có yêu cầu tốc độ nhanh, giá thành rẻ phù hợp với điều kiện nền kinh tế Việt Nam
Hai là nghiên cứu các hệ xử lý song song đa CPU chuyên dụng đó là: Hệ xử lý song song chuyên dụng phục vụ một hay một lớp bài toán cụ thể, gần nhau về chức năng Do đó, phương thức thao tác, cấu trúc tập hợp dữ liệu cần xử lý, cấu trúc dữ liệu kết quả đều xác định trước, nên dễ phân rã chức năng hơn; dễ lựa chọn cách tổ chức dữ liệu và phương pháp xử lý thích hợp với yêu cầu tốc độ Với nhiệm vụ cụ thể và cấu trúc dữ liệu xác định, có thể xây dựng thuật toán xử lý tối ưu, cấu trúc phần cứng thích hợp, tận dụng tài nguyên hệ thống hợp lý Do chức năng của hệ xử
lý song song chuyên dụng là hữu hạn và tường minh, nên chương trình Monitor được xây dựng ở mức tối ưu nhất, dễ hiệu chỉnh và quan trọng hơn là đáp ứng nhanh yêu cầu của các tiến trình vận hành trong hệ thống
Xu hướng các nhà thiết kế ứng dụng công nghệ mới FPGA kết hợp với bộ xử lý lõi phát triển các hệ xử lý theo hướng các hệ thống này có khả năng thay đổi cấu hình (tái cấu hình) và các hệ thống có tính chuyên dụng [52], [54] Đặc biệt, trong nước đã có một số cơ sở nghiên cứu về hệ xử lý song song trên cơ sở công nghệ RISC với kiến trúc Harvard Với kỹ thuật tiên tiến hiện nay, việc sử dụng công nghệ đương đại FPGA cho phép thực hiện tái kiến trúc nhanh hệ thống nhằm tối ưu hóa chức năng Chính vì vậy mà hệ có tốc độ xử lý cao, trong khi từng thành phần của
hệ làm việc ở dưới mức tới hạn nên đảm bảo độ tin cậy cao
Qua phân tích ở trên đề tài luận án lựa chọn theo hướng nghiên cứu thứ hai là
hệ xử lý song song đa CPU chuyên dụng Trong hệ xử lý song song đa CPU chuyên dụng, không gian nhớ dùng chung (KGNDC) rất quan trọng: là nơi lưu trữ các cơ sở
dữ liệu cần xử lý, chứa chương trình điều hành Khi nhiều luồng tham chiếu truy cập vào bộ nhớ dùng chung cùng một thời điểm có thể dẫn đến xung đột, hệ thống lúc đó có thể bị treo hoặc tốc độ truy cập thấp, hiệu năng của bộ nhớ dùng chung giảm không đáp ứng được yêu cầu tốc độ của bài toán đặt ra Phần quan trọng của KGNDC là các bộ điều khiển luồng tham chiếu Trên cơ sở đó vấn đề cần giải quyết
là tổng hợp cơ cấu điều khiển thích nghi luồng tham chiếu tới KGNDC nhằm giảm thiểu tối đa xác suất xung đột khi truy cập tài nguyên dùng chung, nâng cao tốc độ
Trang 16tính toán có ý nghĩa rất quan trọng Từ những phân tích trên, việc đặt ra bài toán nghiên cứu hệ xử lý song song đa CPU chuyên dụng đáp ứng tốc độ xử lý nhanh và
có độ tin cậy cao, giá thành hợp lý là cần thiết và là cơ sở hình thành đề tài của luận
án: “Nghiên cứu thuật toán điều khiển thích nghi luồng tham chiếu để nâng cao
tốc độ cho các hệ xử lý song song chuyên dụng ”
2 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu luận án là KGNDC trong hệ xử lý song song đa CPU
chuyên dụng
- Phạm vi nghiên cứu của luận án là giới hạn trong việc xây dựng mô hình toán
học tham chiếu tới KGNDC trong hệ xử lý song song đa CPU chuyên dụng, chỉ rõ các điều kiện ràng buộc giữa các thông số và các thông số có thể thay đổi điều khiển được để tổng hợp hệ điều khiển thích nghi luồng tham chiếu tới KGNDC nhằm nâng cao hiệu năng giảm thiểu xác suất xung đột khi truy cập tài nguyên dùng chung
3 Phương pháp nghiên cứu của luận án
- Dựa trên lý thuyết kinh điển là lý thuyết hàng đợi, lý thuyết xác suất cụ thể là quá
trình Morkov dừng, phân bố Poát - xông để xây dựng và tính toán hiệu năng cho mô hình toán học tham chiếu tới KGNDC trong hệ xử lý song song đa CPU chuyên
Trang 174.2 Về thực tiễn
Kết quả nghiên cứu sẽ làm tài liệu tham khảo cho sinh viên và học viên cao học cũng như các nhà nghiên cứu quan tâm nghiên cứu về hệ xử lý song song đa CPU chuyên dụng Từ kết quả nghiên cứu của đề tài này làm cơ sở cho nhiều nghiên cứu tiếp theo nhằm đưa ứng dụng rỗng rãi các hệ xử lý song song đa CPU chuyên dụng vào hệ thống thực tế ở Việt Nam, nhất là các hệ thống có yêu cầu cao về tốc độ
5 Cấu trúc luận án
Luận án bao gồm phần mở đầu, ba chương thuyết minh, phần kết luận, các công trình công bố của NCS, tài liệu tham khảo
Chương 1: Trình bày, tập trung giới thiệu tổng quan về xử lý song song đa CPU,
các đặc trưng kiến trúc của hệ thống xử lý song song đa CPU chuyên dụng Phân tích các kết quả nghiên cứu trong và ngoài nước với các hướng nghiên cứu về hệ
xử lý song song đa CPU chuyên dụng như mở rộng phạm vi ứng dụng, ứng dụng các phương pháp điều khiển hiện đại Đề xuất phương pháp và các nội dung cần nghiên cứu là phương pháp điều khiển thích nghi luồng tham chiếu tới KGNDC dựa trên lý thuyết hàng đợi nhằm nâng cao hiệu năng giảm thiểu xác suất xung đột
khi truy cập tài nguyên dùng chung
Chương 2: Trình bày cơ sở xây dựng mô hình toán học tham chiếu tới KGNDC cho
hệ xử lý song song đa CPU chuyên dụng Phân tích mô hình, các thông số ràng buộc, chỉ ra các thông số có thể điều khiển được Trên cơ sở tham khảo các tài liệu [10], [15], [33], [39], [18] và sử dụng lý thuyết hàng đợi [48]
Chương 3: Dựa trên mô hình toán học được xây dựng ở chương 2, tiến hành xây
dựng chương trình thuật toán khảo sát và tính toán Thiết kế tổng hợp hệ thống điều khiển thích nghi luồng tham chiếu KGNDC bằng cách sử dụng công nghệ đương
đại FPGA
Kết luận chung và kiến nghị
Trang 18Chương 1 KIẾN TRÚC HỆ XỬ LÝ SONG SONG ĐA CPU
hệ vi xử lý trong hệ xử lý song song Bộ nhớ dùng chung là nơi chứa các dữ liệu dùng chung cho các hệ đơn xử lý thành phần: như các thông báo của các tiến trình, các kết quả trung gian đầu ra của tiến trình này nhưng lại là số liệu đầu vào cho các tiến trình khác trong quá trình hoạt động của hệ thống
- Hệ thống bus thể hiện năng lực truyền tải thông tin bên trong và với bên ngoài
hệ thống
1.1.2 Tài nguyên phần mềm
- Hệ điều hành hoặc ở quy mô nhỏ hơn là chương trình Monitor có nhiệm vụ điều phối các tiến trình vận hành trong môi trường hệ xử lý song song một cách hiệu quả nhất Khi chạy ở chế độ bảo vệ (chế độ địa chỉ ảo), hệ điều hành phải phối hợp đồng bộ các cơ cấu từ lớp vật lý đến lớp ứng dụng sao cho việc truy nhập vào các tài nguyên hệ thống phải nhanh nhất và lại phải ít xung đột nhất
- Các dịch vụ hệ thống cung cấp các chương trình kiểm tra, thông báo hỏng hóc, các cơ cấu điều khiển mức hệ thống như vào/ra, điều khiển các giao diện nối tiếp, song song, các driver cho các phần cứng chức năng
- Các thư viện chức năng cung cấp các hàm các thủ tục chuẩn trong tính toán với các thao tác toán học phức tạp như khai triển chuỗi, xử lý dấu phẩy động
Trang 19- Bảng véc tơ ngắt chứa các điểm vào tài nguyên phần mềm hệ thống, đặc biệt là các tài nguyên nằm ở lớp vật lý (tài nguyên lõi), nơi mà các ánh xạ của chúng thường là ánh xạ trực tiếp tới phần cứng của hệ xử lý song song
1.2 Các định nghĩa về hệ xử lý song song
- Xử lý song song là quá trình xử lý nhiều tiến trình được phát động đồng thời và
cùng tham gia giải quyết một nhiệm vụ
- Hệ xử lý song song là một kiến trúc hệ thống bao gồm nhiều hệ xử lý có khả
năng xử lý song song
- Hiệu năng của xử lý song song có nhiều cách định nghĩa phụ thuộc vào phương
thức tiếp cận với kiến trúc của hệ xử lý song song Do luận án tiếp cận với kiến trúc của hệ xử lý song song ở mức thấp (mức cấu trúc phần cứng) nên hiệu năng của hệ được hiểu như là tỷ số của khả năng thực thi thao tác giữa điều kiện thực tế và điều kiện lý tưởng (bao gồm: tốc độ tính toán của CPU, thông lượng của bộ nhớ cục bộ, xác suất xung đột các luồng tham chiếu ở bộ nhớ dùng chung )
1.3 Phân loại hệ xử lý song song đa CPU
Phân loại tổng quát nhất đối với các hệ xử lý song song là hệ xử lý song song đa dụng và hệ xử lý song song chuyên dụng Hệ xử lý song song đa dụng về bản chất
là các hệ máy tính từ siêu máy tính, máy tính lớn, máy tính mini đến kiến trúc song song kết chùm (cluster) các máy tính PC Những máy tính này đều có khả năng thực hiện một tập hợp các lớp bài toán phong phú Chính vì vậy, chúng có tổ chức phần cứng và hệ điều hành phức tạp đáp ứng đầy đủ các chức năng thao tác và điều khiển cần thiết Trong khi đó, hệ xử lý song song chuyên dụng cũng là hệ xử lý song song, đối tượng xử lý là một lớp bài toán có chức năng xác định; nên rõ ràng là kiến trúc của chúng sẽ ít phức tạp hơn nhiều so với hệ xử lý song song đa dụng
Michael J Flynn, Handler đã đưa ra cách phân loại các hệ xử lý song song Theo các tác giả này, các hệ xử lý song song có thể phân loại dựa vào các đặc trưng
về cấu trúc luồng lệnh/dữ liệu, về mức độ song song và mức độ xử lý theo cơ chế đường ống cũng như dựa vào chỉ tiêu về kiểu và số lượng CPU, cấu trúc bộ nhớ, sự kết nối giữa chúng
Trang 201.3.1 Sơ đồ phân loại của Flynn
Michael J Flynn đã đưa ra cách phân loại dựa vào cách thao tác của dòng lệnh và dòng dữ liệu trong hệ xử lý mà phân thành bốn lớp kiến trúc chính như bảng 1.1
Bảng 1.1: Phân loại kiến trúc của Flynn
a Kiến trúc SISD: được chỉ ra trong hình 1.1, đó là những hệ xử lý truyền thống
chỉ có một CPU, ở mỗi thời điểm chỉ thực hiện một lệnh Các lệnh có thể được thực hiện tuần tự, nhưng cũng có thể được xếp chồng theo cơ chế đường ống
Hình 1.1: Mô hình kiến trúc SISD
b Kiến trúc SIMD: được chỉ ra trong hình 1.2, đó là những hệ xử có một đơn vị
điều khiển để điều khiển nhiều phần tử xử lý PE CU điều khiển chung cho tất cả
PE cùng thực hiện thao tác trên những tập dữ liệu của các luồng dữ liệu khác nhau
Hình 1.2: Mô hình kiến trúc SIMD
IS
IS
CU (Đơn vị điều khiển )
Trang 21c Kiến trúc MISD: được chỉ ra trong hình 1.3, có thể thực hiện nhiều tiến trình
trên cùng một tập dữ liệu Còn gọi là hệ đa chương trình đơn dòng dữ liệu (MPSD)
Hình 1.3: Mô hình kiến trúc MISD
d Kiến trúc MIMD: được chỉ ra trong hình 1.4, trong đó mỗi đơn vị xử lý PU có
thể thực hiện các luồng lệnh khác nhau trên các luồng dữ liệu riêng Đây là kiến trúc phức tạp nhất, nhưng là mô hình hỗ trợ xử lý song song cao nhất Chính vì tính linh hoạt của nó mà có nhiều nghiên cứu theo hướng này để chế tạo máy tính lớn
Hình 1.4: Mô hình kiến trúc MIMD
1.3.2 Sơ đồ phân loại của Handler
Handler vào 1977 phân loại hệ xử lý song song dựa trên cấp độ song song và cấp độ xử lý theo cơ chế đường ống của cấu trúc phần cứng Với cách này hệ xử lý song song được xem xét theo ba cấp:
- Đơn vị điều khiển bộ xử lý (PCU)
- Đơn vị số học logic (ALU)
Trang 22Mỗi PCU tương ứng với một CPU ALU tương đương với phần tử xử lý (PE) chúng được ghi rõ cho các bộ xử lý mảng SIMD BLC tương ứng kỹ thuật mạch logic tổ hợp thực hiện các thao tác 1 bit trong ALU
Một hệ xử lý T(XL) có thể được đặc trưng bằng ba cặp tương ứng:
T(XL) = <K K', D D', W W'>
K – số bộ xử lý trong hệ
K' – số đơn vị điều khiển CPU có cơ chế đường ống
D – số lượng ALU (hoặc PE) dưới sự điều khiển của một đơn vị CU
D'- số ALU có cơ chế đường ống
W- độ dài từ (word) của ALU hoặc của PE
W'- số tầng đường ống sử dụng trong ALU hoặc PE
Ví dụ, phân loại máy Intel Paragon XP/S sẽ được ghi:
T(XL) = <18402, 1 2, 643>;
Ở đây, theo cấu trúc được hiểu:
- 1840x2: có K= 1840 bộ xử lý, mỗi nút gồm có K' =2 bộ xử lý Intel i860
- 1 2: một đơn vị xử lý (D) có thể thực hiện D' = 2 lệnh đồng thời
-643: đơn vị chức năng xử lý có W = 64 bít, ống dẫn có W' = 3 tầng
Bảng 1.2: Sơ đồ phân loại của Erlanger
Trang 23Hệ đa CPU có thể đặc trưng bởi hai thuộc tính: hệ xử lý bao gồm nhiều hệ đơn CPU (còn gọi là các hệ vi xử lý thành phần); các hệ đơn CPU có thể liên hệ và hợp tác hoạt động theo mức độ khác nhau trong thực hiện nhiệm vụ được giao
Sự truyền thông giữa các CPU được thực hiện theo phương thức gửi thông báo cho nhau thông qua bộ nhớ chung
Hình 1.5: Mô hình kiến trúc chung của hệ xử lý song song
Khối phân chia chức năng cho các hệ đơn CPU thành phần cung cấp khả năng phối hợp các hệ đơn CPU thành phần và chương trình của chúng ở các quá trình xử lý, thiết lập dữ liệu, mức và quyền hạn xử lý chúng Khối phân chia chức năng phải có khả năng phân tích từng cụm lệnh để hình thành các tiến trình con có thuộc tính song song rồi phân chia cho các hệ đơn CPU thành phần một cách tối ưu
và cung cấp phương thức phối hợp các CPU này ở mọi giai đoạn hoạt động Để thực hiện được điều này, cần xây dựng các thuật toán phù hợp theo chức năng và nhiệm vụ cho hệ Đỗ Xuân Tiến [22] đề cập phương pháp xây dựng các thuật toán song song cho việc tổng hợp thiết kế các hệ xử lý song song
Như vậy, hệ xử lý song song gồm p CPU tạo thành không gian vector p chiều Trong quá trình thao tác, mỗi hệ đơn CPU thành phần có thể phải truy cập nhiều lần
Khối phân chia chức năng cho các hệ đơn CPU thành phần
Mạng kết nối - cổng kiểm soát tín hiệu vào/ra
giữa các hệ đơn CPU và bộ nhớ dùng chung
Trang 24tới bộ nhớ dùng chung để cập nhật số liệu và do đó làm tăng đáng kể độ trễ của hệ thống Muốn giảm độ trễ này, cách tốt nhất được sử dụng trong các máy tính từ Microcomputer đến Supercomputer là sử dụng cơ cấu Cache Điều này làm giảm đáng kể thời gian xếp hàng ở cổng giao diện giữa các hệ đơn CPU thành phần với
bộ nhớ dùng chung Về phần bộ nhớ dùng chung, có thể được tổ chức từ l mô đun
để giảm thiểu xung đột khi tham chiếu tới không gian nhớ dùng chung này
1.4.2 Những vấn đề liên quan đến hiệu năng
cơ bản cho loại hình này là các máy tính Cray-1, VP-200 [9] Trong cấu trúc của các máy tính này, khối xử lý lệnh bao gồm ba tầng chức năng Ví dụ, khối xử lý lệnh máy tính CRAY-1 được minh họa trong Hình 1.6 Riêng tầng OF gồm hai phần độc lập nhau: một cho toán hạng vô hướng (Scalar data), một cho toán hạng véc tơ (vector data) Các thanh ghi dùng trong khối vô hướng có cấu trúc đơn giản giống như các thanh ghi thông thường, còn các thanh ghi véc tơ phức tạp hơn vì nó phải chứa nhiều thành phần Ví dụ, thanh ghi véc tơ của máy tính CRAY-1có 64 thành phần, mỗi thành phần 64 bit, vị chi là 4096 bit
Trang 25Để ý rằng, khối xử lý lệnh dùng để thực hiện từng lệnh với trình tự các khâu là không đổi, bao gồm: nhận lệnh (Instruction fetch-IF), giải mã lệnh (Instruction decoding-ID), nạp toán hạng (Operand fetch-OF) và thực hiện lệnh (Execution-EX) Như vậy, các khâu là tuyến tính, không phụ thuộc nhau khi thao tác nên có thể áp dụng cơ chế đường ống ở đây Riêng khâu thực hiện lệnh được chia nhỏ theo các chức năng khác nhau Mỗi chức năng cũng được thực hiện theo
cơ chế đường ống Trên hình 1.6 thể hiện N đường ống vô hướng và M đường ống véc tơ
Kiến trúc kiểu đường ống cho phép khai thác tính năng song song ở mức lệnh, làm tăng đáng kể hiệu năng xử lý của một bộ vi xử lý [8], [27], [42] Xử lý theo cơ
chế đường ống được thực hiện bằng cách phân chia một nhiệm vụ T (lệnh) đã cho thành n giai đoạn Mỗi giai đoạn thực hiện một phần của T bằng một cấu trúc chức
năng phần cứng (một tầng của đường ống) Nhờ vậy, tại một thời điểm chỉ một tầng của đường ống thực hiện công việc, các tầng còn lại không sử dụng và có thể được dùng để thực hiện với lệnh khác Như vậy, có thể xếp chồng thực hiện nhiều lệnh trong cùng một thời gian Hình 1.7 mô tả một cấu trúc xử lý đường ống gồm k tầng
Hình 1.6: Cấu trúc của khối xử lý lệnh trong máy CRAY-1
Đường ống vô hướng 1 Đường ống vô hướng 2 Đường ống vô hướng N
Đường ống véc tơ 1 Đường ống véc tơ 2 Đường ống véc tơ M
Trang 26(k = 4), bao gồm: nhận lệnh IF; giải mã lệnh ID; nạp toán hạng OF và thực hiện lệnh EX
Hình 1.8 cho thấy sự khác nhau khi thực thi công việc không và có xếp chồng
về thời gian Khi thực hiện có xếp chồng thì thời gian thực hiện sẽ ít hơn
Giả sử, đường ống có k tầng, mỗi tầng có thời gian xử lý như nhau, n là số
nhiệm vụ (lệnh) đầu vào, là chu kỳ nhịp đồng hồ, T seq là thời gian yêu cầu để hoàn
thành nhiệm vụ T trên máy tuần tự (không xếp chồng) Hawng K đưa ra cách đánh
giá hiệu năng của đường ống qua các đại lượng cơ bản:
nk T
T S
Trang 27- Hiệu năng (E):
n k
k
n T
n H
Sơ bộ cho thấy, với kiến trúc kiểu đường ống, nếu n >> k thì tốc độ của hệ
xử lý có xếp chồng thời gian bằng cơ cấu đường ống sẽ lớn gấp k lần so với hệ xử
lý không xếp chồng thời gian Kèm theo đó là hiệu năng E và thông lượng H của
luồng lệnh được nâng lên rất nhiều
b Kiến trúc bộ nhớ
Yếu tố quan trọng tiếp theo ảnh hưởng tới hiệu năng của hệ xử lý song song
là kiến trúc của bộ nhớ của hệ
Đặc điểm của bộ nhớ trong hệ xử lý song song là sự chênh lệch lớn giữa tốc
độ bộ nhớ và tốc độ CPU Khoảng cách này tăng là do công nghệ chế tạo CPU có
sự tăng về tốc độ lớn hơn so với các chip nhớ; mặt khác việc sử dụng các cơ chế siêu vô hướng trong các hệ vi xử lý cũng làm cho khoảng cách này tăng lên [19] Để dung hòa giữa tốc độ rất cao của CPU với không gian nhớ chậm chạp của mình, các
hệ xử lý song song thực hiện tổ chức phân cấp bộ nhớ Giải pháp sử dụng bộ nhớ đệm (cache) là tối ưu cho các hệ xử lý song song đa dụng
Đối với các hệ xử lý song song, sự tồn tại của nhiều CPU dẫn đến khả năng xuất hiện đồng thời các yêu cầu tham chiếu tới bộ nhớ ở cùng mức trong phân cấp Nếu có hai hoặc nhiều hơn các yêu cầu tham chiếu tới cùng một vị trí trong bộ nhớ
ở cùng cấp thì sẽ xảy ra xung đột, làm giảm hiệu năng của hệ thống Do đó, bộ nhớ phải được tổ chức sao cho có thể giảm tới mức thấp nhất khả năng xảy ra xung đột tại mỗi cấp Điều này được thực hiện bằng cách, phân vùng bộ nhớ tại cấp xác định thành các mô đun sao cho sự truy nhập đồng thời có thể thực hiện được ở mức độ nào đó
Nói chung, phân cấp bộ nhớ được cấu trúc sao cho các bộ nhớ ở cấp i là “cao hơn” các bộ nhớ ở cấp i+1 Gọi c i , t i và s i tương ứng là chi phí trên một byte, thời gian truy nhập trung bình và kích thước bộ nhớ tổng cộng ở cấp i, ta có quan hệ giữa các cấp i và i+1 như sau:
Trang 28* Về chi phí trên một byte nhớ: c i > c i+1
* Về thời gian truy nhập trung bình: t i < t i+1
Bộ xử lý thường tham chiếu tới một nội dung trong bộ nhớ bằng cách đưa ra
vị trí hay địa chỉ của ô nhớ Một phân cấp bộ nhớ thường được tổ chức sao cho
không gian địa chỉ ở cấp i là một bộ phận của không gian địa chỉ ở cấp i+1 Tuy nhiên, điều này chỉ đúng trong quan hệ giữa các cấp Địa chỉ A k tại cấp i không nhất thiết là địa chỉ A k ở cấp i+1, nhưng bất kỳ dữ liệu ở cấp i có thể cũng có ở cấp i+1 Tuy vậy, một số dữ liệu ở cấp i có thể được sử dụng thường xuyên hơn cũng chính
dữ liệu ấy ở cấp i+1 Thông thường cấp i+1 cuối cùng được cập nhật với dữ liệu đã được thay đổi từ cấp i
Vấn đề về tính nhất quán dữ liệu cũng có thể tồn tại giữa các bộ nhớ cục bộ hay giữa các cache khi hai quá trình đồng thao tác, có thể được thực thi đồng thời hay trên các bộ xử lý riêng, tương tác qua một hay nhiều biến chia sẻ Để giải quyết vấn đề này, có một số giải pháp như: phân tán và quản lý bộ nhớ một cách hợp lý,
tổ chức các phân hệ vào/ra và bộ nhớ song song một cách hiệu quả [55]
Để mô hình hóa hiệu năng của bộ nhớ phân cấp, ta cho rằng việc kiểm soát điều hành bộ nhớ được đặc trưng bởi hàm thành công (success function) hay hệ số
H (hit ratio) đó là xác suất tìm thấy dữ liệu yêu cầu trong bộ nhớ của một cấp nhất
định Nói chung, H phụ thuộc vào dữ liệu, dung lượng của bộ nhớ tại cấp đó,
phương thức giám sát và các yếu tố khác Tuy nhiên, đối với hầu hết các phương
pháp vận hành, có thể thấy rằng H chịu ảnh hưởng nhiều nhất bởi kích thước bộ nhớ
s Vì vậy hàm thành công có thể viết là h(s) Hệ số hay xác suất không tìm thấy dữ
liệu trong bộ nhớ cấp s được xác định bởi F(s) = 1 - H(s) Do các bản sao của dữ liệu ở cấp i được giả định là tồn tại ở các cấp lớn hơn i, xác suất tìm thấy dữ liệu tại cấp i và không tìm thấy tại các cấp cao hơn (1 đến i - 1) là:
Trang 29Hình 1.9: Cấu trúc của bộ nhớ phân cấp trong các hệ xử lý [24]
Mục tiêu của kiến trúc phân cấp bộ nhớ n cấp là nhằm đạt được hiệu năng
gần bằng hiệu năng của bộ nhớ nhanh nhất (cấp 1) và giá thành trên mỗi bit nhớ gần
bằng giá thành của bộ nhớ rẻ nhất (cấp n) Một tham số xác định hiệu năng là thời
gian truy cập bộ nhớ hiệu dụng Tham số khác là hiệu suất sử dụng bộ xử lý Thời
Trang 30gian truy cập hiệu dụng T i từ bộ xử lý tới cấp i trong phân cấp bộ nhớ bằng tổng các thời gian truy cập trung bình riêng lẻ của mỗi cấp từ k = 1 đến i:
nằm ở cấp i sẽ làm xuất hiện khối dữ liệu chứa từ được yêu cầu được truyền từ cấp
i+1 tới cấp i Khi việc truyền khối dữ liệu tới cấp 1 hoàn thành, từ yêu cầu được truy
1
( H
n
i
i ) t F ( s ) T s
( H
1
Nếu c(t i ) là giá thành trên một byte của bộ nhớ tại cấp i, được biểu diễn như một
hàm của thời gian truy cập trung bình của nó, chi phí tổng cộng của hệ thống bộ nhớ là:
i n
Trang 311.5 Kiến trúc của hệ xử lý song song đa CPU chuyên dụng
1.5.1 Các đặc trưng của hệ xử lý song song đa CPU chuyên dụng
Khác với hệ xử lý song song đa CPU đa dụng, hệ xử lý song song đa CPU
chuyên dụng có những đặc trưng cơ bản như sau:
a Chức năng chuyên dụng
Hệ xử lý song song chuyên dụng được thiết kế để thực hiện một nhiệm vụ xác định Thí dụ, hệ thống có nhiệm vụ thu thông tin ảnh vệ tinh viễn thám, hệ thống có nhiệm vụ thu và xử lý bài toán cấp 1 của hệ thống giám sát không lưu (chỉ
có 3 tham số độc lập là cự ly, phương vị và độ cao của đối tượng bay); hệ thống xử
lý và điều khiển tàu biển chạy tự động theo hải trình; hệ thống chặn thu tín hiệu tình báo trong kỹ thuật thám mã Như vậy nhiệm vụ được xác lập chỉ trên một lớp bài toán nào đó mà thôi Lớp bài toán này phần lớn là tuyến tính, cận tuyến tính Trong trường hợp chúng là phi tuyến thì cũng dễ dàng tuyến tính hóa từng phần hoặc tuyến tính hóa toàn phần (nếu sai số nằm trong giải cho phép)
Chức năng chuyên dụng còn được thể hiện trên cấu trúc dữ liệu mà hệ phải
xử lý Cấu trúc dữ liệu này phần lớn là dữ liệu véc tơ do có cấu trúc phần tử giống nhau và chúng xắp xếp có thứ tự (như cấu trúc: cự ly-phương vị-độ cao) cho phép
dễ dàng véc tơ hoá cơ sở dữ liệu này Hệ quả là dễ thực hiện các thao tác xử lý dữ liệu theo cơ chế đường ống - một cơ chế nâng cao hiệu năng của hệ xử lý
b Cấu trúc phần cứng tối giản
Do hệ xử lý song song chuyên dụng thực hiện một nhiệm xác định và nhiệm
vụ này được xác lập chỉ trên một lớp bài toán nên các thông số cấu trúc được xác định khá chính xác Hệ quả là khâu tổ chức phần cứng sẽ bảo đảm sự tối giản bằng các thuật toán phân hoạch chuẩn
Trang 32Không gian nhớ mà hệ xử lý song song chuyên dụng sử dụng thông thường không chiếm hết không gian nhớ mà CPU có thể quản lý Do vậy, phần không gian còn trống đó có thể phục vụ đắc lực cho việc tổ chức hệ lưu trữ 3 chiều cho các hệ
xử lý song song đặc biệt
c Tốc độ và hiệu năng cao
Đây vừa là hệ quả của các đặc điểm về chức năng và cấu trúc phần cứng vừa
là yêu cầu của một hệ xử lý song song chuyên dụng Tốc độ phải đáp ứng yêu cầu (thí dụ cho hệ chặn thu thông tin tình báo chẳng hạn Nếu không đủ tốc độ để thu hết bản tin thì tương đương như nhiệm vụ không thực hiện) Để bảo đảm tốc độ, cần phải tổ chức hệ xử lý song song đa CPU sao cho tối ưu cả về kiến trúc và lựa chọn CPU phù hợp Tốc độ xử lý cao, tổ chức hệ thống tốt đồng nghĩa với hiệu năng của toàn hệ thống được nâng lên
d Độ tin cậy cao
Đây là một yêu cầu, đồng thời cũng là đặc điểm của hệ xử lý song song chuyên dụng Thoạt nhìn có vẻ như yêu cầu này là xung đột với yêu cầu về tốc độ cao của hệ Tuy nhiên, khác với máy tính đa dụng, hệ xử lý song song chuyên dụng phần lớn là hệ thống khó bảo trì, thậm chí không thể bảo trì (như các hệ xử lý đặt trên vệ tinh, trên các tên lửa tự dẫn, hoặc nằm trong hệ thống cảnh báo sớm đặt dưới lòng biển ) nên nó đòi hỏi độ tin cậy phải cao
Giải pháp phổ biến nâng cao độ tin cậy là sử dụng từng thành phần trong hệ dưới mức tới hạn, tức là hệ số dự trữ lớn lớn hơn 1 Thí dụ, nếu tần số clock của CPU là 3GHZ nếu sử dụng ở tần số 1,5GHZ (giảm một nửa) thì tiêu tán nhiệt sẽ giảm đi cỡ 4 lần Do vậy độ bền nhiệt sẽ tăng lên, tuổi thọ sẽ cao hơn Việc nâng tốc
độ hệ thống được thực hiện theo kiến trúc đa CPU với lượng CPU đủ để đạt tốc độ yêu cầu
Tương tự như vậy, không gian nhớ của hệ thống cũng sử dụng các chip bộ nhớ ở chế độ không tới hạn về mặt tốc độ Bù lại sẽ thực hiện các phương pháp tổ chức tối ưu bằng cách tổ chức nhiều mô đun nhớ song song cho từng kiến trúc cụ thể, đáp ứng khả năng truy cập nhanh (tương đương tốc độ CPU) và độ tin cậy cao
Trang 33Một cách so sánh định tính, bảng 1.3 cho phép hình dung sơ bộ về hệ xử lý song song đa dụng và hệ xử lý song song đa CPU chuyên dụng
Bảng 1.3: So sánh một số tính năng của hệ xử lý song song đa CPU đa dụng và
chuyên dụng
Thông số hệ thống Hệ xử lý song song
đa dụng
Hệ xử lý song song chuyên dụng
Chương trình điều khiển Phức tạp (hệ điều hành) Đơn giản (ROM monitor) Quan hệ chương trình điều
không gian nhớ lớn
Trực tiếp và ít khi sử dụng hết không gian nhớ
Độ tin cậy hệ thống (không có
1.5.2 Kiến trúc của hệ xử lý song song đa CPU chuyên dụng
a Mô hình hệ xử lý song song đa CPU chuyên dụng
Từ những ưu điểm của hệ xử lý song song bộ nhớ dùng chung [4], với các đặc trưng của hệ xử lý song song chuyên dụng, kết hợp với cấu trúc của bộ vi xử lý chức năng kiểu RISC, cho phép lựa chọn mô hình hệ xử lý song song chuyên dụng bằng kiến trúc đa CPU được biểu diễn trên hình 1.10
Trang 34Hình 1.10: Kiến trúc của hệ xử lý song song chuyên dụng
Cấu trúc gồm p hệ đơn CPU (với p không gian nhớ cục bộ), không gian nhớ dùng chung với l bộ nhớ Mạng kết nối bao gồm các bus địa chỉ, dữ liệu và điều khiển và các cổng vào/ra với d ngoại vi) So với mô hình kiến trúc chung của hệ xử
lý song song trên hình 1.5, rõ ràng là hệ xử lý song song chuyên dụng đơn giản hơn nhiều do ít hoặc loại bỏ hằn cơ cấu cache ra khỏi cấu trúc của mình Điều đó đã
Yếu tố quan trọng nhất ảnh hưởng tới hiệu năng của hệ xử lý song song chính
là tốc độ xử lý của CPU Vì vậy, bộ xử lý trung tâm có thể chọn loại CPU có kiến trúc RISC (thay vì kiến trúc phức tạp kiểu CISC truyền thống) vì nó có tập lệnh kiểu véc tơ và giao diện kiểu Havard nhằm mục đích mỗi chu kỳ nhịp đồng hồ có một lệnh được hoàn thành ở đầu ra [8], [28], [32], [33], [38], [50] Bộ vi xử lý kiểu RISC có các đặc điểm là:
+ Bộ vi xử lý kiểu RISC có một tập lệnh thu gọn, với kích thước từng lệnh bằng nhau Chính vì vậy CPU có thể giải mã lệnh một cách nhanh chóng do không
Bộ nhớ dùng chung
Mạng kết nối (các bus địa chỉ, dữ liệu và điều
khiển+ cổng vào/ra với ngoại vi)
Các hệ xử lý đơn CPU
Ngoại vi 1
Ngoại vi 2
Ngoại vi d
Trang 35cần khâu xác định độ dài lệnh cần giải mã, điều mà các bộ vi xử lý CISC phải mất nhiều nhịp đồng hồ hệ thống để hoàn tất thao tác này
+ Bộ vi xử lý kiểu RISC có số lượng thanh ghi lớn (thường có 32 thanh ghi
32 bít R0– R31 và 32 thanh ghi khác cho các phép toán dấu phẩy động) Điều này cho phép thực hiện gần như toàn bộ các phép tính toán xử lý ngay bên trong CPU giúp cho tốc độ xử lý nhanh hơn rất nhiều so với tốc độ của các bộ vi xử lý đa năng kiểu CISC
+Bộ vi xử lý kiểu RISC có các bus địa chỉ riêng cho vùng nhớ chứa dữ liệu
và cho vùng nhớ chứa mã lệnh Tương tự như vậy, bộ vi xử lý này có các bus trao đổi dữ liệu riêng cho vùng nhớ chứa dữ liệu và cho vùng nhớ chứa mã lệnh Sự so
sánh các bộ vi xử lý kiểu CISC và bộ vi xử lý kiểu RISC (kiến trúc Havard) có thể
thấy được trên hình 1.11
Như vậy, lựa chọn mô hình kiến trúc Harvard là phù hợp (hình 1.11.b) Kiến trúc Harvard sử dụng hai không gian nhớ, được phân chia thành bộ nhớ dữ liệu và
bộ nhớ chương trình (bộ nhớ lệnh) Điều này, về hiệu quả là tăng gấp đôi dải thông
bộ nhớ của bộ xử lý, hơn nữa vấn đề điểu khiển luồng tham chiếu từ CPU tới bộ nhớ sẽ đơn giản [43]
Hình 1.11: Mô hình kiến trúc: a) Hệ xử lý CISC b) Hệ xử lý RISC
Với những đặc điểm của CPU kiến trúc RISC như vậy, các giải pháp truy cập
bộ nhớ có thể tổ chức dạng truy cập trực tiếp mà không cần thông qua cache Điều này lại càng làm cho cấu trúc phần cứng tối giản thêm do không mất công sức trong khâu kiểm soát và điều khiển cơ cấu bộ nhớ phân cấp rất phức tạp như đã trình bầy
a)
Bộ xử lý RISC
Bộ nhớ lệnh
Bộ nhớ
dữ liệu
Bus địa chỉ
Bus
dữ liệu
Bus địa chỉ
Bus
dữ liệu
b)
Trang 36ở mục 1.3 Nhiều phương án thiết kế và nhiều công nghệ tiên tiến đã không ngừng được áp dụng để nâng cao tốc độ xử lý của CPU Ở mức cấu trúc, phương pháp được sử dụng rộng rãi nhất là sử dụng cơ chế đường ống để thực hiện các thao tác
cơ bản của CPU Vì vậy nếu tối ưu hóa được cấu trúc của các đường ống chức năng trong CPU thì hiệu năng của CPU sẽ được cải thiện
c Lệnh rẽ nhánh
Yếu tố ảnh hưởng nhất đến hiệu năng xử lý đường ống là các lệnh rẽ nhánh
có điều kiện, không điều kiện và vòng lặp Hình 1.12 minh họa khi một lệnh rẽ nhánh I3B được đưa vào đường ống, sẽ làm cho hệ thống phải chuyển điều khiển tới
vị trí lệnh mới trong vùng nhớ khác, làm cho tất cả các lệnh đã tìm được trước (đã ở trong đường ống) trở nên mất hiệu lực
Bảng 1.4: Thống kê khả năng xuất hiện các loại lệnh
Các lệnh tính toán, nạp lệnh,
nạp toán hạng
Các lệnh lưu trữ Các lệnh rẽ nhánh có điều kiện
Trang 37Sự ảnh hưởng của lệnh rẽ nhánh có thể thấy thông qua mô hình đơn giản của hiệu suất bị mất (theo thống kê từ bảng 1.4):
Gọi p – khả năng xuất hiện các lệnh rẽ nhánh có điều kiện (khoảng 20%);
q – khả năng xuất hiện lệnh rẽ nhánh thỏa mãn điều kiện
n – số lượng lệnh chờ thực hiện ở đường ống
Như vậy, tích n.p.q là số lượng lệnh thỏa mãn lệnh rẽ nhánh Thời gian bổ sung để thực hiện một lệnh rẽ nhánh là (k -1)/k; với k là số tầng của đường ống
Số chu kỳ cần để n lệnh được thực hiện là: [(n k 1) n.p.q.(k 1)]/k
Khi n là rất lớn thì hiệu suất H của đường ống lệnh được đo bởi số trung bình của các lệnh được thực hiện trên mỗi chu kỳ lệnh (1 chu kỳ lệnh có k nhịp )
)1.(
.1/
)]
1.(
)1
k q p n k
n
n Lim
H
n
Ví dụ: với đường ống có k tầng, khi p =0 (không có lệnh rẽ nhánh) thì H =k Có thể xem như k lệnh được thực hiện trong mỗi chu kỳ lệnh Với k =4; p = 0,2; q = 0,6 thì
H =2,94 Nghĩa là có 2,94 lệnh được thực hiện cho mỗi chu kỳ lệnh Nói cách khác
trung bình khoảng 26,5% chu kỳ không sử dụng do lệnh rẽ nhánh [28]
1.6 Luận giải, định hướng nghiên cứu của đề tài
Qua việc phân tích, giới thiệu về hệ xử lý song song đa CPU đa năng và hệ xử lý song song đa CPU chuyên dụng mục (1.4) và (1.5), tóm lại hệ xử lý song song đa CPU chuyên dụng có những điểm nổi bật sau:
Thực hiện một chức năng, một lớp bài toán Vì vậy tổng hợp hệ tối giản về cấu trúc (đơn giản) nhưng tốc độ yêu cầu rất cao Từ đó ta thấy các hệ xử lý song song
đa CPU chuyên dụng được tổng hợp thiết kế phù hợp Hệ xử lý song song đa CPU chuyên dụng có thuộc tính là khả năng phân rã chức năng (lớp bài toán) rất tốt thành các hệ chức năng con cho từng hệ đơn CPU Trong đó phần lớn thời gian khi thực hiện chức năng hệ xử lý song song đa CPU chuyên dụng là xẩy ra ở các hệ đơn CPU, còn thời gian để trao đổi thông tin giữa chúng cũng như thời gian sử dụng tài nguyên chung là rất ít (5%) trong đó có không gian nhớ dùng chung (KGNDC) Đối với hệ xử lý song song đa CPU chuyên dụng, hiệu năng phụ thuộc chủ yếu vào tốc độ truy cập vào các tài nguyên chung, nhưng quan trọng nhất là KGNDC vì
Trang 38ở đây khả năng xung đột là cao nhất (vì tần suất sử dụng KGNDC cao hơn nhiều so với các tài nguyên khác như I/O port, thiết bị ngoại vi…) Một trong những nhiệm
vụ của khâu tổng hợp hệ thống là giảm thiểu khả năng xung đột khi tham chiếu vào KGNDC của các đơn CPU là một nhiệm vụ quan trọng
Bài toán ví dụ: Bài toán xử lý thông tin tình báo radar cấp 1 cho các hệ thống
radar điều khiển hỏa lực Yêu cầu đối với loại radar này khả năng giám sát nhiều mục tiêu trong thời gian thực
Radar trong tổ hợp tên lửa S300, S400, S500
Tổ hợp tên lửa S-300 cũng có khả năng tiêu diệt các mục tiêu máy bay tàng hình, và được coi là một trong những hệ thống tên lửa phòng không rất mạnh với nhiều thông số vượt trội hơn hệ thống đối thủ của Mỹ là MIM-104 Patriot Radar của nó có khả năng đồng thời theo dõi đến 100 mục tiêu và bám sát chặt 12 trong số
đó Ở các phiên bản S-300PMU1/2 trở về sau, khả năng của Radar được tăng cường, có thể theo dõi đến 300 mục tiêu và bám sát chặt 72 trong số đó Radar tổ hợp tên lửa S-400 có thể theo dõi 100 mục tiêu ở phạm vi 400 – 600 km và khóa 36 mục tiêu Tổ hợp tên lửa S-500 được sử dụng để đánh chặn tên lửa đạn đạo có tầm bắn xa gần 3.500 km ở cự ly tầm trung và tầm gần Ngoài ra, S-500 còn có thể đồng thời bắn vào 10 mục tiêu khác nhau hoạt động ở tốc độ siêu thanh trong bán kính gần 600 km Tên lửa S-300PMU1 đang là loại vũ khí tối tân kiểm soát bầu trời Việt Nam Đài Radar giám sát mục tiêu và điều khiển tên lửa đa kênh - đa chức năng, sử dụng hệ thống ăngten mạng pha xung dopler hiện đại có khả năng phát hiện được các loại mục tiêu “tàng hình” (diện tích phản xạ hiệu dụng tới 0,02m2), khả năng chống nhiễu tốt với tất cả các dạng nhiễu tiêu cực và nhiễu tích cực Màn hình hiển
thị tham số về tốc độ di chuyển, hướng đi của mục tiêu; về tình trạng sẵn sàng bắn
hỏa lực của hệ thống vũ khí khí tài,
Cùng một lúc, S-300PMU1 có khả năng bám sát và tiêu diệt sáu mục tiêu, điều khiển đến 12 tên lửa và quản lý tới 100 mục tiêu S-300PMU1 có khả năng bắn
hạ mục tiêu ở độ cao lên đến 27.000m và thậm chí ở độ cao chỉ 10m Ngay cả những mục tiêu vận tốc lên đến 10.000km/giờ cũng dễ dàng bị hỏa lực của S-300MPU1 tiêu diệt
Trang 39Tên lửa S-300: Cự ly phát hiện là 300 km, diệt mục tiêu cự ly gần là 5 km, cự ly
xa là 150 km, độ cao 27.000 m và thấp nhất là 10m, tốc độ 10.000km/h
Trong ba bài toán xử lý thông tin tình báo radar: (i) bài toán cự ly, phương vị; (ii)
vẽ quỹ đạo mục tiêu; (iii) hợp nhất quỹ đạo Bài toán số một đóng vai trò quan trọng nhất vì yêu cầu xử lý tốc độ cao
Các phương tiện bay: (i) ở các cự ly khác nhau (ii) tốc độ cũng rất khác nhau Các thông số cần giám sát cho một đối tương bay: (i) cự ly (ii) phương vị và (iii) độ cao, khi kiểm soát được các thông số này thì mới có thể vẽ được quỹ đạo bay Từ đó mới
có thể đưa ra các quyết định khác (tiêu diệt, không tiêu diệt…)
Hình 1.13: Tổ hợp tên lửa S-300 PMU1 của Việt nam
Trang 40Sơ đồ mô tả chức năng hệ:
Cho hệ quan sát mục tiêu bằng phương pháp bức xạ xung kích phát trên anten quay vòng tần số 375 Hz Tín hiệu thu về là các xung phản xạ từ mục tiêu Trong chu kỳ lặp lại của xung kích phát được chia thành 1024 khoảng thời gian bằng nhau tương ứng với số lượng vành khăn cự ly (hình 1.13) Cự ly cực đại ứng với vành khăn N1024 là 307200 m Khi cánh sóng anten quét qua mục tiêu có thể thu được vài chục xung phản xạ Nếu trong 5 lần thu mà có từ 3 xung phản xạ thì khẳng định mục tiêu đã xuất hiện Tiếp theo nếu trong 5 lần thu mà có từ 3 lần trở nên không có xung phản xạ thì khẳng định cánh sóng đã đi qua mục tiêu Mỗi lần phát hiện được mục tiêu phải cung cấp cho trung tâm xử lý về cự ly và phương vị trung bình của mục tiêu, đĩa đo phương vị (cho 360 độ) phải chia thành 4096 phần bằng nhau Như vậy 3 thông số cự ly, phương vị và độ cao được tổng hợp tính toán xử lý song song đồng thời Như vậy hệ thống có từ hai hệ đơn CPU trở nên: phát động
t
t
Vành khăn cự ly ngoài cùng N1024
Vành khăn cự ly N1023
Vành khăn cự ly
N1
Xung kích phát tần số
375 Hz
Xung phản xạ
từ mục tiêu trên các cự ly khác nhau
Chu kỳ lặp lại của xung
U
Hình 1.14: Cự ly quan sát của hệ