★★★★★
1.多级存储器体系
★计算机采用多级存储器体系,包括寄存器、Cache、主存储器、磁盘存储器、光盘存储器、磁盘存储器等
★存储器中数据常用的存取方式有顺序存取、直接存取、随机存取和相联存取等四种
★存储器系统的性能主要由存取时间、存储器带宽、存储器周期和数据传输率等来衡量
存取方式:
◆顺序存取
存储器的数据是以记录的形式进行组织,对数据的访问必须按特定的线性顺序进行。磁带存储器的存取方式就是顺序存取。
◆直接存取
共享读写装置,但是每个记录都有一个唯一的地址标识,共享的读写装置可以直接移动到目的数据块所在位置进行访问。因此存取时间也是可变的。磁盘存储器采用的这种方式。
◆随机存取
存储器的每一个可寻址单元都具有唯一地址和读写装置,系统可以在相同的时间内对任意一个存储单元的数据进行访问,而与先前的访问序列无关。主存储器采用的是这种方式。
◆相联存取
也是一种随机存取的形式,但是选择某一单元进行读写是取决于其内容而不是其地址。Cache可能采用该方法进行访问。
衡量存储器系统性能的指标有以下几种:
◆ 存取时间:一次读/写存储器的时间
◆ 存储器带宽:每秒能访问的位数。
◆ 存储器周期:两次相邻的存取之间的时间
◆ 数据传输率:每秒钟数据传输的bit数目。
2.Cache的概念
★Cache的功能:提高CPU数据输入输出的速率,突破所谓的“冯诺依曼的瓶颈”,即CPU与存储系统间数据传输带宽限制。
★在计算机的存储系统体系中,Cache是访问速度最快的层次
★使用Cache改善系统性能的依据是程序的局部性原理。
Cache对系统和应用程序员都是透明的.
3.命中率及相关问题
如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用"Cache +
主存储器"的系统的平均周期为t3,则
t3=h×t1+(1-h)×t2
其中,(1 - h)又称为失效率(未命中率).
4.淘汰算法
★先进先出-FIFO(First In First
Out):当需要替换时,总是淘汰最先调入Cache的页面内容
★最近最少使用-LRU(Least Recently
Used):当需要替换时,将最近一段时间内使用最少的页面内容替换
5.Cache的读写过程
★写直达:当要写Cache时,数据同时写回主存储器,有时也成为写通
★写回:CPU修改Cache的某一行后,相应的数据并不立即写入主存储器单元。而是当该行被从Cache中淘汰时,才把数据写回到主存储器中。
★标记法:对Cache中的每一个数据设置一个有效位。
6.地址映像
★常见的映像方法有直接映像、相联映像和组相联映像
★地址映像是将主存于Cache的存储空间划分为若干大小相同的页(或成为块)。
7.映像方式
★直接映象
■优点是实现简单,只需利用主存地址按某些字段直接判断,就可确定所需块是否已在Cache中。
■缺点是不够灵活。因为主存的2t个组(t为CACHE标记的位数)只能对应于唯一的Cache存储器行,即使Cache中有许多地址空着也不能占用,因而使Cache存储空间得不到充分利用。
★全相联映象
■全相联映像方式允许将主存中的每一个块映像到Cache的任何一个行。
■特点:非常灵活,但由于速度太慢且成本太高,比较器电路难于设计和实现,只适合于小容量CACHE采用。
★组相联映象
B1,B5,B253...Bmod4 映像到Cache的Smod4中。
其实组相联映象就是直接映象和全相联映象的折衷。在计算机里面,很多地方都是取一个折衷的方案,时间和空间的折衷。
把Cache分为N个组,用组来和主存直接映像,组内再全相联映象。
和我理解的方式不一样。
Cache转换中,把8位的标示(没理解张老师的7+1位)主存256组的哪组。然后从Cache组号直接映像到主存组内的页,再加上19位的页内地址,就得出具体的物理地址。
组内的那1位,只是在替换的时候,用全相联映像来逐个对比。