Bởi vì có những dòng bộ nhớ cache ít hơn khối bộ nhớ chính, một thuật toán là cần thiết cho việc lập bản đồ các khối bộ nhớ chính vào dòng bộ nhớ cache. Hơn nữa, một phương tiện cần thiết cho việc xác định khối bộ nhớ chính hiện đang chiếm một dòng bộ nhớ cache. Việc lựa chọn các chức năng lập bản đồ ra lệnh như thế nào bộ nhớ cache là kỹ thuật organized.Three có thể được sử dụng: trực tiếp, kết hợp, và thiết lập associative.We kiểm tra mỗi lần lượt. Trong mỗi trường hợp, chúng ta nhìn vào cấu trúc chung và sau đó là một ví dụ cụ thể.
Ví dụ 4.2 Đối với tất cả ba trường hợp, ví dụ bao gồm các yếu tố sau:
• Các bộ nhớ cache có thể giữ 64 KBytes. • Dữ liệu được chuyển giao giữa bộ nhớ chính và bộ nhớ cache trong khối 4 byte mỗi. Điều này có nghĩa là bộ nhớ cache được tổ chức như 16K 214 dòng 4 byte mỗi. • Bộ nhớ chính bao gồm 16 Mbytes, với mỗi byte địa chỉ trực tiếp bởi một địa chỉ 24-bit (224 16M) .Thus, cho mục đích lập bản đồ, chúng ta có thể xem xét chính vieân ory để bao gồm 4M khối 4 byte mỗi.
BẢN ĐỒ TRỰC TIẾP Các kỹ thuật đơn giản nhất, được gọi là bản đồ trực tiếp, bản đồ mỗi khối của bộ nhớ chính vào chỉ có một dòng bộ nhớ cache có thể. Các bản đồ được Thí ép như
nơi
tôi nhớ cache dòng số j chính khối bộ nhớ số số m dòng trong bộ nhớ cache
hình 4.8a cho thấy các bản đồ cho các khối đầu tiên của bộ nhớ chính. Mỗi khối của bộ nhớ chính bản đồ thành một dòng duy nhất của các khối tiếp theo cache.The của bản đồ bộ nhớ chính vào bộ nhớ cache trong cùng một thời trang; đó là, khối Bm bộ nhớ chính vào bản đồ đường L0 của bộ nhớ cache, khối Bm? 1 bản đồ vào dòng L1, và như vậy. Các chức năng lập bản đồ được thực hiện dễ dàng bằng cách sử dụng địa chỉ bộ nhớ chính. Hình 4.9 minh họa cơ chế chung. Đối với mục đích truy cập bộ nhớ cache, mỗi địa chỉ bộ nhớ chính có thể được xem như bao gồm ba lĩnh vực. Các đáng kể không nhất w bit xác định một từ duy nhất hoặc byte trong một khối của bộ nhớ chính; trong hầu hết các máy hiện đại, địa chỉ là ở level.the byte bit còn lại của chỉ định một trong 2s khối chính luận memory.The bộ nhớ cache diễn giải các s bit như một thẻ của srbits (phần quan trọng nhất) và một trường dòng r bits.This lĩnh vực sau iden- tifies một trong những dòng m 2r của cache.To tóm tắt,
chiều dài • Địa chỉ (sw) bit • Số lượng các đơn vị địa chỉ? 2s? Chữ w hoặc byte • Block kích thước kích thước đường 2w từ hay byte
• Số lượng các khối trong bộ nhớ chính
• Số dòng trong bộ nhớ cache m 2r • Kích thước của bộ nhớ cache 2r? chữ w hoặc byte • Kích thước của thẻ (sr) bit
Hiệu quả lập bản đồ này là các khối bộ nhớ chính được giao cho dòng bộ nhớ cache như sau:
Như vậy, việc sử dụng một phần của địa chỉ như một số dòng cung cấp một bản đồ độc đáo của mỗi khối của bộ nhớ chính vào cache. Khi một khối được thực sự đọc vào dòng giao của nó, nó là cần thiết để khóa các dữ liệu để phân biệt nó với các khối khác mà có thể phù hợp với dòng đó. Các srbits quan trọng nhất phục vụ mục đích này. Ví dụ 4.2a Hình 4.10 cho thấy hệ thống ví dụ của chúng ta sử dụng trực tiếp mapping.5 Trong dụ, m 16K và 214 ijmodulo 214. Việc lập bản đồ trở nên == = 4.3 / CÁC YẾU TỐ CỦA CACHE DESIGN 127 WordL ineTag WO W1 W2 W3 So sánh 1 nếu trận đấu là 0 nếu không có trận đấu là 0 nếu trận 1 nếu không có trận đấu W4j W (4J + 1) W (4J + 2) W (4J + 3) Tag Data Cache L0 Li địa chỉ bộ nhớ (Miss trong bộ nhớ cache) (Hit trong cache) w s - r wr s + w Bộ nhớ chính Bj B0 s w Lm-1 s - r Hình 4.9 Tổ chức bộ nhớ cache Direct-Mapping Lưu ý rằng không có hai khối map vào số dòng tương tự có cùng một từ khóa num ber.Thus, khối với địa chỉ bắt đầu 000000,010000, FF0000 có số thẻ 00, 01, FF, tương ứng. Nhắc lại Hình 4.5, một hoạt động đọc các công trình như hệ thống cache follows.The được trình bày với một 24-bit address.The số dòng 14-bit được sử dụng như một chỉ số vào bộ nhớ cache để truy cập vào một line.If đặc biệt là 8-bit số thẻ phù hợp với số thẻ hiện đang được lưu trong dòng, sau đó từ thứ 2-bit được sử dụng để chọn một trong 4 byte trong đó line.Oth- erwise, lĩnh vực tag-plus-đường 22-bit được sử dụng để lấy một khối từ memory.The chính địa chỉ thực tế được sử dụng để tìm nạp là 22-bit tag-cộng-line nối với hai bit 0, do đó 4 byte được lấy bắt đầu trên một ranh giới khối. Á, Á, cache Dòng Bắt đầu từ địa chỉ bộ nhớ của Block 0 000000, 010000, FF0000 1 000.004, 010.004, FF0004 214 1 00FFFC, 01FFFC, FFFFFC Á, - oo Á, Á, 5in này và con số tiếp theo, giá trị bộ nhớ được biểu diễn trong hệ thập lục phân ký hiệu. Xem Chương 19 để bồi dưỡng cơ bản về hệ thống số (số thập phân, nhị phân, thập lục phân). Lưu ý: giá trị địa chỉ bộ nhớ là trong biểu diễn nhị phân; giá trị khác trong hệ thập lục phân Các kỹ thuật lập bản đồ trực tiếp là đơn giản và không tốn kém để thực hiện. Nhược điểm chính của nó là có một vị trí cố định bộ nhớ cache cho bất kỳ block.Thus nhất định, nếu xảy ra một chương trình để tham khảo từ nhiều lần từ hai khối khác nhau mà ánh xạ vào cùng một dòng, sau đó các khối sẽ tiếp tục được trao đổi trong bộ nhớ cache, và tỷ lệ trúng sẽ thấp (một hiện tượng gọi là đòn).
đang được dịch, vui lòng đợi..
