4.3 BỘ NHỚ CACHE
Nguyên lý
Bộ nhớ cache được thiết kế với ý định mang lại bộ nhớ có tốc độ xấp xỉ tốc độ của bộ nhớ nhanh nhất hiện có, đồng thời cung cấp một kích thước bộ nhớ lớn với phí tổn ít hơn so với các loại bộ nhớ bán dẫn. Khái niệm về bộ nhớ cache được trình bày trên hình 4.3 và 4.4. Bộ nhớ cache chứa bản sao của một phần bộ nhớ chính. Khi CPU cố gắng đọc một word từ bộ nhớ, word này sẽ được kiểm tra xem có trong cache hay không. Nếu có, word đó sẽ được cung cấp ngay cho CPU. Trong trường hợp ngược lại, một khối bộ nhớ chính, bao gồm một lượng cố định các word sẽ được đọc vào trong cache và sau đó word đó sẽ được cung cấp cho CPU. Do có hiện tượng tham chiếu cục bộ, khi một khối dữ liệu được lấy vào trong cache để đáp ứng một tham chiếu đơn lẻ, có nhiều khả năng các tham chiếu kế tiếp sẽ là các word khác trong cùng một khối.
Hình 4.3 Cache và bộ nhớ chính
Hình 4.3 thể hiện mối quan hệ giữa một hệ thống cache và bộ nhớ chính. Hình 4.4 thể hiện cấu trúc cache/ bộ nhớ chính. Hình 4.5 mô tả một tổ chức tiêu biểu của bộ nhớ cache. Bộ nhớ chính gồm đến 2n word khả định địa chỉ, với mỗi word có một địa chỉ duy nhất n bit. Do yêu cầu ánh xạ, bộ nhớ này được xem như gồm một số các khối có độ dài cố định K word. Tức là chúng ta có M = 2n/K khối. Bộ nhớ cache gồm C khe K word, và số các khe, hay đường, nhỏ hơn đáng kể so với số khối bộ nhớ chính (C << M). Tại một thời điểm bất kỳ, luôn có một tập con gồm các khối nhớ thường trú trong các khe của cache. Nếu một word trong một khối bộ nhớ được đọc, khối đó sẽ được chuyển vào một trong các khe của cache. Do số khối nhiều hơn số khe, một khe có thể không được giành cho một khối trong thời gian lâu dài. Vì lý do đó, mỗi khe có một thẻ cho biết khối nào đang được lưu trữ. Thẻ thường là một phần của địa chỉ bộ nhớ chính của khối đang được giữ trong khe.
Hình 4.4: Tổ chức tiêu biểu của bộ nhớ cache
Hình 4.5 Cấu trúc cache/bộ nhớ chính
Hình 4.6 minh họa thao tác đọc. CPU sinh ra địa chỉ, RA, của một word cần đọc. Nếu word có trong cache, nó sẽ được giao cho CPU. Ngược lại, khối chứa word sẽ được tải vào trong cache, và word được giao cho CPU.
Hình 4.6 Thao tác
đọc cache