Hi Shadi,

First, my apologies for the delayed response.  We had a busy week last 
week with the ASPLOS deadline.

Adding a third (shared) cache is pretty easy.  Let's say you want to 
have private, split L1s (L1i and L1d), then a private, unified L2 
followed by a shared L3.  Have a look at

simulators/CMPFlex/wiring.cpp

That's where all your changes are going to go.  Look in that file at how 
L1d and L2 are created, initialized, and wired.  You will need to add an 
L3 that is a copy of the L2 there now, and the L2 is going to look more 
like L1d does currently.  You will have to add an I/D mux between the 
split L1s and L2 (IDCacheMux).  You can see how this mux is 
created/wired by looking at

simulators/UniFlex/wiring.cpp

Here's a 'checklist' for a single component.  Make sure each of these is 
set properly for your L2, L3, and IDCacheMux.

1) The #include at the beginning to reference the component (IDCacheMux)
2) CREATE_CONFIGURATION macros
3) initializeParameters()
4) FLEXUS_INSTANTIATE_COMPONENT -- note: your IDCacheMux should be in a 
FLEXUS_INSTANTIATE_COMPONENT_ARRAY macro (unlike in UniFlex), because 
there is one mux *per core*
5) wiring -- WIRE() macros
6) DRIVE() macros -- your IDCacheMux won't need one. L1s, L2, and L3 will.

If all you want is another shared L3 below the shared L2, the job is 
even easier.  I trust the above will explain this scenario as well.

Let us know if you run into any trouble.

Kind regards,
- Brian Gold

