Re: [Gems-users] Generated files in ruby


Date: Thu, 07 Sep 2006 11:55:04 -0500
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] Generated files in ruby
These files are generated directly from the protocol specification via the SLICC utility.

The files in $GEMS/protocols are used to specify protocol behaviour. The SLICC compiler reads these specifications and produces the generated/[protocol] directory which is used in the actual simulation.

The reason why you're not finding separate files for the L1's and L2's is that under the "SMP" protocols, the caches use a single controller for coherence. Try one of the "CMP" protocols and you will find separate L1 and L2 controllers.

Regards,
Dan Gibson


Lei Yang wrote:
Dear list,
In gems/ruby/generated, there are a lot of generated C and h files for a certain protocol, say MOSI_SMP_bcast. I wonder how these files are generated and what are the source files. For example, in L1Cache_Entry.C, class 'L1Cache_Entry' inherits from 'AbstractCacheEntry', which is in turn, defined in ruby/slicc_interface/AbstractCacheEntry.h . However, as I understand the MOSI_SMP_bcast protocol, in addition to L1I, L1D cache, each processor also owns a unified L2 cache. But there is no L2Cache_Entry.C/h file in ruby/generated. Since I want to do some modification to the L2 cache architecture, I need to modify the L2Cache_Entry class, if presents. More importantly I want to understand how these files are automatically generated, because in MOSI_SMP_bcast-cache.sm I can only see these lines related to L1Cache_Entry and L2Cache_Entry: CacheMemory L1IcacheMemory, template_hack="<L1Cache_Entry>", constructor_hack='L1_CACHE_NUM_SETS_BITS,L1_CACHE_ASSOC,MachineType_L1Cache,int_to_string(i)+"_L1I"', abstract_chip_ptr="true"; CacheMemory L1DcacheMemory, template_hack="<L1Cache_Entry>", constructor_hack='L1_CACHE_NUM_SETS_BITS,L1_CACHE_ASSOC,MachineType_L1Cache,int_to_string(i)+"_L1D"', abstract_chip_ptr="true"; CacheMemory L2cacheMemory, template_hack="<L1Cache_Entry>", constructor_hack='L2_CACHE_NUM_SETS_BITS,L2_CACHE_ASSOC,MachineType_L1Cache,int_to_string(i)+"_L2"', abstract_chip_ptr="true"; Your help will be greatly appreciated!! Thanks,
Lei
------------------------------------------------------------------------

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.


--
http://www.cs.wisc.edu/~gibson [esc]:wq!

[← Prev in Thread] Current Thread [Next in Thread→]