Hello everyone,
My name is Jiyong Yu, and I am right now using the gem5 Ruby cache,
specifically MESI_Three_Level.
My question is, in gem5 Ruby cache, especially in MESI_Two_Level_xxx.sm or
MESI_Three_Level_xxx.sm, for each transition, it looks like
Transition {I, Load, IS} {
allocateDCacheBlock;
…..
}
But in MOSEI protocol that gem5 provides, for each transition, it looks like:
Transition(I, C0_Load_L1_Miss, IE0S) {L1D0TagArrayRead, L2TagArrayRead} {
……
}
There is a significant difference between MESI code and MOSEI code: in MOSEI
code, “XXTagArrayRead” etc. functions appear in each transition. They call the
CacheMemory::checkResourceAvailable and CacheMemory::recordRequest functions to
monitor the cache access latency. In MESI code, these functions are missing.
Only the message traffic latency is counted with request_latency or
response_latency in enqueue() functions.
When I set the TagArray access latency and DataArray access latency for cache
levels in configuration files, these variables are only used in
CacheMemory::checkResourceAvailable and CacheMemory::recordRequest. So without
adding the “XXTagArrayRead” etc. functions, we will never count the actual
cache access latency from them.
In gem5 tutorial
http://learning.gem5.org/book/part3/MSI/cache-actions.html?highlight=latency,
it says “The enqueue block takes three parameters, the message buffer to send
the message, the type of the message, and a latency. This latency (1 cycle in
the example above and throughout this cache controller) is the cache latency.”
Basically in MESI the latency of each request being served in the queue is the
cache access latency.
My question is, why are these “L1DTagArrayRead” functions missing in the
transition functions? And without it how should one simulate the cache timing
properly (e.g. when he/she needs to measure the banking effect)? If I
understand correctly the latency appears in the enqueue function are supposed
to be the latency when the request/response is served, so treat them as cache
access latency is quite inaccurate.
Thank you so much!
Best.
Jiyong Yu
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users