Shadi Harb wrote:
> Hi all, 
> I am wondering if I can get any help or suggestions to point to the code
> that I can build a third level of cache which is shared in CMPs system.
> 
> Thanks for the help in advance
> Shadi
> 
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On
> Behalf Of [email protected]
> Sent: Tuesday, March 07, 2006 9:00 AM
> To: [email protected]
> Subject: SimFlex Digest, Vol 10, Issue 3
> 
> Send SimFlex mailing list submissions to
>       [email protected]
> 
> To subscribe or unsubscribe via the World Wide Web, visit
>       https://sos.ece.cmu.edu/mailman/listinfo/simflex
> or, via email, send a message with subject or body 'help' to
>       [email protected]
> 
> You can reach the person managing the list at
>       [email protected]
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of SimFlex digest..."
> 
> 
> Today's Topics:
> 
>    1. Re: About Piranha Cache (lu peng)
>    2. Re: Error when trying to collect the checkpoints (Thomas Wenisch)
>    3. Re: About Piranha Cache (Jared C. Smolens)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Tue, 07 Mar 2006 03:38:16 +0000
> From: "lu peng" <[email protected]>
> Subject: Re: [Simflex] About Piranha Cache
> To: [email protected], [email protected]
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset="us-ascii"
> 
> An HTML attachment was scrubbed...
> URL:
> http://sos.ece.cmu.edu/pipermail/simflex/attachments/20060307/91e726c9/attac
> hment-0001.html
> 
> ------------------------------
> 
> Message: 2
> Date: Mon, 6 Mar 2006 23:40:17 -0500 (EST)
> From: Thomas Wenisch <[email protected]>
> Subject: Re: [Simflex] Error when trying to collect the checkpoints
> To: SimFlex software support <[email protected]>
> Message-ID:
>       
> <pine.lnx.4.53l-ece.cmu.edu.0603062337550.32...@coleburn.ece.cmu.edu>
> Content-Type: TEXT/PLAIN; charset=US-ASCII
> 
> Hi Lei,
> 
> Sorry for the delay in replying.
> 
> On Thu, 2 Mar 2006, Jin Lei wrote:
> 
>> Hi,
>>
>>
>>
>> I followed the getting started guide. When I run
>> SIMICS_PATH/scripts/start-simics -x flexus-test.simics to collect
>> checkpoints, the system booted up successfully:
>>
>>                    The system is ready.
>>
>> sarek.network.sim console login: root
>>
>> Jun  2 07:00:47 sarek.network.sim login: ROOT LOGIN /dev/console
>>
>> Sun Microsystems Inc.   SunOS 5.8       Generic Patch   February 2004
>>
>> # mount /dev/dsk/c0t1d0s0 /mnt; cd /mnt/src; ./flexus-test-app 8 10
>>
>> Running 8 threads for 10 iterations each.
> 
> So far everything is normal and the test application has started
> 
>> But just after that the simulation was stopped with the following error
>> information:
>>
>> [flexus-test.simics:141] the command did not complete properly;
> interrupting
>> script
> 
> Hmm... Are there any error messages prior to this?  Did the simulation
> advance at all before issuing this message?  It is unusual for simics to
> fail to execute the "run" command.  Can you post a copy of the
> flexus-test.simics file and complete output on the simics console?
> 
>> I checked the script file, it is the last "run" command in the script file
>> cause the error. How can I figure it out?
>>
> 
> Regards,
> -Tom Wenisch
> Computer Architecture Lab
> Carnegie Mellon University
> 
> 
> 
> 
> ------------------------------
> 
> Message: 3
> Date: Tue,  7 Mar 2006 03:39:48 -0500 (EST)
> From: "Jared C. Smolens" <[email protected]>
> Subject: Re: [Simflex] About Piranha Cache
> To: [email protected]
> Message-ID: <[email protected]>
> 
> 
> Hi Lu,
> 
> In the shared state when the block exists in the L2, theOwner is 
> irrelevant.  I believe that it will always be directory owned in this 
> situation, but there may be a sequence of transactions where theOwner 
> isn't set reset consistently.
> 
> In the owned state theOwner must always point to the L1 that is 
> responsible for the last copy of the block within the CMP, regardless of 
> the state of L2.  If there is no such L1, you are not in the owned state 
> (by definition).
> 
> Jared
> 
> Excerpts From "lu peng" <[email protected]>:
>  Re: [Simflex] About Piranha Cache: "lu peng" <[email protected]>
>> Date: Tue, 07 Mar 2006 03:38:16 +0000
>> To: [email protected], [email protected]
>> From: "lu peng" <[email protected]>
>> Subject: Re: [Simflex] About Piranha Cache
>>
>> <html><div style='background-color:'><DIV class=RTE>
>> <P>Hi, Jared,</P>
>> <P>How are you recenlty? Are there any case that the theOwner points to 
> L1 (ei
>> ther L1I or L1D), but l2lookup hits and the PiranhaDir is in the Shared 
> or Own
>> ed state? If so, in what situation?</P>
>> <P>Thanks,</P>
>> <P>Lu<BR><BR></P></DIV>
>> <DIV></DIV>
>> <BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: 
> #a0c6e5 2
>> px solid; MARGIN-RIGHT: 0px"><FONT style="FONT-SIZE: 11px; FONT-FAMILY: 
> tahoma
>> ,sans-serif">
>> <HR color=#a0c6e5 SIZE=1>
>>
>> <DIV></DIV>From:&nbsp;&nbsp;<I>"Jared C. Smolens" 
> &lt;[email protected]&gt
>> ;</I><BR>To:&nbsp;&nbsp;<I>[email protected], 
> [email protected]</I><BR>Su
>> bject:&nbsp;&nbsp;<I>Re: [Simflex] About Piranha 
> Cache</I><BR>Date:&nbsp;&nbsp
>> ;<I>Thu, 2 Feb 2006 12:07:30 -0500 (EST)</I><BR>&gt;Hi 
> Lu,<BR>&gt;<BR>&gt;Yes,
>> the simulation model maintains a PiranhaDirEntry for every 
> valid<BR>&gt;line 
>> in the CMP (in one or more L1s, L2, or both).<BR>&gt;<BR>&gt;To fully 
> determin
>> e where the line is, you need to consider its state,<BR>&gt;it's owner, 
> and th
>> e l2Lookup structure:<BR>&gt;<BR>&gt;theOwner points to a cache which 
> can supp
>> ly a coherent value for the<BR>&gt;line.<BR>&gt;For the Shared and Owner 
> state
>> s, it's safe to read the L2 value if<BR>&gt;l2Lookup shows a hit, since 
> all co
>> pies of the line must be identical in<BR>&gt;these states.&nbsp;&nbsp;If 
> l2Loo
>> kup shows a miss, follow theOwner to the 
>> correct<BR>&gt;L1.&nbsp;&nbsp;For the Modified state, always follow 
> theOwner (
>> set to the core<BR>&gt;index or -1 if the L2 owns the 
> line).<BR>&gt;<BR>&gt;Ja
>> red<BR>&gt;<BR></FONT></BLOCKQUOTE></div></html>
>>
> 
> 
> Jared Smolens ----------- Electrical and Computer Engineering
> www.rabidpenguin.org ------------- Carnegie Mellon University
> jsmolens AT ece.cmu.edu ------ HH A-313 ------ Pittsburgh, PA
> 
> 
> 
> ------------------------------
> 
> _______________________________________________
> SimFlex mailing list
> [email protected]
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex
> 
> 
> End of SimFlex Digest, Vol 10, Issue 3
> **************************************
> 
> 
> _______________________________________________
> SimFlex mailing list
> [email protected]
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex
From penglu01 at hotmail.com  Wed Mar 15 12:27:13 2006
From: penglu01 at hotmail.com (lu peng)
List-Post: [email protected]
Date: Wed Mar 15 12:27:37 2006
Subject: [Simflex] A question about Solaris 9
In-Reply-To: <[email protected]>
Message-ID: <[email protected]>

