Dear Mahmood,
To create a new component your best friend is the source code. Use one of the
components as an example to understand what you need to do.
Each component is basically a CPP class that has a header file and a CPP file.
The header file defines input/output ports of the component and the parameters
that the component has (e.g. components/FastCMPCache/FastCMPCache.hpp).
The CPP file (usually {components_name}Impl.cpp:
components/FastCMPCache/FastCMPCacheImpl.cpp) includes the implementation for
the component. Here you will find what actions a component does when messages
arrive at its input ports.
Components are instantiated and connected together in the wiring file of the
simulator (simulators/CMP.L2SharedNUCA.OoO/wiring.cpp). The WIRE macro connects
an output port of a component to an input port of the other one.
Regards,
Mohammad
On 26 Jun 2011, at 17:56, Mahmood Naderan wrote:
> Hi
> I am trying to add a buffer (be as a component) that resides in L2. Maybe I
> state my problem incorrectly. In creating a new component, what should I
> care? How to connect it to another component? How can I set a latency as L2
> cache?
>
> Thanks.
>
> // Naderan *Mahmood;
>
>
> ----- Original Message -----
> From: Alisafaee Mohammad <[email protected]>
> To: Mahmood Naderan <[email protected]>
> Cc: simflex <[email protected]>
> Sent: Saturday, June 18, 2011 3:17 AM
> Subject: Re: how to add another shared memory level?
>
> Dear Mahmoud,
>
> Adding another level of shared cache after the L2 cache is fairly easy. The
> shared L2 cache already implements a cache coherency protocol and your L3
> cache does not need to deal with cache coherency.
> BTW, You have to implement your own component for this purpose. To do that
> you can start from the FastCMPCache and CMPCache components and remove all
> parts that deal with the coherence protocol and the coherence directory.
>
> Regards,
> Mohammad
>
>> From: Mahmood Naderan [[email protected]]
>> Sent: Tuesday, May 10, 2011 8:22 AM
>> To: simflex
>> Subject: how to add another shared memory level?
>>
>> Hi,
>> How can I add another level of shared memory in flexus?
>>
>>
>> // Naderan *Mahmood;