1. 有一个Cache主存存储层次.Cache采用2路组关联,LRU替换策教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.有一个Cache/主存存储层次。Cache采用2路组关联,LRU替换策略,直写,无写分配策略。设主存共分8个块(0~7),Cache为4块,对于下列结构的Cache,画出主存、Cache块的对应关系;假设出现如下主存访问块地址流:读1、读2、读4、读1、写3、读7、写2、读0、写1、读2、读5、写4、读6、写2、读5,列出每次Cache访问时的情况(失配还是命中,是否发生替换、回写或写主存),并求命中率。设初始Cache为空。

2. 关于AMAT(平均存储访问时间)的计算.

约定:1) Cache命中需一个时钟周期

2) 主存与Cache之间总线宽度为32bit,主存字宽:32bit.

3) 一次单独的内存字(4Byte)的读取时间:

送地址(4时钟周期)+访问(40周期)+总线传输(4周期)

4) 直写:用无写分配;回写:用写分配.

计算注意点:

4) 读失配损失:并行交叉方式:4+40+4*字数/块.

6) 直写时,写Cache的同时写入低层存储器,一次写一个字.

无buffer:写损失=3+40+4=47(周期)(注:送地址与访Cache 重叠)

有buffer且命中:写损失=1(周期)

7) 回写时:一旦发生替换时,才把脏块写回主存.

回写损失=写回的脏块数* 写回一块的损失

无buffer:写回一块的损失=3+40+4*字数/块(注:送地址与访Cache 重叠)

有buffer且命中:写回一块的损失=1(周期)

已知:有一16KB数据Cache/16KB指令Cache,没有二级cache, 数据块大小为16Byte,直写Cache,

无写分配,无写缓冲.求平均存储访问时间。

实验数据如下:

访问类型总次数指令数据数据读数据写

访问次数1000002 757341 242661 159631 83030

失配次数24930 20311 4619 2276 2343

word from memory: 90348

word copied back: 83030

3.“Computer Architecture—A Quantitative Approach” 3nd edition

P515, Exercise 5.4 (a, b, c, d )

Assume that the L1 cache uses the “ no-write-allocate” policy and the L2 cache uses the write-allocate policy when write miss happens.

相关文档
最新文档