An HTML attachment was scrubbed...
URL: 
http://sos.ece.cmu.edu/pipermail/simflex/attachments/20060315/852d55a5/attachment.html
From bgold at cmu.edu  Wed Mar 15 14:22:25 2006
From: bgold at cmu.edu (Brian Gold)
List-Post: [email protected]
Date: Wed Mar 15 14:22:35 2006
Subject: [Simflex] A question about Solaris 9
In-Reply-To: <[email protected]>
References: <[email protected]>
Message-ID: <[email protected]>

Hi Lu,

I've done some minimal testing with OpenSolaris, and I don't see why 
Solaris 9 wouldn't work.  Can you give us more info on what failed? 
Does it run in Simics?

There's nothing in Flexus that should be OS-specific.  If it works in 
Simics, it should work in Flexus.

- Brian Gold

lu peng wrote:
> Hi, There,
> 
> I built a checkpoint on Solaris 9 today. However, seems it can't connect 
> with the flexus 1.0.2. Is necessary to use Solaris 8 to connect with it?
> 
> Thanks,
> 
> Lu
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> SimFlex mailing list
> [email protected]
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex
From penglu01 at hotmail.com  Thu Mar 16 13:26:22 2006
From: penglu01 at hotmail.com (lu peng)
List-Post: [email protected]
Date: Thu Mar 16 13:26:39 2006
Subject: [Simflex] A question about Solaris 9
In-Reply-To: <[email protected]>
Message-ID: <[email protected]>

An HTML attachment was scrubbed...
URL: 
http://sos.ece.cmu.edu/pipermail/simflex/attachments/20060316/e1e43593/attachment.html
From bgold at cmu.edu  Thu Mar 16 14:09:23 2006
From: bgold at cmu.edu (Brian Gold)
List-Post: [email protected]
Date: Thu Mar 16 14:09:31 2006
Subject: [Simflex] A question about Solaris 9
In-Reply-To: <[email protected]>
References: <[email protected]>
Message-ID: <[email protected]>

In CMPFlex, BackSideOut_Snoop at L2 does not need to be connected.  So 
this warning is not a problem at all in CMPFlex.

FYI, BackSideOut_Snoop is used (in L2) when multiple CMP chips are 
connected with a coherence bus or similar mechanism.  You'll see a 
similar mechanism IS used in CMPFlex when connecting coherent L1 caches 
to a shared L2.

Kind regards,
- Brian


