Previous | Next --- Slide 24 of 62
Back to Lecture Thumbnails
dyzz

What is the tag in this representation?

ZoSo

I think the tags corresponds to the cache lines, which is the same as the tag bits in the cache addressing system.

crabcake

What does option 1 mean? Why there are duplicate tags?

blah329

@crabcake There are duplicate tags so that in the case where both the processor side controller and the snoop controller have to see if a line is in the cache at the same time, they can just use their own copies of the tags instead of waiting for the other to complete the look up process when there is only one set of tags. Essentially, its the duplication of a resource that there was only one of before, and only one controller can use it at a time. Since now there are two resources, then each one can use one resource without any contention problems.

ggm8

Duplicating resources such as cache tags means that both tags would need to be updated and kept in sync when the data is modified. One way to alleviate this problem would be to allow parallel reads in the system but not parallel writes (since writes are infrequent compared to reads).

mario

Duplicating the tags is the easiest way to deal with contention, while a multiported circuit is a more complex solution.

woohoo

What is multi-ported tag memory?

eourcs

The contents (the tag in this case) can be accessed by different resources at the same time. In this case, that is the two controllers. This sounds like a cleaner solution, but its implementation in hardware is definitely non-trivial.