Bởi vì có rất ít bộ nhớ cache dòng hơn chính bộ nhớ khối, một thuật toán cần thiết cho lập bản đồ các khối bộ nhớ chính vào bộ nhớ cache dòng. Hơn nữa, một phương tiện là cần thiết để xác định khối bộ nhớ chính hiện nay chiếm một dòng bộ nhớ cache. Sự lựa chọn của các chức năng lập bản đồ ra như thế nào bộ nhớ cache được tổ chức.Ba công nghệ-niques có thể được sử dụng: trực tiếp, kết hợp, và thiết lập kết hợp.Chúng tôi kiểm tra mỗi lần lượt. Trong mỗi trường hợp, chúng tôi xem xét chung cấu trúc và sau đó là một ví dụ cụ thể.Ví dụ 4.2 cho cả ba trường hợp, các ví dụ bao gồm các yếu tố sau:• 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. Điều này có nghĩa rằng bộ nhớ cache được tổ chức như 16K 214 dòng 4 byte. • Bộ nhớ chính bao gồm 16 Mbytes, với mỗi byte địa chỉ trực tiếp bởi một 24-bit địa chỉ (224 16M).Vì vậy, cho mục đích lập bản đồ, chúng tôi có thể xem xét chính mem - ory bao gồm 4M khối 4 byte. Lập bản đồ trực tiếp kỹ thuật đơn giản nhất, được gọi là trực tiếp bản đồ, bản đồ mỗi khối bộ nhớ chính vào chỉ có một bộ nhớ cache có thể dòng. Ánh xạ là ex-ép nhưnơiTôi nhớ cache số j bộ nhớ chính khối số m số dòng của dòng trong bộ nhớ cacheHình vẽ 4.8a Hiển thị ánh xạ cho các khối đầu tiên của bộ nhớ chính. Mỗi khối bộ nhớ chính bản đồ thành một dòng duy nhất của bộ nhớ cache.Khối tiếp theo của bản đồ bộ nhớ chính vào bộ nhớ cache trong cùng thời trang; có nghĩa là, chặn Bm bản đồ bộ nhớ chính vào dòng L0 của bộ nhớ cache, chặn Bm 1 bản đồ vào dòng L1, và như vậy. Các chức năng lập bản đồ dễ dàng thực hiện bằng cách sử dụng địa chỉ bộ nhớ chính. Con số 4.9 minh hoạ cơ chế chung. Cho các mục đích của bộ nhớ cache truy cập, mỗi địa chỉ bộ nhớ chính có thể được xem như là bao gồm ba lĩnh vực. Ít nhất là signifi-cant w bit xác định một từ duy nhất hoặc byte trong vòng một khối bộ nhớ chính; trong máy móc hiện đại nhất, địa chỉ là ở cấp độ byte.Các bit s còn lại chỉ định một trong các 2s khối của bộ nhớ chính.Bộ nhớ cache logic diễn giải những bit s như là một thẻ srbits (quan trọng nhất phần) và một trường dòng r bit.Này thứ hai lĩnh vực iden-tifies một trong những dòng 2r m của bộ nhớ cache.Để tóm tắt,• Địa chỉ chiều dài (sw) bit • số lượng địa chỉ đơn vị 2s w từ hoặc byte • khối kích thước dòng kích thước 2w từ hoặc 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 w từ hoặc byte • Kích thước của thẻ (sr) bitCó hiệu lực của bản đồ này là khối của bộ nhớ chính được gán cho dòng bộ nhớ cache như sau:Vì vậy, việc sử dụng một phần của địa chỉ là một số dòng cung cấp một bản đồ duy nhất của mỗi khối bộ nhớ chính vào bộ nhớ cache. Khi một khối thực sự đọc vào dòng được chỉ định, nó là cần thiết để khóa dữ liệu để phân biệt nó từ các khối khác mà có thể phù hợp với dòng. 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 chúng tôi hệ thống ví dụ bằng cách sử dụng mapping.5 trực tiếp trong các ex-phong phú, m 16 K 214 và ijmodulo 214. Ánh xạ trở thành == =4.3 / YẾU TỐ CỦA THIẾT KẾ BỘ NHỚ CACHE 127WordL ineTagWO W1 W2 W3So sánh1 nếu phù hợp với 0 nếu không phù hợp0 nếu phù hợp với 1 nếu không phù hợpW4j W(4j+1) W(4j+2) W(4j+3)Bộ nhớ Cache dữ liệu từ khóaL0LiĐịa chỉ bộ nhớ(Hoa hậu trong bộ nhớ cache)(Nhấn trong bộ nhớ cache)ws-rWRs + wBộ nhớ chínhBJB0swLm-1s-rCon số 4.9 bộ nhớ Cache trực tiếp-lập bản đồ tổ chứcNote that no two blocks that map into the same line number have the same tag num- ber.Thus,blocks with starting addresses 000000,010000, FF0000 have tag numbers 00, 01, FF, respectively. Referring back to Figure 4.5, a read operation works as follows.The cache system is presented with a 24-bit address.The 14-bit line number is used as an index into the cache to access a particular line.If the 8-bit tag number matches the tag number currently stored in that line,then the 2-bit word number is used to select one of the 4 bytes in that line.Oth- erwise, the 22-bit tag-plus-line field is used to fetch a block from main memory.The actual address that is used for the fetch is the 22-bit tag-plus-line concatenated with two 0 bits,so that 4 bytes are fetched starting on a block boundary. Á , Á ,Cache Line Starting Memory Address of Block 0 000000, 010000, FF0000 1 000004, 010004, FF0004214 1 00FFFC, 01FFFC, FFFFFC Á ,- oo Á , Á ,5In this and subsequent figures, memory values are represented in hexadecimal notation. See Chapter 19 for a basic refresher on number systems (decimal, binary, hexadecimal).Note: Memory address values are in binary representation; other values are in hexadecimalThe direct mapping technique is simple and inexpensive to implement. Its main disadvantage is that there is a fixed cache location for any given block.Thus,if a program happens to reference words repeatedly from two different blocks that map into the same line,then the blocks will be continually swapped in the cache,and the hit ratio will be low (a phenomenon known as thrashing).
đang được dịch, vui lòng đợi..