lu peng wrote:
> Hi Brian,
> 
> Thanks for your reply. Probably I was wrong. I got some warnings when I 
> ran "read-configuraton xxx.cfg" and "load-module 
> flexus-CMPFlex-v9-iface-gcc", it complained "12 <CmpCache.hpp:78> {0}- 
> L2 port BackSideOut_Snoop is not wired". Is this a big issue? I just 
> found it when I connected a SOL 9 checkpoint although it was shown for 
> SOL 8 checkpoint but I didn't notice it.
> 
> Thanks,
> 
> Lu
> 
> 
> 
>  
> 
>     ------------------------------------------------------------------------
>     From:  /Brian Gold <[email protected]>/
>     Reply-To:  /SimFlex software support <[email protected]>/
>     To:  /SimFlex software support <[email protected]>/
>     Subject:  /Re: [Simflex] A question about Solaris 9/
>     Date:  /Wed, 15 Mar 2006 14:22:25 -0500/
>      >Hi Lu,
>      >
>      >I've done some minimal testing with OpenSolaris, and I don't see why
>      >Solaris 9 wouldn't work.  Can you give us more info on what failed?
>      >Does it run in Simics?
>      >
>      >There's nothing in Flexus that should be OS-specific.  If it works
>      >in Simics, it should work in Flexus.
>      >
>      >- Brian Gold
>      >
>      >lu peng wrote:
>      >>Hi, There,
>      >>
>      >>I built a checkpoint on Solaris 9 today. However, seems it can't
>      >>connect with the flexus 1.0.2. Is necessary to use Solaris 8 to
>      >>connect with it?
>      >>
>      >>Thanks,
>      >>
>      >>Lu
>      >>
>      >>
>      
> >>------------------------------------------------------------------------
>      >>
>      >>_______________________________________________
>      >>SimFlex mailing list
>      >>[email protected]
>      >>https://sos.ece.cmu.edu/mailman/listinfo/simflex
>      >>SimFlex web page: http://www.ece.cmu.edu/~simflex
>      >_______________________________________________
>      >SimFlex mailing list
>      >[email protected]
>      >https://sos.ece.cmu.edu/mailman/listinfo/simflex
>      >SimFlex web page: http://www.ece.cmu.edu/~simflex
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> SimFlex mailing list
> [email protected]
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex
From sharb at ufl.edu  Sun Mar 19 08:09:06 2006
From: sharb at ufl.edu (Shadi Harb)
List-Post: [email protected]
Date: Sun Mar 19 08:09:21 2006
Subject: [Simflex] RE: SimFlex Digest, Vol 10, Issue 7
In-Reply-To: <[email protected]>
Message-ID: <000601c64b56$4dfbdc20$6401a...@shadilaptop>

Hi all,

Recently when I was trying to run "make stat-manager", I hit with these
error messages below , any help to resolve the problem would be appreciable

Thanks
Shadi 
////////////////////////////////
hug...@fraidy:~/Programs/flexus_2.0> make stat-manager In file included from
../core/simics/control_api.hpp:41,
                 from ../core/debug/action.cpp:54:
../core/simics/api_wrappers.hpp:46:49: simics/types_api.h: No such file or
directory
../core/simics/api_wrappers.hpp:47:57: simics/configuration_api.h: 
No such file or directory
In file included from ../core/simics/control_api.hpp:41,
                 from ../core/debug/action.cpp:54:
../core/simics/api_wrappers.hpp:53: error: expected constructor, destructor,
or type conversion before '*' token
../core/simics/api_wrappers.hpp:53: error: expected `,' or `;' 
before '*' token
../core/simics/api_wrappers.hpp:56: error: `conf_class_t' is not a member of
`Flexus::Simics::API'
../core/simics/api_wrappers.hpp:57: error: `class_struct' was not declared
in this scope
../core/simics/api_wrappers.hpp:57: error: expected primary-expression
before "const"
../core/simics/api_wrappers.hpp:58: error: `get_attr_t' is not a member of
`Flexus::Simics::API'
../core/simics/api_wrappers.hpp:59: error: `lang_void' is not a member of
`Flexus::Simics::API'
../core/simics/api_wrappers.hpp:60: error: `get_attr_data' was not declared
in this scope
../core/simics/api_wrappers.hpp:60: error: `set_attr_t' is not a member of
`Flexus::Simics::API'
../core/simics/api_wrappers.hpp:61: error: `lang_void' is not a member of
`Flexus::Simics::API'
../core/simics/api_wrappers.hpp:62: error: `set_attr_data' was not declared
in this scope
../core/simics/api_wrappers.hpp:62: error: `attr_attr_t' is not a member of
`Flexus::Simics::API'
../core/simics/api_wrappers.hpp:63: error: expected primary-expression
before "const"
../core/simics/api_wrappers.hpp:64: error: initializer expression list
treated as compound expression
../core/simics/api_wrappers.hpp:66: error: variable or field
`SIM_object_constructor' declared void
../core/simics/api_wrappers.hpp:66: error: `conf_object_t' is not a member
of `Flexus::Simics::API'
../core/simics/api_wrappers.hpp:66: error: `conf_obj' was not declared in
this scope
../core/simics/api_wrappers.hpp:66: error: `parse_object_t' is not a member
of `Flexus::Simics::API'
../core/simics/api_wrappers.hpp:66: error: `parse_obj' was not declared in
this scope
../core/simics/api_wrappers.hpp:66: error: initializer expression list
treated as compound expression
../core/simics/api_wrappers.hpp:68: error: expected constructor, destructor,
or type conversion before '*' token
../core/simics/api_wrappers.hpp:68: error: expected `,' or `;' 
before '*' token
In file included from ../core/debug/action.cpp:54:
../core/simics/control_api.hpp:49:47: simics/event_api.h: No such file or
directory
make[1]: *** [../core/debug/action.stats_o] Error 1
make: *** [stat-manager] Error 2
/////////////////////////////////////////////////////////////


