- Đọc/Ghi ngày, tháng, năm
HỆ ĐIỀU HÀNH NHIỀU BỘ VI XỬ LÝ
6.1.3. Hệ thống đa xử lý UMA dùng mơ hình mạng chuyển mạch đa tầng (Multistage Switching Network)
Switching Network)
Một thiết kế hồn tồn khác cho hệ thống đa xử lý dựa trên chuyển mạch 2x2được trình bày trong hình 6-3(a). Chuyển mạch này cĩ 2 ngỏ vào và 2 ngỏ ra. Các message cĩ thểđến bất kỳ một trong hai ngỏ vào và được chuyển ra theo một trong hai ngỏ ra. Theo đĩ, mỗi message sẽ gồm 4 phần, như trong hình 6-3(b). Trong hình này, trường Module cho biết vùng nhớ nào được sử dụng. Trường Address cho biết địa chỉ nào trong vùng nhớđĩ. Trường Opcode cho biết họat động gì sẽ được thực hiện (đọc (READ) hay ghi (WRITE)). Và trường Value là trường tùy chọn, cho biết tốn hạng nào sẽđược dùng vào việc đọc hoặc ghi (chẳng hạn như một từ 32-bit sẽđược đọc hoặc ghi). Chuyển mạch (switch) sẽ kiểm tra trường Module và dùng nĩ để xác định xem message nên đi ra ngỏ nào, X hay Y.
Hình 6.3. (a) Chuyển mạch 2x2. (b) Định dạng của Message.
Các chuyển mạch 2x2 cĩ thểđược sắp xếp theo nhiều cách để tạo nên một mạng chuyển mạch đa tầng (multistage switching network). Một kiến trúc điển hình cho lọai này được trình bày trong hình 6-4. Ởđây, 8 CPU được kết nối với 8 bộ nhớ sử dụng 12 switch. Một cách tổng quát, với n
CPU và n bộ nhớ, chúng ta cần log2n tầng (stage) với n/2 switch cho mỗi tầng. Nghĩa là, tổng cộng hệ thống cần (n/1)log2n switch. Điều này rõ ràng là tốt hơn nhiều so với hệ thống đa xử lý UMA dùng chuyển mạch chéo, cần tới n2 crosspoint, đặc biệt là khi n mang giá trị lớn.
Hình 6.3. Mạng chuyển mạch Omega
Xét mạng chuyển mạch Omega như trong hình 6-4, giả sử CPU 011 muốn đọc một từ nhớ (word) từ bộ nhớ 110. CPU gởi message READ đến chuyển mạch 1D chứa giá trị 110 trong trường
Module. Switch lấy bit đầu tiên (bên trái nhất) của 110 và dùng nĩ cho việc định tuyến. Nếu bit này cĩ giá trị 0, switch sẽ chọn lên ngỏ ra phía trên, ngược lại, nếu bit này cĩ giá trị 1, thì switch sẽ chọn tuyến bên dưới. Như vậy, trong trường hợp này, bit đầu tiên cĩ giá trị 1, nên message
được đưa đến ngỏ ra bên dưới đểđi đến switch 2D.
Tất cả các switch ở tầng thứ 2, bao gồm switch 2D, bit thứ 2 (từ trái sang) sẽđược dùng vào việc định tuyến. Và trong trường hợp này, bit thứ 2 cĩ giá trị 1, nên message cũng được chuyển đến ngỏ ra bên dưới đến switch 3D. Tại đây, bit thứ 3 từ trái sang sẽđược kiểm tra, và vì nĩ mang giá trị 0 nên message sẽđược chuyển đến ngỏ ra bên trên và đi đến bộ nhớ 110. Kết quả là message sẽ đi theo con đường được đánh dấu bằng ký tựa trong hình 6-4.
Giả sử tại cùng thời điểm diễn ra những việc trên, CPU 001 muốn ghi một wordđến bộ nhớ 001. Một tiến tình tương tự như vậy cũng xảy ra, ởđĩ, messageđược định tuyến thơng qua các cổng theo thứ tự như sau: messageđến ngỏ vào trên của switch 1B và đi ra ở ngỏ ra trên của 1B, sau đĩ đến switch 2C, và đi ra ở ngỏ ra trên của 2C đểđến switch 3A, sau cùng thì message sẽđi ra ở ngỏ ra dưới của switch 3A để đến bộ nhớ 001. Kết quả là message sẽ đi theo con đường được đánh dấu bằng ký tựb trong hình 6-4. Bởi vì 2 yêu cầu này sử dụng các switch, kết nối và bộ nhớ khác nhau, nên khơng xảy ra bất kỳ sựđụng độ nào, chúng cĩ thể thực hiện cơng việc một cách đồng thời.
Tuy nhiên, điều gì sẽ xảy ra nếu CPU 000 đồng thời muốn truy xuất bộ nhớ 000. Yêu cầu của nĩ sẽđụng độ với nhu cầu của CPU 001 tại switch 3A. Một trong hai yêu cầu này phải đợi. Khơng giống như cơ chế chuyển mạch chéo, mạng Omega là một mạng cĩ khả năng xảy ra nghẽn. Khơng phải mọi yêu cầu đều cĩ thểđược xử lý đồng thời. Đụng độ cĩ thể xảy ra do việc sử dụng chung kết nối, switch hoặc bộ nhớ mà các yêu cầu truy xuất đến.
Từ hệ thống này, người ta mong đợi cĩ một hệ thống được cải tiến hơn bằng cách cho phép các
word liên tục được lưu trong các bộ nhớ khác nhau. Điều này cho phép hệ thống truy xuất đến bộ nhớ nhanh hơn. Ngịai ra, tình trạng nghẽn mạng cũng cĩ thểđược khắc phục bằng cách cung cấp nhiều đường đi từ một CPU này đến một bộ nhớ bất kỳ, khi đĩ tốc độ truy xuất bộ nhớ cũng được cải thiện đáng kể.