使用lru的双向集合关联高速缓存引用

时间:2013-11-05 19:48:34

标签: caching computer-science computer-architecture lru

我试图了解缓存是如何工作的。我正在研究一个问题,以便更好地理解这个概念:

  

给定2路组关联高速缓存,其中块长度为1个字,总长度为16个字,长度为32位,最初为空,并使用最近最少使用的替换策略。显示以下地址是否命中并列出缓存的最终内容。

地址:

  
      
  1. 00010001
  2.   
  3. 01101011
  4.   
  5. 00111111
  6.   
  7. 01001000
  8.   
  9. 00011001
  10.   
  11. 01000010
  12.   
  13. 10001001
  14.   
  15. 00000000
  16.   
  17. 01001000
  18.   
  19. 00011100
  20.   
  21. 00110000
  22.   
  23. 11111100
  24.   
  25. 00111010
  26.   

首先,根据给定的信息,在我看来,将按以下顺序存在2个偏移位,3个设置位和3个标记位(T =标记,S =设置,O =偏移):TTTSSSOO

示例(地址1):

  

Tag = 000(0),Set = 100(4),Offset = 01(1)

现在,假设这是正确的,当查找上述地址时,会发生以下

  
      
  1. Miss,存储在第4组,第0块
  2.   
  3. Miss,存储在第2组,第0块
  4.   
  5. Miss,存储在第7组,第0块
  6.   
  7. Miss,存储在第2组,第1区
  8.   
  9. Miss,存储在第6组,第0块
  10.   
  11. Miss,存储在第0组,第0块
  12.   
  13. 小姐,存储在第2组,第0区(第0组是LRU,现在第1组变为LRU)
  14.   
  15. 小姐,存储在第0组,第1区
  16.   
  17. 点击第2组,第1栏
  18.   
  19. 小姐,存储在第7组,第1区
  20.   
  21. Miss,存储在第6组,第1区
  22.   
  23. Miss,存储在第7组,第0块(第0组是LRU,现在第1组变为LRU)
  24.   
  25. 小姐,存储在第6组,第0区(第0组是LRU,现在第1组变为LRU)
  26.   

缓存的最终内容应如下所示:

  

设置0:01000010,00000000

     

设置1:空,空

     

设置2:10001001,0100001000

     

设置3:空,空

     

设置4:00010001,空

     

设置5:空,空

     

设置6:00111010,00110000

     

Set 7:11111100,00011100

我正处于非常困难的时期,所以希望有人可以告诉我,如果我走在正确的轨道上。如果这些看起来不错,我想尝试相同的练习,但有不同的地址进行进一步练习,以确保我已经得到它。

EDIT1:新地址。

  
      
  1. 000_100_01
  2.   
  3. 000_010_01
  4.   
  5. 000_001_10
  6.   
  7. 000_001_01
  8.   
  9. 001_010_11
  10.   
  11. 000_001_00
  12.   
  13. 000_010_11
  14.   
  15. 000_010_01
  16.   
  17. 001_110_00
  18.   
  19. 000_100_11
  20.   
  21. 000_000_01
  22.   
  23. 000_101_11
  24.   
  25. 011_010_11
  26.   

哪个应该:

  
      
  1. 小姐,存储在第4组第0块
  2. 中   
  3. 小姐,存储在第2组第0块
  4. 中   
  5. 小姐,存储在第1组第0块
  6. 中   
  7. Miss,存储在第1组第1区,第0区变为LRU
  8.   
  9. Miss,存储在第2组第1区,第0区变为LRU
  10.   
  11. Miss,存储在第1组第0块,第1组变为LRU
  12.   
  13. Miss,存储在第2组第0块,第1组变为LRU
  14.   
  15. 点击,设置2块0成为LRU
  16.   
  17. 小姐,存储在第6组第0块
  18. 中   
  19. 小姐,存储在第4组第1块
  20. 中   
  21. 小姐,存储在第0组0
  22. 中   
  23. 小姐,存储在第5组第0块
  24. 中   
  25. Miss,存储在第2组第0块,第1组变为LRU
  26.   

0 个答案:

没有答案