No, you should not have to reimplement the SLICC files for a
four-processor CMP. You will have to reimplement the NUCA mapping
functions in RubySlicc_ComponentMapping.h. Currently these functions are
written for an eight-processor CMP. Specifically, if you want to simulate
a four-processor CMP, you need to reimplement the functions that map banks
to the local, center, and remote distinctions depending on the processor.
There is a lot of complexity in the relationship between the mapping
functions and the network file. I would recommend understanding the
8-processor CMP implementation first, before trying to implement a
4-processor CMP.
Brad
On Wed, 17 May 2006, Daniele Bordes wrote:
> Hi all.
> I have been trying to simulate a four-processors single CMP environment with
> MOESI_CMP_NUCA as cache management protocol, but it does not work (it seems
> to reach a deadlock after only three instructions).
> As regards the memory subsystem, the only thing I have changed to try to
> realize this environment is the ruby network description file, which has
> been deduced by the file
> "NUCACOL_Procs-8_ProcsPerChip-8_L2Banks-256_Memories-8.txt".
> The protocol seems to work only in an eight-processors single CMP
> environment: since I've read in the web site that this is a limitation
> ("Only an eight processor single CMP configuration is supported" is written)
> but the sentence is not clear to me, I would like to know if the problem
> could be the protocol specification coded in SLICC files (for instance,
> because it is suitable only for an eight-processors environment) and if I
> need to realize new SLICC files to simulate correctly the new scenario.
> Thanks.
>
|