6. Cấu trúc của luận án
2.6.1. Thế nào là nhất quán cache
Nhất quán cache: Tính nhất quán của cache là khi cache chứa bản sao của một
phần của bộ nhớ chính, điều quan trọng là cache luôn phản ánh nội dung bộ nhớ
chính [64, 67]. Một số thuật ngữ được dùng để mô tả quá trình duy trì tính nhất
quán của bộ nhớ cache:
Snoop:
Snoop là khi cache đang giám sát các đường địa chỉ cho giao tác. Chức năng
này cho phép cache biết được các giao tác đang truy nhập đến vùng bộ nhớ có nội
Snarf:
Cache được gọi là đã snarf dữ liệu khi nó có được những thông tin từ các
đường dữ liệu. Chức năng này cho phép cache cập nhật và duy trì tính nhất quán của nó.
Như vậy, snoop và snarf là hai cơ chế mà cache dùng để duy trì tính nhất quán cache.
Nhất quán cache chỉ có trong kiến trúc chip đa lõi, bởi vì các lõi đều cùng chia sẻ cache và bộ nhớ. Xét trường hợp cụ thể sau đây: Cho rằng CPU là chip đa xử lý
có 2-lõi là P1 và P2. Giai đoạn thứ nhất P2 thực hiện lệnh: ld r2, x (nạp nội dung
của ngăn nhớ x từ bộ nhớ chính về thanh ghi r2 của P2) như hình 2.18.
Hình 2.18: P2 thực hiện lệnh ld r2, x về thanh ghi r2 của P2 [67].
Giai đoạn thứ hai, P1 thực hiện lệnh ld r2, x (nạp nội dung ngăn nhớ x từ bộ
nhớ chính về thanh ghi r2 của P1) như hình 2.19.
Hình 2.19: P1 thực hiện lệnh ld r2, x [67]. Hình 2.20: P1 thực hiện các lệnh: add r1,
r2, r4; st x, r1 [67].
Lúc này, nội dung ngăn nhớ x giống với nội dung ở các thanh ghi r2 của P1 và P2. Tiếp theo, P1 thực hiện liên tiếp các lệnh add r1, r2, r4 (cộng nội dung của các
thanh ghi r1, r2, r4 và lưu kết quả vào r1), st x, r1 (chuyển nội dung của r1 vào
ngăn nhớ x) như hình 2.20. Đến đây, có thể thấy rằng nội dung của ngăn nhớ x trên bộ nhớ chính đã thay đổi khác với nội dung của nó đã được lưu trên các thanh ghi
r2 của P1 và P2.