1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 30 unchanged lines hidden (view full) --- 39MemDepUnit<MemDepPred, Impl>::MemDepUnit() 40 : loadBarrier(false), loadBarrierSN(0), storeBarrier(false), 41 storeBarrierSN(0), iqPtr(NULL) 42{ 43} 44 45template <class MemDepPred, class Impl> 46MemDepUnit<MemDepPred, Impl>::MemDepUnit(DerivO3CPUParams *params) |
47 : _name(params->name + ".memdepunit"), 48 depPred(params->SSITSize, params->LFSTSize), loadBarrier(false), |
49 loadBarrierSN(0), storeBarrier(false), storeBarrierSN(0), iqPtr(NULL) 50{ 51 DPRINTF(MemDepUnit, "Creating MemDepUnit object.\n"); 52} 53 54template <class MemDepPred, class Impl> 55MemDepUnit<MemDepPred, Impl>::~MemDepUnit() 56{ --- 15 unchanged lines hidden (view full) --- 72 } 73 74#ifdef DEBUG 75 assert(MemDepEntry::memdep_count == 0); 76#endif 77} 78 79template <class MemDepPred, class Impl> |
80void 81MemDepUnit<MemDepPred, Impl>::init(DerivO3CPUParams *params, int tid) 82{ 83 DPRINTF(MemDepUnit, "Creating MemDepUnit %i object.\n",tid); 84 |
85 _name = csprintf("%s.memDep%d", params->name, tid); |
86 id = tid; 87 88 depPred.init(params->SSITSize, params->LFSTSize); 89} 90 91template <class MemDepPred, class Impl> 92void 93MemDepUnit<MemDepPred, Impl>::regStats() 94{ 95 insertedLoads |
96 .name(name() + ".insertedLoads") |
97 .desc("Number of loads inserted to the mem dependence unit."); 98 99 insertedStores |
100 .name(name() + ".insertedStores") |
101 .desc("Number of stores inserted to the mem dependence unit."); 102 103 conflictingLoads |
104 .name(name() + ".conflictingLoads") |
105 .desc("Number of conflicting loads."); 106 107 conflictingStores |
108 .name(name() + ".conflictingStores") |
109 .desc("Number of conflicting stores."); 110} 111 112template <class MemDepPred, class Impl> 113void 114MemDepUnit<MemDepPred, Impl>::switchOut() 115{ 116 assert(instList[0].empty()); --- 464 unchanged lines hidden --- |