深入解析计算机组成原理中Cache与主存的地址映射机制,帮助理解直接映射、全相连映射和组相连映射的核心区别。通过具体计算实例,展示如何根据不同映射方式设计主存地址格式,为考试复习提供实用指导。
智能速览
直接映射地址格式由主存字块标记、Cache字块地址和字块内地址组成
全相连映射只需标记和字块内地址两部分
组相连映射通过调整Cache字块地址位数实现不同路数
地址位数计算需考虑主存容量、Cache容量和块大小
二路组相连下Cache字块地址减少1位,主存标记增加1位
精华内容
Cache与主存的映射关系是计算机组成原理的核心考点,掌握不同映射方式的地址格式设计方法至关重要。
直接映射原理
直接映射方式下,主存被划分为多个组,每组大小与Cache相同。第0组的0号字块对应Cache的0号字块,第1组的0号字块也对应Cache的0号字块,以此类推。
主存地址格式分为三部分:主存字块标记、Cache字块地址和字块内地址。主存字块标记位数由主存容量除以Cache容量决定,表示主存可分多少组。
地址计算实例
在具体题目中,若主存容量为64K×16位,Cache容量为1K×16位,块长为4个16位字。
主存分64K/1K=64组,需要6位二进制表示,所以主存字块标记为6位。Cache分1K×16位/(4×16位)=256块,需8位表示。字块内地址因块长为4字,需2位表示。故直接映射地址格式为6-8-2。
全相连映射
全相连映射方式下,任意主存字块可映射到Cache任意位置。地址格式简化为两部分:主存字块标记和字块内地址。
在相同条件下,全相连映射地址格式为14-2,即主存字块标记14位,字块内地址2位。这种方式灵活性高但实现复杂。
组相连映射规律
组相连映射结合直接映射和全相连的特点。二路组相连时,Cache每行存放2个字块。
地址格式变化规律:n路组相连时,Cache字块地址位数减少log₂n位,主存字块标记增加相应位数。如二路组相连时,地址格式变为7-9-2。四路组相连时,变为8-8-2。
容量变化影响
当主存容量变为512K×32位,块长不变时,需重新计算。
四路组相连映射下,主存分512K×32位/(4K×32位)=128组,需7位。但Cache实际行数因四路相联减少2位,所以主存字块标记为7+2=9位,Cache字块地址为8-2=6位,字块内地址仍为2位。
掌握Cache映射原理的关键在于理解地址分段的计算逻辑,通过实例练习能够灵活应对不同参数的变化。深入理解这些概念,将为学习计算机体系结构打下坚实基础,你准备好挑战更复杂的内存管理问题了吗?
关键评论
之前没懂的,UP给我讲懂了
讲的很清楚,可以讲一下cache命中率这块嘛
要考试了,快快更新
继续求更计组