Prefetcher code cleanup
This commit is contained in:
@@ -1213,17 +1213,16 @@ typedef struct {
|
||||
module mkBRAMStridePCPrefetcher(PCPrefetcher)
|
||||
provisos(
|
||||
NumAlias#(strideTableSize, 512),
|
||||
NumAlias#(cLinesAheadToPrefetch, 2), // TODO fetch more if have repeatedly hit an entry, and if stride big
|
||||
NumAlias#(cLinesAheadToPrefetch, 2),
|
||||
Alias#(strideTableIndexT, Bit#(TLog#(strideTableSize)))
|
||||
);
|
||||
//Vector#(strideTableSize, Reg#(StrideEntry)) strideTable <- replicateM(mkReg(unpack(0)));
|
||||
RWBramCore#(strideTableIndexT, StrideEntry) strideTable <- mkRWBramCoreForwarded;
|
||||
FIFOF#(Tuple3#(Addr, Bit#(16), HitOrMiss)) memAccesses <- mkSizedBypassFIFOF(8);
|
||||
Reg#(Tuple3#(Addr, Bit#(16), HitOrMiss)) rdRespEntry <- mkReg(?);
|
||||
|
||||
Fifo#(8, Addr) addrToPrefetch <- mkOverflowPipelineFifo;
|
||||
FIFO#(Tuple3#(StrideEntry, Addr, Bit#(16))) strideEntryForPrefetch <- mkBypassFIFO();
|
||||
Reg#(Maybe#(Bit#(4))) cLinesPrefetchedLatest <- mkReg(?);
|
||||
Reg#(Maybe#(Bit#(4))) cLinesPrefetchedLatest <- mkReg(Invalid);
|
||||
PulseWire holdReadReq <- mkPulseWire;
|
||||
|
||||
rule sendReadReq if (!holdReadReq);
|
||||
@@ -1950,9 +1949,9 @@ module mkLLDPrefetcher(Prefetcher);
|
||||
`ifdef DATA_PREFETCHER_BLOCK
|
||||
let m <- mkBlockPrefetcher;
|
||||
`elsif DATA_PREFETCHER_STRIDE
|
||||
doAssert(False, "Illegal data prefetcher type for LL cache!")
|
||||
`elsif DATA_PREFETCHER_STRIDE
|
||||
doAssert(False, "Illegal data prefetcher type for LL cache!")
|
||||
doAssert(False, "Illegal data prefetcher type for LL cache!");
|
||||
`elsif DATA_PREFETCHER_STRIDE_ADAPTIVE
|
||||
doAssert(False, "Illegal data prefetcher type for LL cache!");
|
||||
`elsif DATA_PREFETCHER_MARKOV
|
||||
let m <- mkBRAMMarkovPrefetcher;
|
||||
`elsif DATA_PREFETCHER_MARKOV_ON_HIT
|
||||
|
||||
Reference in New Issue
Block a user