计算机组成原理--存储器层次机构-2.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成原理--存储器层次机构-2

3.8 高速缓冲存储器Cache Cache引入: 为解决CPU和主存之间的速度差距,提高整机的运算速度,在CPU和主存之间插入的由高速电子器件组成的容量不大,但速度很快的存储器。 3.8.1 Cache存储器的工作原理 程序访问的局部性 在较短时间内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。这种对局部的存储器地址频繁访问,而对此范围以外的地址范围甚少的现象就称为程序访问的局部性。 1. Cache 的组成 CPU与Cache之间的数据交换是以字为单位,而Cache与主存之间的数据交换是以块(页)为单位,一个块(页)是由若干字组成,是定长度的。 Cache内部是用同主存内部同样大小的块组成,由于Cache存储容量小,所以块的数目少。 在Cache中,每一块外加有一个标记,指明它是主存的哪一块的副本,所以该标记的内容相当于主存中块的编号,块内字节数与主存相同。 Cache工作流程 CPU送出主存(大)地址,命中(hit),此大地址变换成Cache(小)地址并送Cache,将读出的字传送到CPU的DB;不命中(miss),主存将读出的字送到DB,同时,将该字所在块(若干个字)送到Cache,若Cache中可以装入就直接写入,不能装入就根据一定的算法进行置换。 3.8.2 Cache的地址映像方式 地址映像:访问前,用某种函数或规则使主存地址与Cache地址具有某种逻辑对应关系,即把主存地址定位到Cache中。 地址变换:访问时,将主存地址按映像规则换成Cache地址的过程。 1. 全相联映像 允许主存中的每一个字块映像到Cache存储器的任何一个字块位置上,也允许从确实已被占满的Cache存储器中替换出任何一个旧字块。 标记位数多,是主存总位数减去块内的位数,使Cache标记容量加大。访问Cache时,需要和Cache的全部标记进行比较,才能判断出所访主存地址的内容是否已在 Cache中。 全部“比较”操作都要用硬件实现,通常由“按内容寻址的”相联存储器完成。 在具体操作时需要设立一个块号对照表,凡已装入Cache 中的主存块号其标识位都要置1,以便快速使用。 全相联映像方式是最灵活,但成本最高的一种方式。实际中较少使用。 例1:某机主存为1MB(20位),要求每页512B(9位 ),要划分2048页(占11位);Cache为8KB(13位),每页512B,要划分16页(4位)。 2. 直接映像 直接映像函数可定义为: j= i mod 2c 其中,j 是Cache 的字块号,i 是主存的字块号,主存中有2m 个块,字块大小为2b 字,Cache中有同样大小的2c 个块。c是Cache高位地址位数,b是Cache低位地址位数 。 先将主存分成与Cache同样大小的若干个区(组),每个区中的某个块只能固定调入Cache 中的对应块,如第0 块,第2c 块,第2c+1块,… ,只能映像到cache 的第0 块,而主存的第1 块,第2c+1块,第2c+1+1块,… ,只能映像到 Cache的第1块等。对应关系是固定的并有一定限制。 直接映像 优点:实现简单,只需利用主存地址,按某些字段直接判断,即可确定所需字块是否已在 Cache存储器中。 缺点:不够灵活,即主存的2t个字块只能对应唯一的Cache存储器字块。因此,即使Cache存储器别的许多地址空着也不能占用。这使得Cache存储空间得不到充分利用,并降低了命中率。 例2:某机主存为1MB,每页512B ,这样划分2048页,共分0~127个区,每区16页;Cache为8KB,每页512B,划分16页(行)。

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档