As currently implemented, the parameters you describe result in only 2 of the 
L2 caches being used, with the third being empty.

The configuration scripts limit the number of bits to the power of 2 below the 
number of L2 caches. If we try to use the power of 2 above the number of L2 
caches, e.g. 2 bits for selecting among 3 caches, then Ruby assumes that there 
are 4 caches, not 3, which causes errors.

I agree that supporting that situation would be valuable, but this patch is 
mainly about making it obvious that it isn't right now, rather than continuing 
to execute without using all caches.

Thanks,
David

-----Original Message-----
From: Nilay Vaish [mailto:[email protected]] 
Sent: Tuesday, July 14, 2015 10:35 AM
To: Hashe, David
Cc: Default
Subject: Re: Review Request 2970: config: Fail if not using all L2 caches in 
ruby protocols

On Tue, 14 Jul 2015, David Hashe wrote:

>
>
>> On July 14, 2015, 3:01 p.m., Nilay Vaish wrote:
>>> Are you assuming that physical memory size is a power of 2?
>
> If the physical memory size is not a power of 2, the issue still arises. The 
> problem lies with how the addresses are assigned to L2 caches.
>

What if I have 3GB of physical memory and 3 L2 caches, with cache responsible 
for 1GB of addresses?  This is possible situation and we should support it.  I 
think the way you are using address bits is not right.  In this particular 
example if you use the two highest order bits, things should work fine.

--
Nilay
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to