Go to the documentation of this file.
33 #ifndef TTA_RF_ACCESS_TRACKER_HH
34 #define TTA_RF_ACCESS_TRACKER_HH
39 #include "boost/tuple/tuple.hpp"
60 typedef std::map<ConcurrentRFAccess, ClockCycleCount>
71 const std::string& rfName,
72 std::size_t concurrentWrites,
73 std::size_t concurrentReads)
const;
81 boost::tuple<std::size_t , std::size_t > >
std::map< ConcurrentRFAccess, ClockCycleCount > ConcurrentRFAccessIndex
concurrent accesses and their counts
boost::tuple< std::string, std::size_t, std::size_t > ConcurrentRFAccess
type to be used as a key for storing concurrent access info
RFAccessIndex accessesInInstruction_
container used in collecting register accesses in an instruction
virtual void handleEvent()
ClockCycleCount concurrentRegisterFileAccessCount(const std::string &rfName, std::size_t concurrentWrites, std::size_t concurrentReads) const
const InstructionMemory & instructionExecutions_
used to access instruction execution data
virtual ~RFAccessTracker()
RFAccessTracker(SimulatorFrontend &frontend, const InstructionMemory &instructions)
SimulatorFrontend & frontend_
the simulator frontend used to access simulation data
const ConcurrentRFAccessIndex & accessDataBase() const
ConcurrentRFAccessIndex conditionalAccesses_
conditional register file accesses are counted in this container
CycleCount ClockCycleCount
Alias for ClockCycleCount.
ConcurrentRFAccessIndex totalAccesses_
total (conditional + unconditional) register file accesses are counted in this container
hash_map< const char *, boost::tuple< std::size_t, std::size_t > > RFAccessIndex
Index for RF accesses in an instruction.