Write-Update và Write-Back

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

Giao thức này cũng tương tự như trước, ngoại trừ việc thay vì viết trực tiếp vào bộ nhớ bất cứ khi nào khối dùng chung được cập nhật, quá trình cập nhật bộ nhớ được thực hiện chỉ khi khối được thay thế. Các trạng thái khối và giao thức được tóm tắt trong bảng 4.11.

Ví dụ 6: Xét hệ thống bộ nhớ dùng chung ở hình 4.6 và các phép toán sau đây: (1) P

đọc X, (2) P cập nhật X, (3) Q đọc X; (4) Q cập nhật X; (5) Q đọc X; (6) Khối X được thay thế trong cache của Q, (7) P cập nhật X; (8) Q cập nhật X. Bảng 4.12 cho thấy nội dung của bộ nhớ và hai cache sau khi thực thi mô tả trạng thái

BẢNG 4.7 Giao thức Viết-Một lần

Không hợp lệ [INV] Bản sao không phù hợp (không nhất quán). Hợp lệ [VALID] Bản sao phù hợp với bộ nhớ toàn cục.

Reserved (Dành riêng) [RES] Dữ liệu đã được viết đúng một lần và bản sao phù hợp với bộ nhớ toàn cục.Chỉ có một bản sao của khối nhớ toàn cục trong một cache riêng.

Dirty [DIRTY] dữ liệu đã được cập nhật nhiều hơn một lần và chỉ có một bản sao trong một cache riêng.Khi một bản sao dirty, nó phải được viết lại vào bộ nhớ toàn cục.

Sự kiện Hoạt động

Read-Hit Sử dụng bản sao cục bộ từ bộ nhớ cache.

Read-Miss Nếu bản Dirty không tồn tại, thì cung cấp một phiên bản từ bộ nhớ toàn cục. Đặt trạng thái của bản sao này thành hợp lệ. Nếu một bản sao dirty tồn tại, tạo một bản sao từ bộ nhớ cache, các cache chuyển trạng thái sang Dirty, cập nhật bộ nhớ toàn cục và bộ nhớ cache riêng cùng với bản sao. Đặt trạng thái thành VALID trong cả hai Cache.

Write-Hit Nếu các bản sao là Dirty hoặc Reserved (dành riêng), thực hiện thao tác viết cục bộ, và chuyển trạng thái sang Dirty.Nếu trạng thái là Valid, thì phát ra một lệnh không hợp lệ cho các bộ nhớ cache. Cập nhật bộ nhớ toàn cục và chuyển sang trạng thái Reserved.

Write-Miss Nhận một bản sao từ cache với bản sao dirty hoặc từ chính bộ nhớ toàn cục. Phát đi một bản sao không hợp lệ cho các bộ nhớ cache. Cập nhật các bản sao cục bộ và thiết lập trạng thái sang Dirty.

Thay thế khối Nếu một bản sao ở trạng thái Dirty, nó phải được viết trở lại bộ nhớ chính nếu khối được thay thế. Nếu bản sao ở các trạng thái Valid, Reserved, hoặc Invalid, thao tác viết lại không cần thiết khi khối được thay thế. Mô tả trạng thái sử dụng bản sao cục bộ từ bộ nhớ cache. Trạng thái không thay đổi

BẢNG 4.8 Ví dụ 4 (Giao thức Viết-một lần)

Nếu không có bản sao cache khác tồn tại, thì cung cấp bản sao từ bộ nhớ toàn cục. Thiết lập trạng thái của bản sao này sang Valid Exclusive . Nếu một bản sao cache tồn tại, tạo một bản sao từ bộ nhớ cache. Thiết lập trạng thái sang Shared trong cả hai cache. Nếu bản sao cache ở trạng thái Dirty, giá trị cũng phải được ghi vào bộ nhớ.

Thực hiện việc ghi cục bộ và thiết lập trạng thái sang Dirty. Nếu trạng thái là Shared, thì truyền một dữ liệu sang bộ nhớ và sang tất cả các cache và chuyển trạng thái sang

Shared. Nếu các cache khác không còn dùng chung khối, trạng thái thay đổi từ Shared sang Valid Exclusive.

Bản sao khối xuất phát từ một bộ nhớ cache khác hoặc từ bộ nhớ toàn cục. Nếu khối xuất phát từ bộ nhớ cache khác, thực hiện cập nhật và cập nhật tất cả các cache khác dùng chung khối và bộ nhớ toàn cục. Thiết lập trạng thái sang Shared. Nếu bản sao đến từ bộ nhớ, thực hiện ghi và chuyển trạng thái sang Dirty.

Nếu một bản sao ở trạng thái Dirty, nó phải được viết trở lại bộ nhớ chính nếu khối đang được thay thế. Nếu bản sao ở trạng thái Valid Exclusive hoặc Shared, thao tác viết lại không cần thiết khi một khối được thay thế.

của mỗi hoạt động khi Write-Update Write-Back được sử dụng để đảm bảo tính tương hợp cache. Bảng này cũng biểu diễn trạng thái của khối chứa X trong cache của P và Q.

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