There are three types of main memory.
1 - Static Common Memory
2 - Protected Shared Memory
3 - Protected Swap Area
These are described in detail in the JCST article on CFPs. (Fig. 2)
Static Common Memory would consist of data that does not change dynamically, such as programs.
Protected Shared Memory is protected by software logic because it is updated by multiple processes. The software uses the CFS either as a lock/unlock or as a pointer swap. The software currently protects because of multitasking.
Protected Swap Areas are data areas used by an CFS in a conditional swap. An example would be a conditional swap to increment a counter.
All the above areas are protected by the software. The issue is that the current HSP does the swap in the cache and therefore requires coherence. All instructions are currently implemented in the cache. Doing the swap in main memory bypasses the cache and eliminates coherence, providing all other memory is protected by software logic.
Summary:
The software currently uses the HSP to eliminate coherence from the software. However the hardware instruction was implemented in the cache, therefore the implementation requires coherence. If the instruction bypassed the cache, there will be no cache coherence.
Protected Shared Memory is also updated in main memory. Therefore it has no coherence.
back to Technical Specifications
Different Algorithms for the Same Problem
No comments:
Post a Comment