学习目标:
1.掌握考虑Cache模块后CPU性能模型的改进原因及提升方法
一、概念回顾:经典性能模型
在前几节课的学习中,我们知道CPU执行时间=程序的指令数*平均每条指令所需的时钟周期数*时钟周期。其中,Cache对“程序指令数”和“时钟周期”通常不会有影响,而对“每条指令所需的时钟周期数”存在一定影响。如果没有Cache,访存指令会花费更多的时钟周期访问主存,导致在访存过程中出现过多的“缺失”。
二、平均访问时间
命中时间、缺失率、缺失代价是衡量Cache性能的三个主要指标,具体描述如下所示:
但是这三个指标之间可能是彼此矛盾的,优化其中的一个也许可能会损害其他几个的性能。为了能够做出合理的设计权衡,我们采用一种新的方法来作为统一指标:平均访问时间。
计算公式为:平均存储访问时间=命中时间+缺失率x缺失代价
利用“缺失率”和“缺失代价”改进性能模型:
改进后的CPU时间=程序的指令数*每条指令所需的时钟周期数*时钟周期
=程序的指令数*(正常执行时平均每条指令所需的时钟周期数+平均每条访存指令访问存储器时发生缺失的时钟周期数)*时钟周期
=程序的指令数*(正常执行时平均每条指令所需的时钟周期数+访问存储器的指令比率*缺失率*缺失代价)*时钟周期
学习小结:
通过本节课的学习,我了解到了考虑Cache模块对CPU性能模型的提升有很大的影响。通过优化后的“平均访问时间”,可以帮助系统用不同的方式降低缺失率和缺失代价,从而提升整体性能。
在本节课以及结合前两节我对于计算机组成原理的Cache模块博客的学习中,我更加深切的体会到Cache模块的应用可以减少CPU访问主存的次数,从而提高计算机整体性能。我还通过了解Cache的工作原理和应用,我明白了其缓存机制如何对CPU执行效率产生积极的影响。在处理复杂程序时,Cache能够提高指令和数据的读取速度,从而加快程序的执行。此外,在实践课的课堂演示中,我也了解到Cache与CPU之间的交互方式,以及如何优化Cache的大小和替换策略以进一步提高计算机性能。