Hello,
To my knowledge, there isn't any documentation on creating a new
component. This isn't something we do very often, and I'm pretty
confident you don't want or need to create a new component for your
task here.
There is a component called TraceTracker that can help you. It is a
global object, meaning every core, cache, etc. can access the same
data structures. You could add new callbacks to the trace tracker
that record hits and misses from caches. You could provide other
function calls for your cores to be able to ask recent (or long term)
hit/miss rates and adjust retirement width accordingly.
TraceTracker is implemented in two parts: there are the component
files, which are really just skeleton code to get parameters passed
in, and then there is the real implementation.
Component files are in $FLEXUS/components/TraceTracker
Real implementation is in: $FLEXUS/components/Common/TraceTracker.
{cpp,hpp}
Examine what's there currently, see how components such as caches and
the core make calls to trace tracker, and let us know if you have
questions.
The only other caveat is that the interactions with tracetracker are
not representative of real hardware. This is good for opportunity or
quick, approximate studies, but if you were really building such a
microarchitecture you'd need to pass bits around using messages to
signal various events. FYI...
Thanks,
Brian
On Feb 19, 2008, at 5:21 AM, Abu Saad Papa wrote:
> Hi,
> I would like to know the procedure to create a component in Flexus
> tool.
> If there is any document specific to component creation in flexus
> please
> pass it on to me as I want to create a component in CMPFLex.OoO which
> will calculate the number of L1 hits and misses of all the core and
> then
> try to change the L1 configuration of all the cores. I am not sure
> where
> to start and how to create the new component.
>
> Note : My aim is to learn to create components in Flexus and hence
> trying
> to tweak around with L1 cache.
>
>
> Bye,
> Abu Saad Papa
>
>
>
> _______________________________________________
> SimFlex mailing list
> [email protected]
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex