Upgrade requests are used on a write to a shared copy, to upgrade that
copy's state from shared (read-only) to writable. They're generally treated
as invalidations.

A write hit implies that a cache has an exclusive copy, so it knows that
there's no need to send invalidations to lower levels.  There are some
relevant comments on the block states in the CacheBlk::print() method
definition in src/mem/cache/blk.hh.

Steve


On Sun, Feb 7, 2016 at 4:04 PM Gongjin Sun <[email protected]> wrote:

> Hi All,
>
> Does any know the function of the request called "UpgradeReq"?  Under what
> circumstance will this request be generated? After this request is sent to
> other cache levels, what will happen to that level? There are so few
> comments about it. Accord to its use, I guess it is related to write miss.
> But I'm not sure about the specific functions.
>
> In addition, I noticed that when a "write hit" happens in a cache level,
> this cache will NOT send an invalidate message to its lower levels (closer
> to mem) to invalidate this line's other copies. Is that correct? (Note: now
> this cache's upper level (closer to cpu) definitely doesn't contain this
> line, otherwise there must a write hit in that upper level rather than this
> cache level.)
>
> Thank you in advance
>
> Best
> gjins
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to