Digital-electronics 简明教程
Cache Memory Design
Cache memory 是一种可以加速 CPU 的高速半导体存储器。它充当了 CPU 和主存储器之间的缓冲器。它用于保存 CPU 最常使用的那些部分数据和程序。在操作系统将数据和程序的部分从磁盘传输到高速缓存存储器时,CPU 便可从中读取数据和程序。
在本章节,我们将详细阐述高速缓存存储器及其优点和缺点。
What is Cache Memory?
在计算机等数字系统中,高速缓存存储器是一种高速易失性半导体存储器,用于存储由系统中央处理器频繁访问的数据和指令。
高速缓存存储器充当处理元件和主存储器/主存储器之间的缓冲器,更具体而言是 RAM(随机存取存储器)。它主要用于针对最近和最常使用的数据和程序提供更快的访问。
高速缓存存储器用于提高数字系统的性能和效率,因为它减少了访问数据所需的时间。
Cache Memory Design
在本文的本节中,我们将探讨缓存存储器设计的不同概念:
Cache Memory Hierarchy
高速缓存存储器通常按多个层次结构组织,其中每个层次称为高速缓存层次或高速缓存层。计算机系统通常具有多个高速缓存层次,最常见的是 L1(1 级高速缓存)、L2(2 级高速缓存)和 L3(3 级高速缓存)。其中,L1 高速缓存存储器是最小、最快速且最靠近系统 CPU 的,而 L2 和 L3 高速缓存存储器比 L1 高速缓存更大且更慢。
Mapping Techniques for Cache Memory
映射技术用于确定内存块如何映射到高速缓存块。以下三种类型的缓存映射技术通常使用:
-
Direct Mapping - 直接映射是一种简单的缓存映射技术,其中每个内存块被映射到某个缓存块中。然而,此技术可能导致很高的冲突率。
-
Fully Associative Mapping − 在映射技巧上,每个内存块都可以放在任何缓存块上,所以此技巧具有很高的灵活性。然而,它需要添加硬件。
-
Set Associative Mapping − 该映射技巧是直接映射和全相连映射的组合。在此技巧上,缓存被分割成了缓存集,并且每个内存块都可以放在任何缓存块内,与它的相应缓存集相匹配。
Cache Replacement Algorithms
当一个内存块被要求访问同一个已经被占用的缓存块时,cache replacement algorithm 被用来决定内存块应该被替换成哪个,目的是为新内存块在 cache memory 中腾出空间。
以下三个是常用的 cache replacement 算法 −
-
First-In First-Out (FIFO) Algorithm − 此算法会替换掉在缓存中待得时间最长的内存块。
-
Least Recently Used (LRU) Algorithm − 此算法会替换掉最近被获取的次数最少的内存块。
-
Random Replacement (RR) Algorithm − 该算法会随机替换掉任意一个内存块。
Types of Cache Memory
按照“层级”对 cache memory 进行分类。其中,每层描述了数字系统中处理元件的可访问性和亲密性。
cache memory 的分类包括以下三个层级 −
L1 (Level 1) Cache Memory
它也被称作 primary cache memory。L1 cache memory 的速度最快。但它体积很小,且主要用在 CPU cache 形式的处理器芯片上。
Features of Cache Memory
cache memory 的关键特点如下 −
-
高速缓存存储器比主存储器更快。
-
与主存储器相比,它消耗的访问时间更少。
-
它存储可以在短时间内执行的程序。
-
它存储数据以供临时使用。
Advantages of Cache Memory
在数字系统中,cache memory 提供了许多的优点,因为它可以改善系统的整体运行状况和效率。cache memory 的一些主要优点如下 −
-
cache memory 提供了更快的存取速度,并减少了总的存取时间。cache memory 的此特性有助于加速任务的执行。
-
cache memory 有助于减少内存延迟,方法是存储最近使用和最常使用的的资料和指令。同时,它最大限度地减少了对较慢主内存或 RAM 的依赖。此特点也会改善系统运行状况和效率。
-
cache memory 和 CPU 以相同的速度运行。因此,它可以持续提供输入资料和指令,减少 CPU 的空闲时间。所以,它也改善了 CPU 使用。
-
高速昂贵的 cache 内存与低速便宜的主内存之间的差距是由 Cache 存储器弥合的。在速度、容量和成本之间取得了平衡。