上一期中我们介绍了处理器的地址转换机制和访问控制机制,这一期我们将考察处理器中的缓存机制。
一、处理器的缓存机制
计算机中用于存储的硬件设备主要有寄存器、缓存、主存和磁盘,处理器访问它们的速度依次减小。由于处理器对于不同数据的访问有不同的速度要求,计算机中构建了层次化的存储结构。对访问速度要求最高的数据往往放在寄存器中,访问速度要求稍低但对存储容量要求更高的数据放在主存中,对访问速度要求最低但对存储容量要求最高的数据放在磁盘里。缓存作为寄存器和主存的中间层级,可以由一级或多级不同大小的SRAM构成。处理器访问缓存的速度比访问主存更快,使用缓存存储处理器频繁访问的数据可以减少处理器访问主存的次数,从而减少处理器访存消耗的时间。下表列出了2006年时各存储器层次结构的典型参数[1]:

对于具有缓存的计算机来说,处理器在访问主存前会先在缓存中寻找是否有对应的数据。缓存中包含的是主存中内容的一个子集。如果在缓存中找到了处理器需要的块,那么发生缓存命中,否则发生缓存缺失。读操作和写操作都有命中和缺失的现象。写入操作的缓存缺失被称为写入缺失。
缓存可以由多级组成,处理器访问高一级的缓存并发生缓存缺失时,就会访问低一级的缓存。在本文中,我们将CPU越优先访问的缓存称为越高级的缓存。通常低级的缓存比高级的缓存大,以捕获更多的存储器访问,减少缓存缺失。
缓存背后的原理是程序的局域性。计算机程序通常有两种局域性,即时域局域性和空域局域性。时域局域性指被访问的数据在不久的将来还可能被访问;空域局域性指被访问数据附近的数据有可能被访问。用缓存保存被频繁访问的数据集可以减少处理器访问更低级的缓存和主存的次数,从而减少访存

本文深入探讨了处理器的缓存机制,包括缓存的层级结构、组织方式、替换策略及写入策略等关键概念,揭示了如何通过缓存提高处理器访问数据的速度。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



