[分享]Cache的基本原理_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1964 | 回复: 1   主题: [分享]Cache的基本原理        下一篇 
lei.zhang
注册用户
等级:少校
经验:989
发帖:7
精华:0
注册:1970-1-1
状态:离线
发送短消息息给lei.zhang 加好友    发送短消息息给lei.zhang 发消息
发表于: IP:您无权察看 2015-10-13 10:02:03 | [全部帖] [楼主帖] 楼主

在设计和开发系统程序和应用程序时,程序员通常采用模块化的程序设计方法。某一模块的程序,往往集中在存储器逻辑地址空间中很小的一块范围内,且程 序地址分布是连续的。也就是说,CPU在一段较短的时间内,是对连续地址的一段很小的主存空间频繁地进行访问,而对此范围以外地址的访问甚少,这种现象称 为程序访问的局部性。

高速缓冲存储器(Cache)技术就是利用程序访问的局部性原理,把程序中正在使用的部分(活跃块)存放在一个小容量的高速Cache中,使CPU的访存操作大多针对Cache进行,从而解决高速CPU和低速主存之间速度不匹配的问题,使程序的执行速度大大提高。

1. Cache的功能

Cache是介于CPU和主存之间的小容量存储器,存取速度比主存快,接近CPU。它能高速地向CPU提供指令和数据,提高程序的执行速度。Cache技术是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。

Cache是主存的缓冲存储器,由高速的SRAM组成,所有控制逻辑全部由硬件实现,对程序员而言是透明的。随着半导体器件集成度的不断提高,当前 有些CPU已内置Cache,并且出现了两级以上的多级Cache系统。Cache系统与CPU和主存的关系如图3-12所示。

322.gif

2. Cache的基本原理

CPU与Cache之间的数据交换是以字为单位的,而Cache与主存之间的数据交换则是以块为单位的。一个块由若干个定长字组成。

当CPU读取主存中的一个字时,该字的主存地址被发给Cache和主存,此时,Cache控制逻辑依据地址判断该字当前是否存在于Cache中:若 在,该字立即被从Cache传送给CPU;若不在,则用主存读周期把该字从主存读出送到CPU,同时把含有这个字的整个数据块从主存读出送到Cache 中,并采用一定的替换策略将Cache中的某一块替换掉,替换算法由Cache管理逻辑电路来实现。

Cache原理图如图3-13所示。图中,按内容寻址的相联存储器(表),用于存放与Cache中数据相对应的主存地址,可以快速检索、判断CPU读取的某个字当前是否存在于Cache中。

323.gif

3. Cache的命中率

基于程序访问的局部性原理,增加Cache使得要访问的数据绝大多数都可以在Cache中找到,这样才能在性能上使主存的平均读出时间尽可能接近Cache的读出时间。Cache的工作效率通常用“命中率”来表示。

命中率指的是CPU要访问的信息在Cache中的概率,Cache的命中率越高,CPU访问主存的速度就越接近访问Cache的速度。通常 Cache的容量越大,存储的块也越多,CPU的命中率就越高。但是,当Cache的容量达到一定值时,命中率并不会随着容量的增大而增加,而且 Cache容量的增大将导致成本的增加,所以,Cache的容量一般是命中率与成本价格的折中。

在一个程序执行期间,设 Nc表示Cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有

324.gif

若tc表示命中时的Cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则Cache-主存系统的平均访问时间ta为:

325.gif

设e表示访问效率,则有

326.gif

为提高访问效率e,命中率h越接近1越好。命中率h与程序的行为、Cache的容量、组织方式、块的大小有关。

                                                                                                                ------------分享自上海交通大学,网络教育精品资源共享课




赞(0)    操作        顶端 
Leya
超级用户
等级:少校
经验:929
发帖:153
精华:0
注册:2012-3-6
状态:离线
发送短消息息给Leya 加好友    发送短消息息给Leya 发消息
发表于: IP:您无权察看 2015-10-13 11:18:00 | [全部帖] [楼主帖] 2  楼

公式什么的,对我这种数学成绩不好的人来说,看不懂!



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论