Re: [Gems-users] Where to start: a different memory system


Date: Tue, 13 Feb 2007 23:41:29 +0100
From: Oliver Mattes <mattes@xxxxxxxxxx>
Subject: Re: [Gems-users] Where to start: a different memory system
Mike Marty wrote:
>> Sorry for my 'stupid' newbie-question, but I'm new with GEMS and the
>> documentation on the web is not so comprehensive.
>>
>> I'd like to test a different way of connecting memory to a system. The
>> memory-modules should be autonomic and manage themselves. This means,
>> that access to the memory-modules is achieved through requests and answers.
>>
> I'm confused.  Isn't access to memory-modules (via memory controllers)
> already achieved via requests and responses?

Sorry for the nebulous description. The requests should be something
like "i need xy byte of memory-space" and the answer of possibly several
memory-modules "hey, I can offer you this" - "ok, assign it to me and
save this data at adress"...

There will be some cores and a number of autonomic memory modules, which
are connected through a (not exactly specified) network. The space in
the autonomous memory-modules, can variably be assigned to different cores.

>> I think I have to change the memory hierarchy and add a
>> controller/requester after the Caches which generates the requests and
>> sends them to controllers attached in front of the memory-modules. For
>> the communication beetween these controllers another protocol is used.
>>
> A typical CMP protocol in GEMS implements an L1 controller, an L2
> controller, and a "Directory" controller (which is really a
> directory/memory controller).
> 
> In the past, I have decoupled the Directory controller to implement a
> seperate controller for the "Directory" and the "Memory"
> 
>> Do you think it is possible to implement this with GEMS?
> 
> Very much
> 
>> Where should I start? What do I have to change? Where can I iplement
>> these controllers and where the protocol?
>>
> 
> On Friday, I plan on putting out a bugfix release that will include a new
> directory protocol for Single-CMPs.  It would probably be easiest to start
> with this protocol.  In fact, the memory has a seperate controller that
> answers to a single "fetch" request.

OK, I think I have to modify the SLICC-files in the protocol-folder?
That's right? In which file are the memory-chips described?

Thanks!

Greets
Oliver

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