Size of each directory entry: ~256 bits = 32 bytes
M[bytes] / 64[bytes/line] = M/64 entries in directory
Size of directory = 0.5*M
dyzz
@apk I wonder if the calculation is slightly off, do we actually need 257 bits per directory entry because of the dirty bit?
CSGuy
@dyzz I don't think a processor needs a presence bit for itself, a processor knows whether or not it has a copy of the data by just looking it up in its cache. So then we can have P-1 presence bits and a dirty bit per directory entry for P bits total. Though the slide itself does imply P presence bits plus a dirty bit.
POTUS
@apk can you explain the reasoning behind M/64? Thanks!
kapalani
@POTUS there is a directory entry for every line in memory. For 64 byte cache line and memory that is M bytes, there will be M/64 directory entries
Size of each directory entry: ~256 bits = 32 bytes
M[bytes] / 64[bytes/line] = M/64 entries in directory
Size of directory = 0.5*M
@apk I wonder if the calculation is slightly off, do we actually need 257 bits per directory entry because of the dirty bit?
@dyzz I don't think a processor needs a presence bit for itself, a processor knows whether or not it has a copy of the data by just looking it up in its cache. So then we can have P-1 presence bits and a dirty bit per directory entry for P bits total. Though the slide itself does imply P presence bits plus a dirty bit.
@apk can you explain the reasoning behind M/64? Thanks!
@POTUS there is a directory entry for every line in memory. For 64 byte cache line and memory that is M bytes, there will be M/64 directory entries