主存与cache的地址映射方式有哪三种
时间:2021-08-03
来源:互联网
今天PHP爱好者给大家带来主存与cache的地址映射方式介绍,映射方式有全相联方式、直接方式和组相联方式三种。直接映射可以将一个主存块存储到唯一的一个Cache行;全相联映射可以将一个主存块存储到任意一个Cache行;组相联映射可以将一个主存块存储到唯一的一个Cache组中任意一个行。希望对大家有所帮助。
本教程操作环境:windows10系统、Dell G3电脑。
cache是一种高速缓冲寄存器,是为解决CPU和主存之间速度不匹配而采用的一项重要技术。
CPU对存储器的访问,通常是一次读写一个字单元。当CPU访Cache不命中时,需将存储在主存中的字单元连同其后若干个字一同调入Cache中,之所以这样做,是为了使其后的访存能在Cache中命中。
因此,主存和Cache之间一次交换的数据单位应该是一个数据块。数据块的大小是固定的,由若干个字组成,且主存和Cache的数据块大小是相同的。
从Cache-主存层次实现的目标看,一方面既要使CPU的访存速度接近于访Cache的速度,另一方面为用户程序提供的运行空间应保持为主存容量大小的存储空间。
在采用Cache-主存层次的系统中,Cache对用户程序而言是透明的,也就是说,用户程序可以不需要知道Cache的存在。因此,CPU每次访存时,依然和未使用Cache的情况一样,给出的是一个主存地址。但在Cache-主存层次中,CPU首先访问的是Cache,并不是主存。
为此,需要一种机制将CPU的访主存地址转换成访Cache地址。而主存地址与Cache地址之间的转换是与主存块与Cache块之间的映射关系紧密联系的,也就是说,当CPU访Cache未命中时,需要将欲访问的字所在主存中的块调入Cache中,按什么样的策略调入,直接影响到主存地址与Cache地址的对应关系,这也就是本小节要解决的主存与Cache的地址映射问题。
主存与cache的地址映射方式有全相联方式、直接方式和组相联方式三种。
直接映射(directmapping)
将一个主存块存储到唯一的一个Cache行。
全相联映射(fullyassociative mapping)
可以将一个主存块存储到任意一个Cache行。
组相联映射(setassociative mapping)
可以将一个主存块存储到唯一的一个Cache组中任意一个行。
直接映射
多对一的映射关系,但一个主存块只能拷贝到cache的一个特定行位置上去。
cache的行号i和主存的块号j有如下函数关系:i=j mod m (m为cache中的总行数)
优点:硬件简单,容易实现
缺点:命中率低, Cache的存储空间利用率低
全相联映射
主存的一个块直接拷贝到cache中的任意一行上
优点:命中率较高,Cache的存储空间利用率高
缺点:线路复杂,成本高,速度低
组相联映射
将cache分成u组,每组v行,主存块存放到哪个组是固定的,至于存到该组哪一行是灵活的,即有如下函数关系:cache总行数m=u×v 组号q=j mod u
组间采用直接映射,组内为全相联
硬件较简单,速度较快,命中率较高
以上就是主存与cache的地址映射方式有哪三种的详细内容,更多请关注php爱好者其它相关文章!
-
比特币支持者PlanB猛烈抨击以太坊:“中心化且预挖的垃圾币” 时间:2025-05-01
-
比特币鲸鱼吸收了新挖矿比特币供应的300%—下一个目标是10万美元吗? 时间:2025-05-01
-
比特币交易员友情提示:BTC价格涨势或在9万美元位置停滞 时间:2025-05-01
-
喜讯微策略Strategy又砸5.5亿美元购买比特币!总持有量突破53.8万枚 时间:2025-05-01
-
比特币再度飙升至9万美元挺进!后续币价走势分析师看法分歧 时间:2025-05-01
-
到2030年,1比特币的价值将是多少?BTC真的能达到100万美元吗? 时间:2025-05-01
今日更新
-
css字体图标怎么用
阅读:18
-
vue如何动态增加css
阅读:18
-
ps字体怎么拉大缩小
阅读:18
-
动态网页采集技术类型包括哪几种
阅读:18
-
css怎么实现表格样式
阅读:18
-
css怎么设置上边框
阅读:18
-
京东内购宝是什么
阅读:18
-
jquery如何通过id修改css
阅读:18
-
ps对称工具在哪里
阅读:18
-
能使小键盘区在编辑功能和光标控制之间转换的按键是什么
阅读:18