diff options
Diffstat (limited to 'src/mem')
-rw-r--r-- | src/mem/protocol/MESI_Two_Level-L1cache.sm | 2 | ||||
-rw-r--r-- | src/mem/ruby/system/Sequencer.cc | 14 | ||||
-rw-r--r-- | src/mem/ruby/system/Sequencer.hh | 1 |
3 files changed, 2 insertions, 15 deletions
diff --git a/src/mem/protocol/MESI_Two_Level-L1cache.sm b/src/mem/protocol/MESI_Two_Level-L1cache.sm index 8496fda61..e925057db 100644 --- a/src/mem/protocol/MESI_Two_Level-L1cache.sm +++ b/src/mem/protocol/MESI_Two_Level-L1cache.sm @@ -1227,7 +1227,7 @@ machine(MachineType:L1Cache, "MESI Directory L1 Cache CMP") k_popMandatoryQueue; } - transition({NP,I}, SpecLoad, IX) { + transition({NP,I}, SpecLoad) { h_spec_load_miss; k_popMandatoryQueue; } diff --git a/src/mem/ruby/system/Sequencer.cc b/src/mem/ruby/system/Sequencer.cc index 090030f08..a0d3cab1b 100644 --- a/src/mem/ruby/system/Sequencer.cc +++ b/src/mem/ruby/system/Sequencer.cc @@ -237,16 +237,6 @@ Sequencer::insertRequest(PacketPtr pkt, RubyRequestType request_type) RequestTable::iterator i = r.first; i->second = new SequencerRequest(pkt, request_type, curCycle()); m_outstanding_count++; - } else if (request_type == RubyRequestType_SPEC_LD) { - auto i = m_readRequestTable.find(line_addr); - if (i->second->m_type == RubyRequestType_SPEC_LD) { - DPRINTFR(SpecBuffer, "%10s Merging (idx=%d-%d, addr=%#x) with %d\n", curTick(), pkt->reqIdx, pkt->isFirst()? 0 : 1, printAddress(pkt->getAddr()), i->second->pkt->reqIdx); - i->second->dependentSpecRequests.push_back(pkt); - return RequestStatus_Merged; - } else { - m_load_waiting_on_load++; - return RequestStatus_Aliased; - } } else { // There is an outstanding read request for the cache line m_load_waiting_on_load++; @@ -653,9 +643,7 @@ Sequencer::makeRequest(PacketPtr pkt) } RequestStatus status = insertRequest(pkt, primary_type); - if (status == RequestStatus_Merged) { - return RequestStatus_Issued; - } else if (status != RequestStatus_Ready) { + if (status != RequestStatus_Ready) { return status; } diff --git a/src/mem/ruby/system/Sequencer.hh b/src/mem/ruby/system/Sequencer.hh index 8e1f08a48..d9ed62320 100644 --- a/src/mem/ruby/system/Sequencer.hh +++ b/src/mem/ruby/system/Sequencer.hh @@ -46,7 +46,6 @@ struct SequencerRequest PacketPtr pkt; RubyRequestType m_type; Cycles issue_time; - std::vector<PacketPtr> dependentSpecRequests; SequencerRequest(PacketPtr _pkt, RubyRequestType _m_type, Cycles _issue_time) |