OVP Forums - A community of assistance, help, questions, and answers.
  FAQFAQ    SearchSearch      RegisterRegister  ProfileProfile    Log in to check your private messagesLog in to check your private messages    Log inLog in
modelling cache

 
Post new topic   Reply to topic    Open Virtual Platforms Forum Index -> Memories and Caches
View previous topic :: View next topic  
Author Message
PriyaAgrawal



Joined: 30 May 2008
Posts: 22
Location: India

PostPosted: Mon Jul 14, 2008 10:19 pm    Post subject: modelling cache Reply with quote

While modelling cache, does the VMI MMC provide the ability to implement cache miss policies like write-back or write through?
Back to top
View user's profile Send private message
DuncGrah
OVP Technologist
OVP Technologist


Joined: 27 Feb 2008
Posts: 1642
Location: United Kingdom

PostPosted: Wed Jul 16, 2008 8:03 am    Post subject: Reply with quote

MMCs (Memory Model Components) make use of the VMI API to define the cache functionality. This is a rich and flexible set of functions and, as such, can be used to define all aspects of cache behavior.
This would include the cache miss and replacement policy such as Least recently Used, pseudo random etc; or the write policy such as write through or write back.


Last edited by DuncGrah on Thu Jul 17, 2008 12:10 am; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
PriyaAgrawal



Joined: 30 May 2008
Posts: 22
Location: India

PostPosted: Wed Jul 16, 2008 10:32 pm    Post subject: Reply with quote

Thanks for the information
Back to top
View user's profile Send private message
MatthewHall
OVP Technologist
OVP Technologist


Joined: 26 Feb 2008
Posts: 84

PostPosted: Fri Aug 29, 2008 12:21 am    Post subject: Cache (MMC) modelling. Reply with quote

We are currently updating the

"OVPsim and Imperas CpuManager User Guide"

to include how to create and use MMCs.
Back to top
View user's profile Send private message
CoMpOrGaNiZeR



Joined: 15 Apr 2010
Posts: 3

PostPosted: Mon Apr 26, 2010 3:59 pm    Post subject: Reply with quote

I have a similar question with regards to MMCs. Where can I learn more about implementing different types of caches?

"OVPsim_and_CpuManager_User_Guide.pdf" introduces them very well, but I would like to be able to design the cache more thoroughly. So far I have only seen options relating to associativity and size in the MMC Function Reference, and I am having trouble figuring out how (and where) to apply those functions.

I have read a lot of documentation, and you guys are extremely thorough! I feel like the right PDF is right under my nose, but I haven't found it yet. Can anyone recommend me a good cache example or document?

I'll keep looking in the interim.
Back to top
View user's profile Send private message
JimStraus
OVP Technologist
OVP Technologist


Joined: 09 Dec 2008
Posts: 154

PostPosted: Tue Apr 27, 2010 7:14 am    Post subject: Reply with quote

For examples you probably have already seen the fullMMC and transparentMMC examples in $(IMPERAS_HOME)/Examples/Platforms.

Probably the best way to learn how these work is to look at the source for the example models provided with OVP.

Each of the normal OVP peripherals has its own page on the website where you can download the source for it, but this seems to be missing for the MMC models.

However, we also provide source from an svn repository we maintain at googlecode. There are some instructions on how to access this on the OVPworld.org site at:
Quote:
Library->Platforms->Mips32MaltaLinux

then look for the link "obtain the source code and re-build". This will take you to a page that explains how to download and recompile from the googlecode source tree.

The MMC models are in the source tree at
Quote:
ovpworld.org/mmc/

and specifically you want to see:
Quote:
ovpworld.org/mmc/support/1.0/include/cache.h

which is the base model which is used to implement all the different cache configurations.

You can look at how we implemented these models and then modify and rebuild these models to suit your own requirements.

Hope this helps

Jim Straus
Back to top
View user's profile Send private message
CoMpOrGaNiZeR



Joined: 15 Apr 2010
Posts: 3

PostPosted: Mon May 03, 2010 8:11 pm    Post subject: Reply with quote

JimStraus wrote:
For examples you probably have already seen the fullMMC and transparentMMC examples in $(IMPERAS_HOME)/Examples/Platforms.

I have seen those examples and they show me that OVP can make caches, but they do not show me how to customize it. If I wanted to test an Arm processor with a direct associative cache, and then alter it to be 4-way associative, how would I begin to go about doing that?

I can't figure out how to describe the cache more specifically (or even what file to do it inside of).
Back to top
View user's profile Send private message
JimStraus
OVP Technologist
OVP Technologist


Joined: 09 Dec 2008
Posts: 154

PostPosted: Tue May 04, 2010 2:40 pm    Post subject: Reply with quote

Did you look at the file ovpworld.org/mmc/support/1.0/include/cache.h from the googlecode site? This is the source for the cache models that were used in the examples.

You can look at the source to see exactly how the examples were done, and modify it to suit whatever your specific requirements are.

See ovpworld.org/mmc/wb_4way_32byteline_256tags/ on the googlecode site specifically for an example of the cache model configured as a 4 way cache.

Jim Straus
Back to top
View user's profile Send private message
DuncGrah
OVP Technologist
OVP Technologist


Joined: 27 Feb 2008
Posts: 1642
Location: United Kingdom

PostPosted: Thu May 06, 2010 1:48 am    Post subject: Reply with quote

This MMC support files will be included in future releases but in the meantime you can find the source as a zip file downloadable from library page
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Open Virtual Platforms Forum Index -> Memories and Caches All times are GMT - 8 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Information regarding OVP © 2008-2022 Imperas Software