Re: [Gems-users] Cache design in GEMS


Date: Mon, 4 Sep 2006 15:05:37 -0400
From: Nauman Rafique <nrafique@xxxxxxxxxx>
Subject: Re: [Gems-users] Cache design in GEMS
Opal mainly models the processor functionality. In addition to that, it also has
a simplistic cache model, and thats why you find some cache related files there. 

Ruby is the more extensive model of the caches and the interconnects. If you
intend to modify cache design and analyze tradeoffs, you should not use the
cache model of opal. Opal should be simulating processor functionality and ruby
should be simulating caches. So you should be looking at CacheMemory.h in
ruby/system.

The behavior of caches in ruby is mostly programmed in slicc and the files are
located in gems/protocols directory. So write-back/write-through policy would be
controlled from over there. Moreover, for inserting victim cache, you will have
to modify the slicc code (I think you dont really need any modifications in
CacheMemory.h). 

So to start with, decide a coherence protocol you want to use (e.g MSI or MOESI)
and start digging into the corresponding slicc files.

I hope it helps.

-- 
Nauman Rafique
Purdue University

Quoting Lei Yang <lya755@xxxxxxxxxxxxxxxxxxxx>:

> Dear list,
> 
> I just recently start using GEMS for my research project on new CMP cache
> hierarchy designs. In my simulation I'll be using both ruby and opal. I was
> trying to modify code that is related to the cache design, for example,
> insert a victim cache between L1 and L2. However I found in ruby/system a
> CacheMemory.h, also in opal/system cache.C and cache.h files. I am wondering
> which one(s) should I be looking at? Also, where in the code is the
> write-back/write-through policy specified for L1 and L2?
> 
> Your comments are greatly appreciated. Thanks a lot!!
> 
> Lei
[← Prev in Thread] Current Thread [Next in Thread→]