所谓地址映像方式是指如何确定cache中的内容是主存中的哪一部分的副本,即必须应用某种函数把主存地址映像到cache中定位。
信息按某种方式装入cache中后,执行程序时,应将主存地址变换为cache地址,这个变换过程叫作地址变换。
地址映像方式通常采用直接映像、全相联映像、组相联映像三种:
1-直接映像
每个主存地址映像到cache中的一个指定地址的方式,称为直接映像方式。在直接映像方式下,主存中存储单元的数据只可调入cache中的一个位置,如果主存中另一个存储单元的数据也要调入该位置则将发生冲突。
地址映像的方法一般是将主存空间按cache的尺寸分区,每区内相同的块号映像到cache中相同的块位置。一般地,cache被分为2n块,主存被分为大小为2mb的块,主存与cache中块的对应关系可用如下映像函数表示:j = i mod 2n。式中,j是cache中的块号;i是主存中的块号。
直接映像是一种最简单的地址映像方式,它的地址变换速度快,而且不涉及其他两种映像方式中的替换策略问题。但是这种方式的块冲突概率较高,当程序往返访问两个相互冲突的块中的数据时,cache的命中率将急剧下降,因为这时即使cache中有其他空闲块,也因为固定的地址映像关系而无法应用。
2-全相联映像
主存中的每一个字块可映像到cache任何一个字块位置上,这种方式称为全相联映像。这种方式只有当cache中的块全部装满后才会出现块冲突,所以块冲突的概率低,可达到很高的cache命中率,但它实现很复杂。
当访问一个块中的数据时,块地址要与cache块表中的所有地址标记进行比较已确定是否命中。在数据块调入时存在着一个比较复杂的替换问题,即决定将数据块调入cache中什么位置,将cache中哪一块数据调出主存。为了达到较高的速度,全部比较和替换都要用硬件实现。
3-组相联映像
组相联映像方式是直接映像和全相联映像的一种折中方案。这种方法将存储空间分为若干组,各组之间是直接映像,而组内各块之间则是全相联映像。
它是上述两种映像方式的一般形式,如果组的大小为1,即cache空间分为2n组,就变为直接映像;如果组的大小为cache整个的尺寸,就变为全相联映像。组相联方式在判断块命中及替换算法上都要比全相联方式简单,块冲突的概率比直接映像低,其命中率也介于直接映像和全相联映像方式之间。
工业物联网新型实训系统由什么组成?如何实现?
全固态电视发射机中的高性能开关电源设计
线束装配用工装Holder应用原则
海泰方圆出席首届工业和信息化领域商用密码应用峰会
新荣耀未来的发展必然会更加迅捷
地址映像有哪三种方式
如何解决超音速巡航时的超高温难题?
一文看懂集成电路的设计流程
智能安防的关键技术
利用美声TA-1500发烧功放电路板装机
东莞首个无人机认证考核鉴定场成立,让更多群众掌握无人机安全飞行技巧
锅炉超压事故
Intel的10nm桌面处理器或将于明年初到来
dmx512控制器作用和特点是什么(工作原理及接线图)
关于实感技术的分析和应用介绍
MOS结电容(下)MOS的结电容应用特性分解
未来我们的食品会是工业机器人制造的吗
香港服务器出海访问的优势
高通、诺基亚完成基于全球5G NR标准的端到端互操作性连接测试
各大厂商开始积极推进智能家居生活战略