On Tue, Sep 27, 2011 at 2:59 PM, sparsh mittal <[email protected]>wrote:

> Hello
> This regards to a previous discussion (copied below):
>
> 1. So can we say that for multi-core, L1 cache can be only mesi, as per
> code existing now.
>

Now you can also use moesi cache.

> 2. If I think of implementing p2p_multi, would you give some hint: which
> files/code sections would be affected (some hints you have already given
> below). Any precaution?
>
> Take a look at ptlsim/cache/p2p.* files.  You can add a array (use
'dynarray') in p2p which can store multiple upper level controllers when
registered.  And when it receives a request, it can find 'dest' controller
from the array and forward request to 'dest' controller.

- Avadh

Summary of my experiments:
>> 1. The configuration with L1 =mesi runs fine, which you pointed out
>> 2. The config with L1=write-through, and L1-L2 as mesi does not work
>> (copied below, item 1, reduced log file attached)
>>
>
> I looked at the configuration and logfile and the reason its not working is
> because the bus interconnect is designed for MESI only. So when you attached
> write-through caches it doesnt work because bus is waiting for snoop
> response from all connected controllers. And WT caches are not designed to
> perform snoop operations and send response back, so they ignore the request
> and dont respond anything. (Look for 'responseReceived' in logfile, it at
> the end).  Due to this behavior the cores wait for cache request to complete
> and never make any progress.
>
> 3. The config with L1=write-through, and L1-L2 as p2p does not work (copied
>> below, item 2, log file has almost nothing)
>>
>
> In this configuration, first thing is that you used 'p2p' interconnect to
> attach all L1 I,D caches and L2 cache, but 'p2p' supports connecting only 2
> controllers.
>
> The solution to this issue is to create a new interconnect module that
> allows you to send messages directly to lower cache and send response back.
>  To develop such a module should not take too long as you are not going to
> buffer any request, you'll just pass the request from source to destination
> just like in 'p2p' interconnect. But unlike 'p2p' this interface will
> support multiple Upper and single Lower interconnect. I suggest you take a
> look at p2p interconnect design on how it passes the message from one
> interconnect to other. And create a new interconnect, lets call it
> 'p2p_multi', that allows multiple upper connections.
>
> Thanks and Regards
> Sparsh Mittal
>
>
>
> _______________________________________________
> http://www.marss86.org
> Marss86-Devel mailing list
> [email protected]
> https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
>
>
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel

Reply via email to