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
|