Phân loai hệ thống bộ nhớ dùng chung

Một phần của tài liệu Các hệ vi xử lý tiên tiến (Trang 55 - 57)

Hệ thống bộ nhớ dùng chung đơn giản bao gồm một mơ-đun bộ nhớ (M) có thể do hai bộ vi xử lý truy cập (P1 và P2), xem hình 4.2. Yêu cầu đến các mô-đun bộ nhớ thông qua hai cổng của nó. Một khối phân xử trong các mô-đun bộ nhớ cho các yêu cầu đến bộ điều khiển bộ nhớ. Nếu các mô-đun bộ nhớ không bận và một yêu cầu đến, thì khối phân xử cho yêu cầu đó vào bộ điều khiển bộ nhớ và các yêu cần được đáp ứng. Các mô-đun được đặt ở trạng thái bận trong khi một yêu cầu đang được xử lý. Nếu một yêu cầu mới đến trong khi bộ nhớ đang bận phục vụ (xử lý) một u cầu trước đó, các mơ-đun bộ nhớ sẽ gửi một tín hiệu chờ, qua bộ điều khiển bộ nhớ, đến bộ xử lý thực hiện một yêu cầu mới. Đáp lại, bộ xử lý yêu cầu có thể giữ yêu cầu của nó trên hàng cho đến khi bộ nhớ rỗi hoặc nó có thể lặp lại yêu cầu một thời gian sau đó. Nếu khối phân xử nhận hai u cầu, thì, nó chọn một trong hai yêu cầu đó và cho vào bộ điều khiển bộ nhớ. Một lần nữa, yêu cầu bị từ chối có thể được giữ lại để xử lý sau hoặc nó có thể được lặp lại vào một thời điểm sau đó. Dựa trên mạng liên thơng được sử dụng, hệ thống bộ nhớ dùng chung có thể được phân loại như sau.

4.1.1 Truy cập bộ nhớ đồng đều (UMA)

Trong hệ thống UMA, một bộ nhớ dùng chung có thể được tất cả các bộ xử lý truy cập qua một mạng liên thông tương tự như một bộ xử lý truy cập bộ nhớ của nó. Tất cả các bộ vi xử lý có thời gian truy cập như nhau vào bất kỳ vị trí nhớ nào. Mạng liên thơng được sử dụng trong UMA có thể là bus đơn, đa bus, hay một chuyển mạch điểm chéo. Vì truy cập vào bộ nhớ dùng chung được cân bằng, các hệ thống này còn được gọi là SMP(hệ đa xử lý đối xứng). Mỗi bộ xử lý có cơ hội bình đẳng để đọc / ghi vào bộ nhớ, kể cả tốc độ truy cập cũng bằng nhau. Các ví dụ thương mại của SMPS là các server đa xử lý Sun Microsystems và Silicon Graphics Inc.. Một máy tính SMP cấu trúc bus điển hình, như biểu diễn trong hình 4.3, có nhiệm vụ giảm tranh chấp cho bus bằng cách lấy (truy cập, truy xuất) lệnh và dữ liệu trực tiếp từ mỗi cache riêng biệt, càng nhiều càng tốt. Trong những trường hợp đặc biệt, sự tranh chấp bus có thể giảm đến khơng sau khi các bộ nhớ cache được tải từ bộ nhớ tồn cục, bởi vì có thể tất cả các lệnh và dữ liệu hoàn toàn được chứa trong bộ nhớ cache. Tổ chức bộ nhớ này phổ biến nhất trong số các hệ thống bộ nhớ dùng chung. Ví dụ về kiến trúc này là các server Sun Starfire , seri HP V, và Compaq AlphaServer GS.

Hình 4.2 Bộ nhớ dùng chung qua hai cổng.

Hình 4.3 Hệ thống bộ nhớ dùng chung UMA dựa trên bus (SMP).

4.1.2 Bộ nhớ truy cập không đồng đều (NUMA)

Trong hệ thống Numa, mỗi bộ xử lý có một phần bộ nhớ dùng chung đi kèm. Bộ nhớ có một khơng gian địa chỉ duy nhất. Vì vậy, bất kỳ bộ vi xử lý nào cũng có thể truy cập vào bất kỳ vị trí bộ nhớ nào một cách trực tiếp sử dụng địa chỉ thực của nó. Tuy nhiên, thời gian truy cập vào các module phụ thuộc vào khoảng cách đến bộ xử lý. Điều này dẫn đến thời gian truy cập bộ nhớ không giống nhau. Một số kiến trúc được sử dụng để kết nối các bộ xử lý với các mô-đun bộ nhớ trong Numa. Trong số đó có các mạng bus cây và thứ bậc. Ví dụ về kiến trúc Numa là BBN TC-2000, SGI Origin 3000, và Cray T3E. Hình 4.4 biểu diễn tổ chức hệ Numa.

Hình 4.4 Hệ thống bộ nhớ dùng chung Numa

4.1.3 Kiến trúc bộ nhớ chỉ dùng Cache (COMA)

Tương tự như Numa, mỗi bộ xử lý có một phần bộ nhớ dùng chung trong COMA. Tuy nhiên, trong trường hợp này, bộ nhớ dùng chung bao gồm bộ nhớ cache. Một hệ COMA yêu cầu dữ liệu phải được di chuyển đến bộ xử lý u cầu nó. Khơng có sự phân cấp bộ nhớ và không gian địa chỉ được tạo ra từ tất cả các cache. Có một thư mục cache (D) giúp đỡ trong quá trình truy cập cache từ xa. Máy KSR-1 của Kendall Square Research là một ví dụ về kiến trúc như thế.

Hình 4.5 biểu diễn cách bố trí của COMA.

Một phần của tài liệu Các hệ vi xử lý tiên tiến (Trang 55 - 57)