本文主要是介绍Cache —— Cache和主存的映射方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、地址映射和地址变换
地址映射:地址映射是一种规则,它指明了把主存地址空间映射到Cache地址空间所用的规则,即把存放在主存中的程序按照某种规则装入Cache。由于Cache的块数比主存块数少得多,因此需要加入 主存字块标记 和 字块内地址
地址变换:地址变换是一个过程,它是指CPU在访存时,将主存地址按映射规则换算成Cache地址的过程。
二、全相联映射
可以把主存数据块装入 Cache 中的任何位置。全相联映射方式的优点是比较灵活,Cache 块的冲突概率低,空间利用率高,命中率也高,缺点是地址变换速度慢,实现成本高。
主存地址结构为
- 主存字块标记:指明当前 Cache 是主存中哪一块的副本。
- 字块内地址:由于Cache块和主存块都是由若干字节组成的,当需要访问某一个字时,需要找到该字在指定的 Cache 块中的地址。
示例
问题:求Cache的总容量并简述访存过程(设访存的地址为0123456H,即 0000 0001 0010 0011 0100 0101 0110)
(1)Cache的总容量:
主存地址有28位( 256 M B = 2 28 B 256MB=2^{28}B 256MB=228B),其中6位为块内地址( 2 6 B = 64 B 2^6B=64B
这篇关于Cache —— Cache和主存的映射方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!