
任何程序要执行都需要从主存储器调入Cache中,将主存储器数据调入Cache的过程称之为地址映像。地址映像有直接映像、全相联映像和组相联映像三种方式。
直接映像:将主存储器每页复制到固定的Cache页中,将主存的地址与Cache地址直接对应,即主存的地址与Cache的地址相同。
全相联映像:主存储器每页可映射到Cache的任意一页。
组相关映像:将Cache分为多个组,主存储器中的各页与Cache中各组有固定的映射关系。
【例题】 某32位计算机的cache容量为16KB,cache块的大小为16B,若主存与cache的地址映射采用直接映射方式,则主存地址为0X1234E8F8H的单元装入的cache地址是多少?
【解答】Cache容量为16KB,Cache块的大小为16B,则Cache分为1024页,210=1024,则需要10位来表示Cache页号,直接映射将主存地址直接作为Cache页号,由于主存地址是32位,则取主存地址的后十位作为Cache页号。
将1234E8F8H转换为二进制为0001 0010 0011 0100,其最后十位为:10 1000 1111 1000,转换为十六进制为0X2EF8H。
你可以按照这个算一下
高速缓存cache的主要作用是为了解决CPU运算速度与内存读写速度不匹配的矛盾。
Cache工作的基本原理是利用程序访问的局部性原理,包括空间局部性和时间局部性。
计算机在运行程序时首先将程序从磁盘读取到主存,然后CPU按规则从主存中取出指令、数据并执行指令,但是直接从主存(一般用DRAM制成)中读写是很慢的,所以我们引入了cache。
在执行程序前,首先会试图把要用到的指令、数据从主存移到cache中,然后在执行程序时直接访问cache。如果指令、数据在cache中,那么我们能很快地读取出来,这称为“命中(hit)”。
如果指令、数据不在cache中,我们仍旧要从主存中拿指令、数据,这称为“不命中(miss)”。命中率对于cache而言是很重要的。
实际上cache是一个广义的概念,可以认为主存是磁盘的cache,而CPU内cache又是主存的cache,使用cache的目的就是伪造出一个容量有低层次存储器(如磁盘)那么大,而速度又有寄存器(如通用寄存器)那么快的存储器,简单来说就要让存储单元看起来又大又快。
高速缓冲存储器是存在于主存与CPU之间的一级存储器,具体作用如下:
在计算机技术发展过程中,主存储器存取速度一直比中央处理器 *** 作速度慢得多,使中央处理器的高速处理能力不能充分发挥,整个计算机系统的工作效率受到影响。
有很多方法可用来缓和中央处理器和主存储器之间速度不匹配的矛盾,如采用多个通用寄存器、多存储体交叉存取等,在存储层次上采用高速缓冲存储器也是常用的方法之一。很多大、中型计算机以及新近的一些小型机、微型机也都采用高速缓冲存储器。
扩展资料Cache组成部分
主要由三大部分组成:
Cache存储体:存放由主存调入的指令与数据块。
地址转换部件:建立目录表以实现主存地址到缓存地址的转换。
替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。
参考资料来源:百度百科-高速缓冲存储器
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)