没有合适的资源?快使用搜索试试~ 我知道了~
首页浅谈cache memory 王齐.pdf
资源详情
资源评论
资源推荐
版本说明
版本号
修改说明
备注
V0.01
初始文档
由 Wang, Qi,Yang, Xi,Zhu, Yuhao 书写
Contributors List
贡献者名单以字母排序,希望更多的人加入。
Wang, Qi
V0.01 初始稿
Yang, Xi
V0.01 初始稿
Zhu, Yuhao
V0.01 初始稿
Contents
版本说明........................................................................................................................................... 1
Contributors List ................................................................................................................................ 2
序 ...................................................................................................................................................... 1
第 1 章 有关 Cache 的思考 ............................................................................................................. 3
1.1 Cache 不可不察也 .............................................................................................................. 4
1.2 伟大的变革 ........................................................................................................................ 6
1.3 让指令飞............................................................................................................................ 8
1.4 Crime and Punishment ...................................................................................................... 13
第 2 章 Cache 的基础知识 ............................................................................................................ 17
2.1 Cache 的工作原理 ............................................................................................................ 17
2.2 Cache 的组成结构 ............................................................................................................ 19
2.3 Why Index-Aware .............................................................................................................. 24
2.4 Cache Block 的替换算法 .................................................................................................. 28
2.5 指令 Cache ....................................................................................................................... 36
2.6 Cache Never Block ............................................................................................................. 40
第 3 章 Coherency and Consistency .............................................................................................. 46
3.1 Cache Coherency ............................................................................................................... 48
3.2 Memory Consistency 1 ...................................................................................................... 53
3.3 Memory Consistency 2 ...................................................................................................... 53
3.4 Memory Consistency 3 ...................................................................................................... 53
3.5 Memory Consistency 4 ...................................................................................................... 53
第 4 章 Cache 的层次结构 ............................................................................................................ 54
4.1 Cache 层次结构的引入 .................................................................................................... 54
4.2 存储器读写指令的发射与执行 ...................................................................................... 58
4.3 Cache Controller 的基本组成部件 ................................................................................... 64
4.4 To be inclusive or not to be ............................................................................................... 67
4.5 Beyond MOESIF ................................................................................................................. 73
4.6 Cache Write Policy ............................................................................................................. 82
4.7 Case Study on Sandy Bridge Cache Load ........................................................................... 87
第 5 章 Data Prefetch ..................................................................................................................... 91
5.1 数据预读.......................................................................................................................... 91
5.2 软件预读.......................................................................................................................... 93
5.3 硬件预读.......................................................................................................................... 95
5.4 Stream Buffer .................................................................................................................... 99
结束语 .......................................................................................................................................... 102
1
序
近些年,我在阅读一些和处理器相关的论文与书籍,有很多些体会,留下了若干文字。
其中还是有一片领域,我一直不愿意书写,这片领域是处理器系统中的 Cache Memory。我
最后决定能够写下一段文字,不仅是为了这片领域,是我们这些人在受历史车轮的牵引,走
向一个未知领域,所产生的一些质朴的想法。
待到动笔,总被德薄而位尊,知小而谋大,力少而任重,鲜不及矣打断。多次反复后,
我几乎丢失了书写的兴趣。几个朋友间或劝说,不如将读过的经典文章列出来,有兴趣的可
以去翻阅,没有兴趣的即便是写成中文也于事无补。我没有采纳这些建议,很多事情可以很
多人去做,有些事情必须是有些人做。
这段文字起始于上半年,准备的时间更加久远些,收集翻译先驱的工作后,加入少许理
解后逐步成文。这些文字并是留给自己的一片回忆。倘若有人从这片回忆中收益,是 我意料
之外的,我为这些意外为我的付出所欣慰。Cache Memory 很难用几十页字完成哪怕是一个
简单的 Survey,我愿意去尝试却没有足够的能力。知其不可为而为之使得这篇文章有许多未
知的结论,也缺乏必要的支撑数据。
在书写中,我不苛求近些年出现的话题,这些话题即便是提出者可能也只是抛砖引玉,
最后的结果未知。很多内容需要经过较长时间的检验。即便是这些验证过的内容,我依然没
有把握将其清晰地描述。这些不影响这段文字的完成。知识的积累是一个漫长的过程,是微
小尘埃累积而得的汗牛充栋。再小的尘埃也不能轻易拂去。
这些想法鼓励我能够继续写下去。
熙和禺皓的加入使本篇提前完成。每次书写时我总会邀些人参与,之前出版的书籍也是
如此,只是最后坚持下来只有自己。熙和禺皓的年纪并不大,却有着超越他们年纪的一颗坚
持的心。与他们商讨问题时,总拿他们与多年前的自己对照,感叹着时代的进步。他们比当
年的我强出很多。我希望看到这些。
个体是很难超越所处的时代,所以需要更多的人能够去做一些力所能及的,也许会对他
人有益的事情。聚沙成塔后的合力如上善之水。因为这个原因,我们希望能有更多的人能够
加入到 Contributors List,完善这篇与 Cache Memory 相关的文章。
Cache Memory 也被称为 Cache,是存储器子系统的组成部分,存放着程序经常使用的
指令和数据,这只是 Cache 的传统定义。从广义的角度上看,Cache 是缓解访问延时的 Buffer,
这些 Buffer 无处不在,只要存在着访问延时的系统,这些广义 Cache 就可以在掩盖访问延时
的同时,尽可能地提高数据带宽。
在处理器系统设计中,广义 Cache 的身影随处可见。在一个系统设计中,快和慢是一个
相对概念。与微架构(Microarchitecture)中的 L1/L2/L3 Cache 相比,DDR 是一个慢速设备,在
磁盘 I/O 系统中却是快速设备。在磁盘 I/O 系统中,仍在使用 DDR 内存作为磁介质的 Cache。
在一个微架构中,除了有 L1/L2/L3 Cache 之外,用于虚实地址转换的各级 TLB,在指令流水
线中的 ROB,Register File,BTB,Reservation Station 也是一种 Cache。我们准备书写的 Cache,
是狭义 Cache,是大家所熟悉的,围绕着处理器流水线和主存储器的 L1/L2/L3 Cache。这些
Cache 组成的层次结构,是微架构的设计核心。
广义 Cache 的设计可以在狭义的实现中获得帮助,却不是书中重点。在网络与存储这两
个热点话题中,算法层面之外的重中之重是广义 Cache 的管理问题。与云相关的各类概念中,
亟需解决的事情依然是算法与广义 Cache 管理。算法层面的实现需要考虑广义 Cache 的管理
策略,反之亦然。广义 Cache 与狭义 Cache 系统没有质的区别。这些 Cache 系统都是由数据
缓冲,连接缓冲的数据通路和控制逻辑这三个部分组成。
2
从算法角度上看,广义 Cache 的设计与实现比狭义 Cache 相比也许略微复杂一些;用实
现的角度上看,狭义 Cache 的设计复杂度远远超过大多数广义 Cache。读者也许终其一生没
有机会去体验狭义 Cache 系统的设计,依然可以从这些设计思想中受益。这些思想,可以应
用于复杂的处理器系统中,可以解决一些细致入微的性能问题。系统开发者在不断思考探索
的过程中,在挑战极限的奋斗中,在身旁最后一把利器寸寸折断后,杀虎屠龙。
我未曾想过书写一篇学术意义上完美的文章。我更愿意用工程师的语言完成写作,这并
不阻碍本篇内容的有理可依。所有这些想法使我不堪重负,在整个处理器系统的设计中,几
乎没有什么部件比 Cache Memory 系统更为复杂。
本篇书写的 Cache 系统以 Alpha,Power,UltraSPARC 和 x86 处理器为主线,这四个处理
器目前属于 Tier 1。虽然 Alpha 处理器已退出历史舞台,但是并影响其 Tier 1 的地位。我不
会 刻意去 书写目前较为流行的嵌入式处理器, because yesterday’s high-performance
technologies are today’s embedded technologies, but yesterday’s embedded-systems issues are
today’s high-performance issues.
在 Tier 1 处理器中,本篇偏重于 Intel 的 x86 处理器实现,不管有多少资料引证 Power
和 UltraSPARC 处理器的诸多优点,x86 处理器依然是使用最为广阔,影响最为深远的处理器。
单纯从结构上看,Intel 的 x86,即便是最新的 Sandy Bridge EP 处理器,也远未到达学术界意
义上的完美。但是在 Cache Memory 层面,Intel 的领先是事实。
我最初曾试使用英文书写这些文字,我已经记不清楚最后一次抱着学习的目的去读中文
技术类书籍是曾几何时,中文科技类书籍不能如此发展下去。我 远没有书写英文小说的能力,
依然有使用英文写科普文章的胆子,不用翻译的书写更加惬意。最终放弃了这个选择,因为
英文世界里有这样的文章,因为 Cache Memory 之外的内容,因为中文世界需要有人去贡献
一些勇气与智慧。
待到完成,总 留有遗憾。我习得从这些遗憾中偷得间隙,留一片空间给自己。书不尽言,
言不尽意总是无可奈何。这些文字很难给予我任何成就感,细看先驱的诸多著作后,留下的
是何足道后的反思。我安于反思后的平静。
在阅读这些文字前,希望您能够仔细阅读 John 和 David 书写的“A Quantitative Approach”。
我常备这本书,看了许多遍,字里行间内外的一些细节仍然不慎明了,写作时重温此书有了
新的收获,借此重新审读了下列文字。
这篇文章最初的版本是 0.01,书名叫浅谈 Cache Memory。
剩余111页未读,继续阅读
tanweinan281
- 粉丝: 6
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1