public CacheResult(MemoryCacheSimulator memCache, int cycleUse, Dictionary <int, bool> hitMissRecord) { MemCache = memCache; CycleUse = cycleUse; AmountOfMemoryAddressCalls = hitMissRecord.Count; HitMissRecord = hitMissRecord; }
static CacheResult simulateCacheUses(int[] addresses, MemoryCacheSimulator aCacheSimulator) { Dictionary <int, bool> hitMissRecord = new Dictionary <int, bool>(); int cyclesTaken = -1; for (int i = 0; i < 2; i++) { cyclesTaken = 0; foreach (int address in addresses) { bool isCacheHit = aCacheSimulator.getMem(address); hitMissRecord[address] = isCacheHit; cyclesTaken += (isCacheHit) ? aCacheSimulator.getHitTime() : aCacheSimulator.getMissTime(); } } return(new CacheResult(aCacheSimulator, cyclesTaken, hitMissRecord)); }