Cấu trúc và thuật toán thay thế của bộ nhớ Cache

1. Cấu trúc Cache:
Cache ghi nhớ một tập hợp Ai các địa chỉ của BN chính và các từ dữ liệu M(Ai). Dữ liệu trao đổi giữa Cache và BN chính được nhóm theo các khối, hay khối các dòng. Mỗi một khối lệnh như vậy là 1 phân khối của 1 trang nào đó của BN chính. Do đó địa chỉ chứa trong Cache là địa chỉ khối. Các dòng cất giữ trong Cache không có địa chỉ riêng biệt, mà chúng được tham chiếu tới nhờ địa chỉ của chúng lưu trong BN chính. Vị trí chính xác của các dòng trong Cache được xác định bằng phương pháp sắp xếp địa chỉ giữa BN chính và Cache. Nội dung của mảng Cache là những bản sao của tập các khối nhỏ không liên tiếp nhau kèm theo địa chỉ của BN chính.
2. Thuật toán thay thế (phương pháp thay thế dòng của tập trong Cache)
B1: CPU yêu cầu lệnh trên dữ liệu lưu trữ trong địa chỉ “a”
B2: Khi đó nội dung từ địa chỉ “a” không có bên trong BN Cache, CPU phải mang nó về trực tiếp từ BN RAM.
B3: Bộ phận điều khiển Cache  tải 1 hàng (thông thường 64 byte) bắt đầu từ địa chỉ “a” và bên trong BN Cache. Điều đó nhiều hơn dữ liệu CPU đã yêu cầu, do đó nếu chương trình tiếp tục chạy tuần tự (có nghĩa là yêu cầu địa chỉ a + 1), lệnh trên dữ liệu tiếp theo CPU sẽ yêu cầu đã được tải trong BN Cache.
B4: Mạch điện gọi là PreFetch tải nhiều ví trí dữ liệu hơn sau dòng sau, có nghĩa là bắt đầu những nội dung tải từ địa chỉ a + 64 vào BN Cache.
Nếu chương trình thường chạy tuần tự thì CPU không bao giờ cần lấy dữ liệu trực tiếp từ BN RAM về, nhũng lệnh và dữ liệu CPU yêu cầu sẽ thường nằm trong BN Cache trc khi CPU hỏi tới chúng.
Nếu chương trình thường chạy tuần tự thì CPU không bao giờ cần lấy dữ liệu trực tiếp từ bộ nhớ RAM về (ngoại trừ việc tải lệnh đầu tiên), những lệnh và dữ liệu CPU yêu cầu sẽ thường nằm trong bộ nhớ Cache trước khi CPU hỏi tới chúng.
Tuy nhiên những chương trình lại không chạy như vậy, chúng sẽ thường nhảy từ vị trí bộ nhớ này tới vị trí bộ nhớ khác. Thách thức lớn nhất của Bộ phận điều khiển Cache chính là cố gắng phỏng đoán CPU sẽ nhảy tới địa chỉ nào, để tải nội dung của địa chỉ đó vào bên trong bộ nhớ Cache trước khi CPU yêu cầu nó để tránh trường hợp CPU phải đi tới bộ nhớ RAM của hệ thống, vì điều đó làm chậm hiệu suất làm việc của toàn bộ hệ thống. Nhiệm vụ này được gọi là Dự đoán rẽ nhánh và những CPU mới đều có đặc điểm này. Những CPU hiện đại có tỉ lệ “hit” ít nhất là 80%, có nghĩa là ít nhất 80% thời gian CPU không cần truy cập trực tiếp tới bộ nhớ RAM của hệ thống và thay thế vào truy cập tới bộ nhớ Cache .

Cho dòng X = 275 trong BN chính với số lượng các tập trong Cache là k  = 128. Xác định dòng X của BN chính được xếp vào tập bao nhiêu của BN Cache.
         Dòng 275 sẽ đc xếp như sau : 275/128 = 2 + 19/128, nghĩa là dòng 275 của BN chính đc xếp vào tập 19 trong Cache.



Đăng nhận xét