-----Original Message-----
From: [email protected] [mailto:[email protected]] On
Behalf Of [email protected]
Sent: Friday, March 17, 2006 9:00 AM
To: [email protected]
Subject: SimFlex Digest, Vol 10, Issue 7

Send SimFlex mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://sos.ece.cmu.edu/mailman/listinfo/simflex
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of SimFlex digest..."


Today's Topics:

   1. Re: A question about Solaris 9 (lu peng)
   2. Re: A question about Solaris 9 (Brian Gold)


----------------------------------------------------------------------

Message: 1
List-Post: [email protected]
Date: Thu, 16 Mar 2006 18:26:22 +0000
From: "lu peng" <[email protected]>
Subject: Re: [Simflex] A question about Solaris 9
To: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset="us-ascii"

An HTML attachment was scrubbed...
URL:
http://sos.ece.cmu.edu/pipermail/simflex/attachments/20060316/e1e43593/attac
hment-0001.html

------------------------------

Message: 2
List-Post: [email protected]
Date: Thu, 16 Mar 2006 14:09:23 -0500
From: Brian Gold <[email protected]>
Subject: Re: [Simflex] A question about Solaris 9
To: SimFlex software support <[email protected]>
Message-ID: <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

In CMPFlex, BackSideOut_Snoop at L2 does not need to be connected.  So 
this warning is not a problem at all in CMPFlex.

FYI, BackSideOut_Snoop is used (in L2) when multiple CMP chips are 
connected with a coherence bus or similar mechanism.  You'll see a 
similar mechanism IS used in CMPFlex when connecting coherent L1 caches 
to a shared L2.

Kind regards,
- Brian


lu peng wrote:
> Hi Brian,
> 
> Thanks for your reply. Probably I was wrong. I got some warnings when I 
> ran "read-configuraton xxx.cfg" and "load-module 
> flexus-CMPFlex-v9-iface-gcc", it complained "12 <CmpCache.hpp:78> {0}- 
> L2 port BackSideOut_Snoop is not wired". Is this a big issue? I just 
> found it when I connected a SOL 9 checkpoint although it was shown for 
> SOL 8 checkpoint but I didn't notice it.
> 
> Thanks,
> 
> Lu
> 
> 
> 
>  
> 
>
------------------------------------------------------------------------
>     From:  /Brian Gold <[email protected]>/
>     Reply-To:  /SimFlex software support <[email protected]>/
>     To:  /SimFlex software support <[email protected]>/
>     Subject:  /Re: [Simflex] A question about Solaris 9/
>     Date:  /Wed, 15 Mar 2006 14:22:25 -0500/
>      >Hi Lu,
>      >
>      >I've done some minimal testing with OpenSolaris, and I don't see why
>      >Solaris 9 wouldn't work.  Can you give us more info on what failed?
>      >Does it run in Simics?
>      >
>      >There's nothing in Flexus that should be OS-specific.  If it works
>      >in Simics, it should work in Flexus.
>      >
>      >- Brian Gold
>      >
>      >lu peng wrote:
>      >>Hi, There,
>      >>
>      >>I built a checkpoint on Solaris 9 today. However, seems it can't
>      >>connect with the flexus 1.0.2. Is necessary to use Solaris 8 to
>      >>connect with it?
>      >>
>      >>Thanks,
>      >>
>      >>Lu
>      >>
>      >>
>
>>------------------------------------------------------------------------
>      >>
>      >>_______________________________________________
>      >>SimFlex mailing list
>      >>[email protected]
>      >>https://sos.ece.cmu.edu/mailman/listinfo/simflex
>      >>SimFlex web page: http://www.ece.cmu.edu/~simflex
>      >_______________________________________________
>      >SimFlex mailing list
>      >[email protected]
>      >https://sos.ece.cmu.edu/mailman/listinfo/simflex
>      >SimFlex web page: http://www.ece.cmu.edu/~simflex
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> SimFlex mailing list
> [email protected]
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex


------------------------------

_______________________________________________
SimFlex mailing list
[email protected]
https://sos.ece.cmu.edu/mailman/listinfo/simflex
SimFlex web page: http://www.ece.cmu.edu/~simflex


End of SimFlex Digest, Vol 10, Issue 7
**************************************

Reply via email to