Giao thức sự gắn kết thư mục trong 2 trường hợp nghiên cứu mô tả sự gắn kết thư mục tạimột mức độ trừu tượng nhưng giả định quá trình chuyển đổi nguyên tử giống như hệ thống snooping đơn giản.Sử dụng hệ thống thư mục hiệu suất cao pipelined, chuyển sang liên kết nốiTrường hợp nghiên cứu và các bài tập của Amr Zaky và David A. gỗ ■ 421mà cải thiện rất nhiều băng thông nhưng cũng giới thiệu tạm thời kỳ và nonatomicgiao dịch. Giao thức tính mạch lạc của thư mục cache là khả năng mở rộng hơn snoopingbộ nhớ cache tính mạch lạc giao thức vì hai lý do. Đầu tiên, snooping cache tính mạch lạc giao thứcyêu cầu phát sóng tất cả các nút, hạn chế khả năng mở rộng của họ. Giao thức thư mụcsử dụng một mức độ về mình — một tin nhắn vào thư mục — để đảm bảo yêu cầu làchỉ gửi đến các hạch có bản sao của một khối. Thứ hai, các địa chỉ mạng của mộtHệ thống snooping phải cung cấp các yêu cầu theo một thứ tự tất cả, trong khi giao thức thư mụccó thể thư giãn hạn chế này. Một số giao thức thư mục giả định không có mạng đặt hàng,đó là mang lại lợi ích vì nó cho phép thích nghi định tuyến kỹ thuật để cải thiện mạngbăng thông. Các giao thức khác dựa vào thứ tự điểm-điểm (tức là tin nhắn từ nútP0 nút P1 đến đơn đặt hàng). Ngay cả với điều này đặt hàng hạn chế, thư mụcgiao thức thường có thêm kỳ thoáng hơn snooping giao thức. Con số 5,39Nhà nước đọc ghiThay thếMIA z z z lỗi gửi dữ liệu gửi dữ liệu / tôi/i lỗi lỗiPhát sóng hình 5,39 snooping quá trình chuyển đổi bộ điều khiển bộ nhớ cache.422 ■ chương năm Thread cấp xử lý song songtrình bày quá trình chuyển đổi trạng thái điều khiển của bộ nhớ cache cho một thư mục đơn giản hóa giao thức màDựa trên điểm mạng đặt hàng. Con số 5,40 trình bày điều khiển directoryquá trình chuyển đổi của nhà nước.Cho mỗi khối, mục duy trì một trạng thái và một trường chủ sở hữu hiện tại hoặcdanh sách một sharers hiện tại (nếu có). Vì lợi ích của các cuộc thảo luận sau vàvấn đề tiếp sau, giả sử L2 cache đã bị vô hiệu hoá. Giả sử rằng cácnhớ thư mục danh sách sharers/chủ sở hữu ở một bộ vi xử lý. Ví dụ:trong con số 5.38, các thư mục bộ nhớ cho dòng 108 sẽ "P0, 0; P3, 0" thay vìso với "C0, C1". Ngoài ra, giả sử tin nhắn vượt qua ranh giới chip — nếu cần thiết-trong một cách minh bạch.Hàng được lập chỉ mục bởi nhà nước hiện nay, và sẽ xác định các cột theo sự kiệnCác tuple. Nếu chỉ có một nhà nước tiếp theo được liệt kê, sau đó không có hành động làyêu cầu. Trường hợp không thể được đánh dấu "lỗi" và đại diện cho điều kiện lỗi; "z"có nghĩa là sự kiện này được yêu cầu hiện không thể xử lý.Ví dụ sau minh họa các hoạt động cơ bản của giao thức này. Giả sửmột bộ xử lý cố gắng viết vào một khối trong bang tôi (không hợp lệ). Tuple tương ứng"gửi GetM/IMAD," chỉ những bộ điều khiển bộ nhớ cache nên gửi một GetM(GetModified) các yêu cầu để các thư mục và chuyển sang trạng thái IMAD. Trong đơn giản nhấttrường hợp, thông báo yêu cầu tìm thấy thư mục thuộc bang DI (thư mục không hợp lệ), chỉ rakhông có bộ nhớ cache khác có một bản sao. Thư mục đáp ứng với một thông điệp dữ liệumà cũng có chứa số lượng Acks mong đợi (trong trường hợp này, bằng 0). Trong này đơn giảngiao thức, bộ điều khiển bộ nhớ cache xử lý tin nhắn duy nhất này là hai thư: mộtThông điệp dữ liệu theo sau là một sự kiện cuối Ack. Thông điệp dữ liệu được xử lý đầu tiên,tiết kiệm dữ liệu và chuyển tiếp sang IMA. Sự kiện cuối Ack sau đó được xử lý,chuyển sang tiểu bang M. Cuối cùng, viết có thể được thực hiện trong bang M.
đang được dịch, vui lòng đợi..
