mem-ruby: Use check_on_cache_probe on MOESI hammer
This change uses check_on_cache_probe statement to check if the cacheline subject to eviction is locked in MOESI hammer. Change-Id: I2c43f22aba5af3a57e54b1c435e5d3fbba86d1d5 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19891 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
committed by
Pouya Fotouhi
parent
8b4f2ca902
commit
def0a4c6fd
@@ -468,7 +468,9 @@ machine(MachineType:L1Cache, "AMD Hammer-like protocol")
|
||||
}
|
||||
} else {
|
||||
// No room in the L1, so we need to make room
|
||||
// Check if the line we want to evict is not locked
|
||||
Addr l1i_victim_addr := L1Icache.cacheProbe(in_msg.LineAddress);
|
||||
check_on_cache_probe(mandatoryQueue_in, l1i_victim_addr);
|
||||
if (L2cache.cacheAvail(l1i_victim_addr)) {
|
||||
// The L2 has room, so we move the line from the L1 to the L2
|
||||
trigger(Event:L1_to_L2,
|
||||
@@ -525,7 +527,9 @@ machine(MachineType:L1Cache, "AMD Hammer-like protocol")
|
||||
}
|
||||
} else {
|
||||
// No room in the L1, so we need to make room
|
||||
// Check if the line we want to evict is not locked
|
||||
Addr l1d_victim_addr := L1Dcache.cacheProbe(in_msg.LineAddress);
|
||||
check_on_cache_probe(mandatoryQueue_in, l1i_victim_addr);
|
||||
if (L2cache.cacheAvail(l1d_victim_addr)) {
|
||||
// The L2 has room, so we move the line from the L1 to the L2
|
||||
trigger(Event:L1_to_L2,
|
||||
|
||||
Reference in New Issue
Block a user