1
0

always merge Puts

This commit is contained in:
Henry Cook 2015-03-17 20:53:27 -07:00
parent d48775eecb
commit 0e4cf74d8a

View File

@ -173,7 +173,6 @@ abstract trait L2HellaCacheParameters extends CacheParameters with CoherenceAgen
require(rowBits == innerDataBits) // TODO: relax this by improving s_data_* states require(rowBits == innerDataBits) // TODO: relax this by improving s_data_* states
val nSecondaryMisses = 4 val nSecondaryMisses = 4
val enableGetMerging = false val enableGetMerging = false
val enablePutMerging = true
} }
abstract class L2HellaCacheBundle extends Bundle with L2HellaCacheParameters abstract class L2HellaCacheBundle extends Bundle with L2HellaCacheParameters
@ -709,11 +708,10 @@ class L2AcquireTracker(trackerId: Int, bankId: Int) extends L2XactTracker {
do_allocate && do_allocate &&
ignt_q.io.enq.ready ignt_q.io.enq.ready
//TODO: mix Puts and PutBlocks //TODO: mix Puts and PutBlocks
val can_merge_iacq_put = ((Bool(enablePutMerging) && val can_merge_iacq_put = ((xact.isBuiltInType(Acquire.putType) &&
(xact.isBuiltInType(Acquire.putType) && io.iacq().isBuiltInType(Acquire.putType)) ||
io.iacq().isBuiltInType(Acquire.putType))) || (xact.isBuiltInType(Acquire.putBlockType) &&
(xact.isBuiltInType(Acquire.putBlockType) && io.iacq().isBuiltInType(Acquire.putBlockType))) &&
io.iacq().isBuiltInType(Acquire.putBlockType))) &&
(xact_src === io.inner.acquire.bits.header.src) && (xact_src === io.inner.acquire.bits.header.src) &&
(xact.client_xact_id === io.iacq().client_xact_id) && (xact.client_xact_id === io.iacq().client_xact_id) &&
xact.conflicts(io.iacq()) && xact.conflicts(io.iacq()) &&