Introduction of ARM cache.ppt_第1页
Introduction of ARM cache.ppt_第2页
Introduction of ARM cache.ppt_第3页
Introduction of ARM cache.ppt_第4页
Introduction of ARM cache.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Introduction of ARM cache,为什么要了解cache和write buffer 程序员通过cache锁定,可以提高CPU效率 对I/O操作使用cache或write buffer技术,会产生访问错误 适时对cache进行清理,能够避免数据丢失 了解cache,能够加深理解编写自修改代码的危险性,什么是cache 法语单词,“隐蔽的存储场所” Cache相当于消费者和银行之间的钱财暂存场所,purse,Bank,cache,cache的实现原理,高速的计算能力,部分存储单元,低速的主存访问,0 x0004,0 x0008,0 x0010,0 x0014,成块读取数据到cac

2、he,高速cache访问,已使用,未使用,cache在系统中的位置 cache位于CPU内核和主存之间 MMU的处理器中cache的位置,主存,cache,MMU,主存,cache,MMU,处理器,地址总线,地址总线,数据总线,数据总线,虚拟cache,物理cache,处理器,Cache 写策略,单个读,整体写,单个读,单个读,写回法(write back),单个读,单个读,单个读,单个写,单个写,单个写,写通法(write through),Cache 两种写策略比较,Cache地址映射(最简单一种) 主存的空间通常 cache空间,主存,cache,直接映射的优、缺点 优点: 缺点:cac

3、he 颠簸(cache thrashing) 多个虚拟地址映射到同一个cache line,主存,cache,0 x00000014,0 x00001014,0 x00002014,0 xfffff014,0 xffffe014,0 xffffd014,采用3维Cache阵列降低颠簸概率 Cache被划分为多个相同way,主存,Cache 存储阵列,Way,Set,Cache line,Cache line的组成,目录信息段,valid,dirty,状态信息段,数据项段,带有cache的主存访问过程直接映射 DI = log2 (data size one cache line) SI = l

4、og2 (cache line number of one way) T = 32 - SI - DI,请求地址,Cache 存储阵列,Set 定位,1,有效性 检查,2,比较,data 定位,3,4,直接映射cache实例(cache size = 4K) DI = 4 SI = 8 T = 20,4K cache,块 (4k),请求地址,4G主存,带有cache的主存访问过程组相联映射 DI = log2 (data size one cache line) SI = log2 (cache line number of one way) T = 32 - SI - DI,请求地址,Cac

5、he 存储阵列,Set 定位,1,有效性 检查,2,比较,data 定位,3,4,相联度及各种映射的优、缺点 最大程度提高相联度 全相联,Cache访问结果(命中),请求地址,Cache 存储阵列,Cache 控制块,比较成功,命中,Cache访问结果(不命中),V失效,直接映射Tag 匹配失败,New data0,New data1,New data2,New data3,New data0,New data1,New data2,New data3,垃圾筐,Write back型,组相联cache反问失效 V失效 某个way的一个cache line的V为0: 直接拷贝一个cache li

6、ne Tag失效 所有way的相应cache line的tag匹配都失败: cache line 替换 替换算法 轮转法 victim = current allocated cache line + 1 随即法 victim = current allocated cache line + random number,Cache 清除和清理,0,0,0,0,清除(flush),清0,回写,清理(clean,只用于write back型的D-cache),Cache 清除 清除cache C语言函数举例(ARM926EJ-S) 清除D-cache _inline void flushDCache926(void) _asm MCR, P15, 0, C7, C6, 0; 清除I-cache _inline void flushCache926(void) _asm MCR, P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论