> On July 15, 2013, 2:43 a.m., Nilay Vaish wrote: > > I like the patch since you are removing a lot of code. First, should we add > > an assert > > that cache line size has to be a power of 2? Secondly, is there actually > > some > > obstacle in different caches have different line sizes?
In system.cc there is a fatal if it is not 16, 32, 64 or 128. I think these values are what (should) work, but I have to confess I have not tried lately. When it comes to your second question, I think it would be near impossible to implement the generic cache such that you could mix and match line sizes. There are already quite some assumptions to allow a very flexible cache hierarchy, and without locking it down entirely I don't think it's realistic to add flexibility in the line size. Also, I'm not sure it is really of any relevance (besides perhaps academic interest). - Andreas ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/1948/#review4502 ----------------------------------------------------------- On July 12, 2013, 3:06 p.m., Andreas Hansson wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/1948/ > ----------------------------------------------------------- > > (Updated July 12, 2013, 3:06 p.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > ------- > > Changeset 9815:b4345df24f02 > --------------------------- > mem: Set the cache line size on a system level > > This patch removes the notion of a peer block size and instead sets > the cache line size on the system level. > > Previously the size was set per cache, and communicated through the > interconnect. There were plenty checks to ensure that everyone had the > same size specified, and these checks are now removed. Another benefit > that is not yet harnessed is that the cache line size is now known at > construction time, rather than after the port binding. Hence, the > block size can be locally stored and does not have to be queried every > time it is used. > > A follow-on patch updates the configuration scripts accordingly. > > > Diffs > ----- > > src/arch/arm/isa.cc 13ffc0066b76 > src/cpu/base.hh 13ffc0066b76 > src/cpu/base.cc 13ffc0066b76 > src/cpu/base_dyn_inst.hh 13ffc0066b76 > src/cpu/checker/cpu.cc 13ffc0066b76 > src/cpu/inorder/resources/cache_unit.cc 13ffc0066b76 > src/cpu/o3/fetch.hh 13ffc0066b76 > src/cpu/o3/fetch_impl.hh 13ffc0066b76 > src/cpu/o3/lsq_unit_impl.hh 13ffc0066b76 > src/cpu/simple/atomic.cc 13ffc0066b76 > src/cpu/simple/timing.cc 13ffc0066b76 > src/cpu/testers/memtest/memtest.cc 13ffc0066b76 > src/cpu/testers/traffic_gen/traffic_gen.cc 13ffc0066b76 > src/cpu/thread_state.cc 13ffc0066b76 > src/dev/dma_device.hh 13ffc0066b76 > src/dev/dma_device.cc 13ffc0066b76 > src/mem/Bus.py 13ffc0066b76 > src/mem/SimpleDRAM.py 13ffc0066b76 > src/mem/addr_mapper.hh 13ffc0066b76 > src/mem/addr_mapper.cc 13ffc0066b76 > src/mem/bridge.cc 13ffc0066b76 > src/mem/bus.hh 13ffc0066b76 > src/mem/bus.cc 13ffc0066b76 > src/mem/cache/BaseCache.py 13ffc0066b76 > src/mem/cache/base.cc 13ffc0066b76 > src/mem/cache/cache.hh 13ffc0066b76 > src/mem/cache/tags/Tags.py 13ffc0066b76 > src/mem/coherent_bus.hh 13ffc0066b76 > src/mem/comm_monitor.hh 13ffc0066b76 > src/mem/comm_monitor.cc 13ffc0066b76 > src/mem/fs_translating_port_proxy.hh 13ffc0066b76 > src/mem/fs_translating_port_proxy.cc 13ffc0066b76 > src/mem/noncoherent_bus.hh 13ffc0066b76 > src/mem/port.hh 13ffc0066b76 > src/mem/port.cc 13ffc0066b76 > src/mem/port_proxy.hh 13ffc0066b76 > src/mem/port_proxy.cc 13ffc0066b76 > src/mem/ruby/system/RubyPort.hh 13ffc0066b76 > src/mem/ruby/system/RubyPort.cc 13ffc0066b76 > src/mem/se_translating_port_proxy.cc 13ffc0066b76 > src/mem/simple_dram.cc 13ffc0066b76 > src/sim/System.py 13ffc0066b76 > src/sim/system.hh 13ffc0066b76 > src/sim/system.cc 13ffc0066b76 > > Diff: http://reviews.gem5.org/r/1948/diff/ > > > Testing > ------- > > All regressions pass > > > Thanks, > > Andreas Hansson > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
