Hi Tingyuan, There should be no overlap in the memory ranges of the directory controllers. There is a function "DirectoryMemory::mapAddressToDirectoryVersion" which takes an address and returns the directory controller that the address should be routed to. This function basically picks a few bits from the address and uses those bits to pick the directory controller.
For the memory controllers, there is usually a 1-to-1 mapping from directory controllers to memory controller (though this isn't necessarily required by gem5). Of course, all of this is Ruby-specific. The classic caches use a totally different structure. Jason On Thu, Nov 24, 2016 at 11:15 AM <[email protected]> wrote: > Hi everyone, > > Now, I am confused by the directory controller in Ruby memory system. > > It seem directory controller is regarded as memory controller in the > network of Ruby and I found that each directory controller account for a > range of memory address( by transfer data to different version of > directory). > > However, is there any possibility that two directory controller share a > range of memory address? Because I found two memory controllers accounting > for one DDRAM in some architectures. In practical application, when there > are several memory controllers, do they share some ranges of memory? > > Best Regards, > > Tingyuan > > 25,11,2016 > _______________________________________________ > gem5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/gem5-dev > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
