Khi Cache đã được lấp đầy, khi một khối mới được đưa vào bộ nhớ cache, một
trong những khối hiện có phải được thay thế. Đối với bản đồ trực tiếp, chỉ có một có thể
dòng cho bất kỳ khối cụ thể, và không có sự lựa chọn là có thể. Đối với các kết hợp
và kỹ thuật thiết kết hợp, một thuật toán thay thế là cần thiết. Để đạt được cao
tốc độ, một thuật toán đó phải được thực hiện trong phần cứng. Một số thuật toán
đã được thử nghiệm. Chúng tôi đề cập đến bốn phổ biến nhất. Có lẽ hầu hết các
hiệu quả là gần đây nhất được sử dụng (LRU): Thay thế mà khối trong bộ đó đã được trong
bộ nhớ cache dài nhất không có tham chiếu đến nó. Đối với hai cách thiết lập liên kết, điều này có thể dễ dàng
thực hiện. Mỗi dòng bao gồm một chút SỬ DỤNG. Khi một dòng được tham chiếu, chút SỬ DỤNG của nó
được thiết lập để 1 và bit SỬ DỤNG của các dòng khác trong tập hợp đó được thiết lập là 0. Khi một khối là
được đọc vào bộ này, các dòng có sử dụng bit là 0 được sử dụng. Bởi vì chúng ta giả định
rằng vị trí bộ nhớ gần đây nhất được sử dụng là nhiều khả năng được tham chiếu, LRU
nên cho tỷ lệ hit hay nhất. LRU cũng tương đối dễ dàng để thực hiện cho một hoàn toàn
Cache liên kết. Cơ chế bộ nhớ cache duy trì một danh sách riêng biệt của các chỉ số cho tất cả
các dòng trong bộ nhớ cache. Khi một dòng được tham chiếu, nó di chuyển vào phía trước của danh sách.
Để thay thế, dòng ở mặt sau của danh sách được sử dụng. Bởi vì đơn giản của nó trong
thực hiện, LRU là thuật toán thay thế phổ biến nhất.
Một khả năng khác là đầu tiên-trong-đầu-out (FIFO): Thay thế khối trong tập
đã được trong bộ nhớ cache dài nhất. FIFO có thể dễ dàng thực hiện như một vòng tròn
hoặc kỹ thuật đệm tròn. Vẫn còn một khả năng khác là ít nhất thường được sử dụng (LFU):
Thay thế mà khối trong bộ đó đã trải qua những tài liệu tham khảo ít nhất. LFU có thể
được thực hiện bằng cách kết hợp một truy cập với mỗi dòng. Một kỹ thuật không dựa trên
việc sử dụng (tức là, không LRU, LFU, FIFO, hoặc một số biến thể) là để chọn một dòng ngẫu nhiên từ
các dòng ứng cử viên. Nghiên cứu mô phỏng đã chỉ ra rằng thay đổi ngẫu nhiên
chỉ cung cấp hiệu suất hơi thấp hơn một thuật toán dựa trên việc sử dụng [SMIT82].
đang được dịch, vui lòng đợi..
