# Confused on how they figured out bytes, book example:

The Intrinsity caches are 16 KB caches and have 256 blocks with 16 words per block.

Thus data is 64 bytes = 512 bytes.
The tag field is 18 bits (32 - (8 + 6)).
Total bits = 256 x (Data + Tag + Valid)
= 256 x (512 bits + 18 bits + 1 bit)
= 135,936 bits

I'm confused on how they got 64 bytes then said = 512 bytes.

Also where did they get (32 - (8+6))?
I think i know where they got 32, because its a 32 bit address.

Thank you.

I took 16E3/265 = 62.5 not 64.

EDIT:

Okay I got alittle farther...

16E3/16 = 1000 which is ~ 2^10 words, and with a block size of 4 words (2^2), but still not sure how they got 64 and 512, nor the (8+6).

Last edited:

64 bytes = 512 bits

Isn't that just what they meant?

16KB is not 16E3 but 16*1024.
16*1024/16 is not ~ but = 2^10.

Ahhh thanks guys!!

that makes sense.... it was a typo in the book.
okay so I understand the 512 bits.

for the:
The tag field is 18 bits (32 - (8 + 6)).
Total bits = 256 x (Data + Tag + Valid)

32 bits address, is the 8 because 8 bits in a byte? still not seeing the 6 though.

Also is the 256 x (data + tag + valid) because they said there is 256 blocks?