缓存与内存层次结构详解
在计算机系统中,缓存和内存层次结构对于提升系统性能起着至关重要的作用。下面将详细介绍缓存替换策略、写入策略、缓存数量以及缓存一致性等方面的知识。
缓存替换策略
在较大关联性的情况下,精确实现最近最少使用(LRU)或最不经常使用(LFU)算法成本过高,因此常采用近似算法或其他方案。其中,随机替换是一种常用的方法,因为它实现简单,且模拟结果表明,随机替换的性能仅略逊于LRU或LFU等更复杂的方法。
写入策略
缓存包含了部分内存块。当处理器对当前存储在缓存中的内存块进行写访问时,缓存中的引用块肯定会被更新,以确保下一次读访问能返回最新值。但问题是,主内存中的相应内存块何时更新呢?这就涉及到写入策略,主要有直写(write-through)和回写(write-back)两种。
直写策略
直写策略下,对缓存块的修改会立即传输到主内存,从而保持缓存和主内存的一致性。这种方法的优点是,像I/O模块等可以直接访问主内存的设备,总能获取到内存块的最新值,这在多核系统中尤为重要。然而,直写的缺点是每次缓存写入都会引发主内存写入,而主内存写入通常至少需要100个处理器周期才能完成,这可能会减慢处理器速度。为避免处理器等待,可使用写缓冲区来存储待写入主内存的操作。当写缓冲区满时,会发生写停顿,处理器必须等待缓冲区有空闲条目。
操作步骤如下:
1. 处理器发起写操作。
2. 数据同时写入缓存和写缓冲区。
3. 处理器继续执行,无需等待主内存写入完成。
4. 主内存写入完成后,释放写缓冲区条目。
5. 若写缓冲区满,处理器等待至有空闲条目。
超级会员免费看
订阅专栏 解锁全文
6047

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



