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
Cache coherence, cache miss/hit cache levels

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



Joined: 03 Mar 2008
Posts: 2

PostPosted: Thu Mar 06, 2008 3:51 am    Post subject: Cache coherence, cache miss/hit cache levels Reply with quote

Since your design hasn't been release yet for nor of the processor, can you please discuss a little your cache coherence scheme, is it the same for all the processors.

Is what you are showing in the "OVPsim_arm7_multicore2" demo is a 2 level cache system?

What happens in case of a cache miss, or L1 Cache update (is it a write-through)?

Will the simulator code will be available in case someone wants to make a change in the implementation of this module?
Back to top
View user's profile Send private message
JamesKenney
OVP Technologist
OVP Technologist


Joined: 28 Feb 2008
Posts: 24

PostPosted: Fri Mar 07, 2008 12:37 am    Post subject: Reply with quote

The demos we're showing on the website don't have caches associated with the processors, but we do have technology available for modelling caches at different levels using our MMC (memory model component) technology.

Using an MMC, you can model cache behavior at two different levels:
1. Transparent MMC: this allows modelling of things like cache tags while leaving the actual memory content to be modeled by the simulator. This is good if you want to get (for example) hit/miss rates in an L1 cache without degrading performance much.
2. Full MMC: for caches, this allows modeling of both tags and content, which you will need to do if you have incoherent caches and you care about modeling those incoherencies in your multiprocessor simulation.

In terms of performance, on my 3Ghz PC, I expect to see several hundred MIPS simulation speeds for simulations without caches (like the demos), 50-100 MIPS when I have transparent MMCs recording cache hits/misses and 10-20 MIPS when I have full MMCs, although this is of course highly dependent on the complexity of the MMC model (and see the caveat at the end of this post).

Like other OVPsim components, MMCs are designed to be separately-instantiatable, so you can decide whether or not you want them in your simulation. You can instantiate them in series, so for example you can have two L1 MMC transparent cache models feeding into an L2 MMC full model if you wish.

One final caveat about these performance numbers: OVPsim isn't trying to be a cycle-accurate simulator - we're aiming at the instruction-accurate application development space. To get the speeds I've quoted above, each processor in a multiprocessor system needs to be run for a reasonable time slice (say, hundreds of thousands of instructions) before moving on to the next. If the system contains shared caches, then this obviously distorts the content of the shared cache unrealistically (it will first be populated almost entirely with data required by the first processor, then repopulated with data for the second, and so on). It is certaily possible to make OVPsim test harnesses that step invidual processors in a multiprocessor system a single instruction at a time to stimulate the cache more realistically, but performance will then be dominated by the harness and switching time, and you would probably get only 1-5 MIPS.
Back to top
View user's profile Send private message
JamesKenney
OVP Technologist
OVP Technologist


Joined: 28 Feb 2008
Posts: 24

PostPosted: Fri Mar 07, 2008 12:43 am    Post subject: Reply with quote

I omitted a reply to the last part of your question: we will certainly post model source, and we hope that others in the community will too as new models are developed. So you will certainly be able to modify these models to change behavior if you wish.
Back to top
View user's profile Send private message
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