52.0k views
2 votes
for a cache with the following properties: physical addresses are 64 bytes long, the cache size is 2048 bytes, there are 8 bytes per block, there are 256 lines per set, what is the number of tag bits?

User Sanyi
by
7.5k points

1 Answer

0 votes

Final answer:

To determine the number of tag bits for the described cache, subtract the block offset bits from the physical address size. With 64-bit addresses, 8-byte blocks, and a fully associative cache, the calculation yields 61 tag bits.

Step-by-step explanation:

To calculate the number of tag bits in a cache, you need to consider the size of the physical address, the cache size, the block size, and the number of lines per set. Given the properties of a cache with 64-byte physical addresses, 2048-byte cache size, 8 bytes per block, and 256 lines per set, the number of tag bits can be computed as follows:

The number of sets is Cache Size / (Block Size × Number of Lines per Set). In this case, that's 2048 bytes / (8 bytes/block × 256 lines/set) = 1, meaning we have a fully associative cache. The size of the index is therefore zero bits since there's only one set.

Next, the block offset bits are calculated based on the block size. An 8-byte block size means there are 2^3 bytes per block, hence 3 bits are used for the block offset. The physical address size is 64 bits, so the remaining bits are for the tag and index. Since the index is zero in a fully associative cache, the tag size is the physical address size minus the block offset size.

The number of tag bits is thus 64 - 3 = 61 bits.

User Habib
by
7.4k points