Hello, The SimpleCache in the tutorial is just an example of creating a memory object. It is not meant to be used in simulation. It is not compatible with the rest of gem5's caches, and it does not support any kind of cache coherence. I'm surprised it worked at all in a two-level configuration, as I don't think I implemented writeback requests!
You actually could use the skeleton to create a DRAM cache, however, since DRAM caches are usually memory-side caches (e.g., don't participate in cache coherence). However, it would take significant modifications to get it to work in a multicore system. Cheers, Jason On Mon, Feb 20, 2017 at 2:32 AM 조해윤 <[email protected]> wrote: > Dear all, > > I'm trying to make my own cache object, which is finally used to simulate > the DRAM Cache using DRAMSim2. > > This is my first time to modify gem5 code, so I have tried to make a > simple cache block to satisfy essential functions for a cache. > And I saw the tutorials and the sample code of Jason Lowe-Power. > http://learning.gem5.org/book/part2/simplecache.html > > So I plan to extend this sample code for my purpose. > However, when I use this simple cache with existed gem5 cache block, gem5 > makes a error. > > I tested this simple cache in 3 case using se.py. > I replaced the below part in CacheConfig.py to simple cache which is > L1_DSimple, L1_ISimple, L2_Simple. > [image: 본문 이미지 1] > > and run it in 2 different ISA. ( cmd was hello in test-progs ) > > ISA > > L1_DSimple > > L1_ISimple > > (1-level cache hierarchy) > > L1_DSimple > > L1_ISimple > > L2_Simple > > L1_DCache > > L1_ICache > > L2_Simple > > X86 > > Working well > > Working well > > gem5.opt: build/X86/mem/packet.hh:847: void Packet::makeResponse(): > Assertion `needsResponse()' failed. > > ARM > > gem5.opt: build/ARM/mem/request.hh:674: uint64_t Request::getExtraData() > const: Assertion `privateFlags.isSet(VALID_EXTRA_DATA)' failed. > > gem5.opt: build/ARM/mem/request.hh:674: uint64_t Request::getExtraData() > const: Assertion `privateFlags.isSet(VALID_EXTRA_DATA)' failed. > > gem5.opt: build/ARM/mem/packet.hh:847: void Packet::makeResponse(): > Assertion `needsResponse()' failed. > > When I read the sample code of Jason Lowe-Power, I think this cache has > essential functions for cache. > But it doesn't work well with exited gem5 cache block. > What is the problem? > > Best regards. > HaeYoon Cho > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
