one of my TAs just beat me up for not emphasizing some terminology
I thought I had done this, but if my TA says I slipped over it too fast,
then I had better do it again, more carefully. Ergo, this email.
The index bits take us to a row in the tag store. We call the set of
the blocks accessible via the same index bits a "set," and the number of
blocks in the set the "set size." We call each block in the set a "way."
The number of "ways" in a set identifies an important characteristic of
the cache. For example, a "four-way set associative cache" is one wherein
four blocks are in the same set. We do not usually say "one-way" when there
is only one block in the set. Rather we call such a cache "direct mapped."
If all blocks in the cache are in the same set, we call the cache "fully
associative." All blocks in a set compete for the same slots in the cache.
If I did not emphasize this terminology, I should have. Everyone is going
to expect you to know these terms.