- Đọ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
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ể.