Cache与主存的三种映射
直接映射
主存储器中一块只能映射到Cache的一个特定的块中。
具体步骤:
主存与高速缓存分成相同大小的数据块,主存容量是缓存容量的整数倍
将主存空间按照缓存的容量分成区,主存中每一区的块数与缓存中总块数相等
主存中某区的一块存入缓存时只能存入缓存中指定的位置,如果指定位置已被其他块的数据占用,则直接覆盖。
优点:最简单的地址映射方式,硬件简单,成本低,地址变换速度快,而且不涉及算法替换问题。
缺点:不够灵活,Cache的存储空间得不到充分利用,每个主存块只有一个固定位置可存放,容易产生冲突,Cache淘汰换出频繁,需要频繁的从主存读取数据到Cache,使得Cache效率下降。
全相联映射
主存储器的任意一块可以映射到Cache中的任意一块。
具体步骤:
主存与高速缓存分成相同大小的数据块
主存中的某一数据可以装入空闲高速缓存块的任意一块中,如果主存数据块已满,可以根据LRU替换算法或者随机替换算法替换其中一块。
**优点:**比较灵活,主存的各块可以映射到Cache的任一块中,Cache的利用率高,块冲突概率低,只要淘汰Cache中的某一块,即可调入主存的任一块。
**缺点:**由于Cache比较电路的设计和实现比较困难,这种方式只适合于小容量Cache采用。
组相联映射
直接映射和全相连映射的折中方案。
**具体步骤:**主存和Cache都分组,主存中一个组内的块数和Cache中的分组数相同,组间采用直接映射,组内采用全相连映射。
**优缺点:**是前两种方法的折中方案,兼顾二者的优点,尽量避免二者的缺点,因而得到普遍采用。
总结
以上是生活随笔为你收集整理的Cache与主存的三种映射的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: [计算机网络 谢希仁] 第一章
- 下一篇: [密码学] 公钥密码基础与RSA