#include "Cache.h" /* An implementation of a direct-mapped cache of 16 elements */ unsigned ExampleCacheAccess(Cache *cache, unsigned addr){ int index = addr & 0xf; CacheElem current = cache->CacheRead(index, 0); if (current.addr!=addr) cache->CacheWrite(index, addr, 0); return index; } main(){ int i,j; Cache *cP = new Cache(16, &ExampleCacheAccess); for (j=0;j<4;j++) for (i=1;i<17;i++){ cP->DataAccess(i); } cP->Report(); }