OVP Forums - A community of assistance, help, questions, and answers.
|
View previous topic :: View next topic |
Author |
Message |
PriyaAgrawal
Joined: 30 May 2008 Posts: 22 Location: India
|
Posted: Mon Jul 14, 2008 10:19 pm Post subject: modelling cache |
|
|
While modelling cache, does the VMI MMC provide the ability to implement cache miss policies like write-back or write through? |
|
Back to top |
|
 |
DuncGrah OVP Technologist

Joined: 27 Feb 2008 Posts: 1646 Location: United Kingdom
|
Posted: Wed Jul 16, 2008 8:03 am Post subject: |
|
|
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 |
|
 |
PriyaAgrawal
Joined: 30 May 2008 Posts: 22 Location: India
|
Posted: Wed Jul 16, 2008 10:32 pm Post subject: |
|
|
Thanks for the information |
|
Back to top |
|
 |
MatthewHall OVP Technologist

Joined: 26 Feb 2008 Posts: 84
|
Posted: Fri Aug 29, 2008 12:21 am Post subject: Cache (MMC) modelling. |
|
|
We are currently updating the
"OVPsim and Imperas CpuManager User Guide"
to include how to create and use MMCs. |
|
Back to top |
|
 |
CoMpOrGaNiZeR
Joined: 15 Apr 2010 Posts: 3
|
Posted: Mon Apr 26, 2010 3:59 pm Post subject: |
|
|
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 |
|
 |
JimStraus OVP Technologist

Joined: 09 Dec 2008 Posts: 154
|
Posted: Tue Apr 27, 2010 7:14 am Post subject: |
|
|
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
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 |
|
 |
CoMpOrGaNiZeR
Joined: 15 Apr 2010 Posts: 3
|
Posted: Mon May 03, 2010 8:11 pm Post subject: |
|
|
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 |
|
 |
JimStraus OVP Technologist

Joined: 09 Dec 2008 Posts: 154
|
Posted: Tue May 04, 2010 2:40 pm Post subject: |
|
|
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 |
|
 |
DuncGrah OVP Technologist

Joined: 27 Feb 2008 Posts: 1646 Location: United Kingdom
|
Posted: Thu May 06, 2010 1:48 am Post subject: |
|
|
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 |
|
 |
|
|
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
|