Theo truyền thống, các máy tính đã được xem như là một máy tính tuần tự. Hầu hết các máy tính
ngôn ngữ lập trình yêu cầu các lập trình để xác định các thuật toán như trình tự
hướng dẫn. Bộ vi xử lý thực hiện các chương trình bằng cách thực hiện hướng dẫn của máy trong
một chuỗi và một tại một thời điểm. Mỗi chỉ lệnh được thực hiện trong một chuỗi các hoạt động (lấy hướng dẫn, lấy toán hạng, thực hiện các hoạt động, kết quả cửa hàng).
Quan điểm này của máy tính chưa bao giờ được hoàn toàn đúng. Tại vi hoạt động
cấp độ, nhiều tín hiệu điều khiển được tạo ra cùng một lúc. Hướng dẫn pipelining,
ít nhất là trong phạm vi của chồng chéo lấy và thực hiện các hoạt động, đã được khoảng
một thời gian dài. Cả hai là những ví dụ thực hiện chức năng song song. Điều này
được thực hiện cách tiếp cận hơn nữa với tổ chức superscalar, trong đó khai thác song song instructionlevel. Với một máy superscalar, có nhiều đơn vị thực hiện
trong một bộ xử lý duy nhất, và đó có thể thực hiện nhiều hướng dẫn từ
cùng một chương trình song song.
Khi công nghệ máy tính đã phát triển, và như chi phí của phần cứng máy tính
đã giảm, các nhà thiết kế máy tính đã tìm kiếm nhiều hơn và nhiều cơ hội hơn cho xử lý song song, thường là để nâng cao hiệu suất và, trong một số trường hợp, để tăng tính sẵn sàng.
Sau một cái nhìn tổng quan, chương này xem xét một số các phương pháp nổi bật nhất
để tổ chức song song. Đầu tiên, chúng tôi kiểm tra multiprocessors đối xứng (SMPS), một
trong những đầu tiên và vẫn là ví dụ phổ biến nhất của tổ chức song song. Trong một
tổ chức SMP, nhiều bộ xử lý chia sẻ một bộ nhớ chung. Tổ chức này
đặt ra vấn đề của bộ nhớ cache sự gắn kết, mà một phần riêng biệt được dành. Tiếp theo,
chương kiểm tra bộ vi xử lý đa luồng và multiprocessors chip. Sau đó,
chúng tôi mô tả các cụm, trong đó bao gồm nhiều máy tính độc lập được tổ chức
một cách hợp tác xã. Cụm đã trở nên ngày càng phổ biến để hỗ trợ
khối lượng công việc đó vượt quá khả năng của một SMP duy nhất. Một cách tiếp cận để
sử dụng nhiều bộ xử lý mà chúng ta xem xét là truy cập bộ nhớ không đồng dạng
(NUMA) máy. Cách tiếp cận Numa là tương đối mới và chưa được chứng minh trong
thị trường, nhưng thường được coi như là một thay thế cho SMP hoặc cụm
phương pháp tiếp cận. Cuối cùng, chương này xem xét phần cứng cách tiếp cận tổ chức để tính toán vector. Những cách tiếp cận tối ưu hóa ALU để xử lý vector hoặc
mảng các số dấu chấm động. Họ được phổ biến trên các lớp của hệ thống được biết đến
. như siêu máy tính
LEARNINGOBJECTIVES
Sau khi nghiên cứu chương này, bạn sẽ có thể:
? Tóm tắt các loại hình tổ chức xử lý song song.
? Trình bày tổng quan về các tính năng thiết kế của multiprocessors đối xứng.
? Hiểu được vấn đề của bộ nhớ cache sự gắn kết trong một hệ thống xử lý nhiều.
? Giải thích các tính năng chính của giao thức MESI.
? Giải thích sự khác biệt giữa đa luồng ngầm và rõ ràng.
? Tóm tắt các vấn đề thiết kế chính cho các cụm.
? Giải thích khái niệm của bộ nhớ truy cập không đồng dạng.
? Trình bày tổng quan về tính toán vector.
17,1 / nhiều tổ chức PROCESSOR 613
17,1 TỔ CHỨC BỘ XỬ LÝ NHIỀU
loại hệ thống xử lý song song
Một phân loại đầu tiên được giới thiệu bởi Flynn [FLYN72] vẫn là cách phổ biến nhất của
phân loại hệ thống với khả năng xử lý song song. Flynn đề xuất các loại sau đây của hệ thống máy tính:
• hướng dẫn đơn, dữ liệu duy nhất (SISD) dòng: Một bộ xử lý duy nhất thực hiện
. một dòng lệnh duy nhất để hoạt động trên dữ liệu được lưu trữ trong một bộ nhớ duy nhất
Uniprocessors rơi vào loại này.
• hướng dẫn đơn, dữ liệu (SIMD) dòng: Một hướng dẫn máy tính duy nhất kiểm soát việc thực hiện đồng thời của một số yếu tố xử lý
trên cơ sở và bước. Mỗi phần tử xử lý có bộ nhớ dữ liệu liên quan,
để hướng dẫn được thực hiện trên bộ khác nhau của dữ liệu bằng cách xử lý khác nhau. Vector và mảng vi xử lý rơi vào loại này, và sẽ được thảo luận trong
mục 18.7.
• Nhiều hướng dẫn, dữ liệu duy nhất (MISD) dòng: Một chuỗi các dữ liệu được truyền đến một bộ vi xử lý, mỗi trong số đó thực hiện một lệnh khác nhau
theo thứ tự. Cấu trúc này không được thực hiện thương mại.
• Nhiều hướng dẫn, nhiều dữ liệu (MIMD) dòng:. Một tập hợp các bộ vi xử lý cùng một lúc thực hiện trình tự hướng dẫn khác nhau trên bộ dữ liệu khác nhau
. SMPS, cụm, và hệ thống NUMA phù hợp với thể loại này
với các tổ chức MIMD, các bộ vi xử lý có chung mục đích; mỗi có thể
xử lý tất cả các hướng dẫn cần thiết để thực hiện việc chuyển đổi dữ liệu thích hợp. MIMDs có thể được chia nhỏ hơn nữa bằng các phương tiện, trong đó các bộ vi xử lý giao tiếp (Hình 17.1). Nếu bộ xử lý chia sẻ một bộ nhớ chung, sau đó mỗi bộ xử lý
truy cập các chương trình và dữ liệu được lưu trữ trong bộ nhớ chia sẻ, và bộ vi xử lý giao tiếp với nhau thông qua bộ nhớ. Các hình thức phổ biến nhất của hệ thống như vậy được gọi
là một đa đối xứng (SMP), mà chúng tôi kiểm tra tại mục 17.2. Trong một SMP,
nhiều bộ xử lý chia sẻ một bộ nhớ duy nhất hoặc hồ bơi của bộ nhớ bằng phương tiện của một chia sẻ
xe buýt hoặc cơ chế kết nối khác; một đặc điểm phân biệt là bộ nhớ
thời gian truy cập vào bất kỳ khu vực của bộ nhớ là xấp xỉ như nhau cho mỗi bộ xử lý.
Một phát triển gần đây hơn là truy cập bộ nhớ không đồng dạng (NUMA) tổ chức, được mô tả trong mục 17.5. Như tên cho thấy, thời gian truy cập bộ nhớ
với các khu vực khác nhau của bộ nhớ có thể khác nhau đối với một bộ xử lý Numa.
Một bộ sưu tập của uniprocessors độc lập hoặc SMPS có thể được kết nối để
tạo thành một cụm. Giao tiếp giữa các máy tính hoặc là thông qua con đường cố định hoặc thông qua
một số cơ sở mạng.
Các tổ chức song song
đang được dịch, vui lòng đợi..
![](//viimg.ilovetranslation.com/pic/loading_3.gif?v=b9814dd30c1d7c59_8619)