Dynamic cache management technique


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Dynamic cache management technique

  1. 1. A Seminar Presentation On “Dynamic Cache Management Technique” Presented By: RAMESH 08QQ1A0530 (CSE, Final Year)
  2. 2. Content <ul><li>Introduction to cache memory </li></ul><ul><li>How stored data is transferred to the CPU </li></ul><ul><li>Mapping functions </li></ul><ul><li>Dynamic Cache Management </li></ul><ul><li>Dynamic Techniques For L0-cache Management </li></ul>
  3. 3. Introduction to cache memory <ul><li>A cache, in computer terms, is a place to store information that's faster than the place where the information is usually stored </li></ul><ul><li>Cache memory is fast memory that is used to hold the most recently accessed data </li></ul><ul><li>Only frequently accessed data will stay in cache, which allows the CPU to access it more quickly </li></ul><ul><li>it is placed in the processor chip, which allows it to 'talk' with the processor direct at a much higher speed than standard RAM. </li></ul>
  4. 4. How stored data is transferred to the CPU ??
  5. 5. Mapping functions <ul><li>Since M>>C, how are blocks mapped to specific lines in cache. </li></ul><ul><li>Direct mapping </li></ul><ul><li>Associative mapping </li></ul><ul><li>Set associative mapping </li></ul>
  6. 6. Dynamic Cache Management <ul><li>It’s resizing strategy of the cache memory </li></ul><ul><li>Dynamic caching allows for dynamic resizing both across and within applications execution. </li></ul><ul><li>The basic idea is that only the most frequently executed portion of the code should be stored in the L0-cache </li></ul>
  8. 8. DYNAMIC TECHNIQUES FOR L0-CACHE MANAGEMENT <ul><li>1. Simple Method. </li></ul><ul><li>2. Static Method. </li></ul><ul><li>3. Dynamic Confidence Estimation Method. </li></ul><ul><li>4. Restrictive Dynamic Confidence Estimation Method. </li></ul><ul><li>5. Dynamic Distance Estimation Method. </li></ul>
  9. 9. SIMPLE METHOD <ul><li>If a branch predictor is mispredicted, the machine will access the I-cache to fetch the instructions. </li></ul><ul><li>If a branch is predicted correctly, the machine will access the L0-cache. </li></ul><ul><li>In a misprediction , the machine will start fetching the instructions from the correct address by accessing the I-cache. </li></ul>
  10. 10. STATIC METHOD <ul><li>If a ‘high confidence’ branch was predicted incorrectly, the I-cache is accessed for the subsequent basic blocks. </li></ul><ul><li>If more than n low confidence branches have been decoded in a row, the I-cache is accessed. Therefore the L0-cache will be bypassed when either of the two conditions are satisfied. </li></ul><ul><li>In any other case the machine will access the L0-cache. </li></ul>
  11. 11. DYNAMIC CONFIDENCE ESTIMATION METHOD <ul><li>It is a dynamic version of the static method. </li></ul><ul><li>The confidence of the I-cache is accessed if </li></ul><ul><li>1. A high confidence branch is mispredicted. </li></ul><ul><li>2. More than n successive ‘low confidence’ branches are encountered. </li></ul><ul><li>it is more accurate in characterizing a branch and, then, regulating the access of the L0-cache. </li></ul>
  12. 12. RESTRICTIVE DYNAMIC CONFIDENCE ESTIMATION METHOD <ul><li>Restrictive dynamic scheme is a more selective scheme in which only the really important basic blocks would be selected for the L0-cache. </li></ul><ul><li>The L0-cache is accessed only if a ‘high confidence’ branch is predicted correctly. The I-cache is accessed in any other case. </li></ul><ul><li>This method selects some of the most frequently executed basic blocks, yet it misses some others. </li></ul>
  13. 13. Dynamic Distance Estimation Method <ul><li>All n branches after a mispredicted branch are tagged as ‘low confidence’ otherwise as ‘high confidence’. </li></ul><ul><li>The basic blocks after a ‘low confidence’ branch are fetched from the L0-cache. </li></ul><ul><li>The net effect is that a branch misprediction causes a series of fetches from the I-cache. </li></ul><ul><li>A counter is used to measure the distance of a branch from the previous mispredicted branch. </li></ul>
  14. 14. Thank you Any Query ??