存储体系

寄存器

寄存器是处理器内部非常小但极其快速的存储单元,直接嵌入在CPU核心中。它们用于存储指令、数据和地址信息,是CPU执行指令时最先访问的存储区域。寄存器的数量相对有限,但访问速度极快,几乎与CPU的运算速度一致。由于寄存器的数量和大小都很有限,它们主要用于存储当前指令执行中最为关键的数据。

片上缓存 (on-chip cache)

片上缓存是一种位于 CPU 内部的 Cache(缓存)。在计算机架构中,Cache 是指一种快速的存储层,目的是存储临时指令和数据,以便于快速访问。这样 CPU 在执行任务时可以迅速获取这些信息,而不需要每次都去较慢的主内存(RAM)中读取数据。

片上缓存的主要目的是通过在CPU和主内存之间提供一个高速的临时存储区域来减少CPU访问主内存所需的时间。这种缓存通常分为几个层级(如L1、L2、L3),每个层级的大小和速度都有所不同。

  • L1缓存:它是最接近CPU核心的缓存,也是速度最快的缓存,但通常容量较小。L1缓存通常分为两个部分:一个用于存储指令(I-Cache),另一个用于存储数据(D-Cache)。
  • L2缓存:它的速度比L1慢,但容量较大。L2缓存有时候是每个CPU核心独享的,有时是几个核心共享的,这取决于具体的CPU设计。
  • L3缓存:这是更大容量的缓存,速度比L1和L2慢,但仍然比主内存快。L3缓存通常是CPU上所有核心共享的,用于存储所有核心都可能需要访问的数据和指令。

片外缓存(off-chip cache)

片外缓存(Off-chip cache)是指位于CPU芯片外部的缓存存储器。与片上缓存(On-chip cache)不同,片上缓存是直接集成在CPU芯片内部的,而片外缓存则是使用独立的芯片来提供缓存功能,这些芯片通过主板上的总线与CPU相连。片外缓存在早期的计算机系统中更为常见,尤其是在片上集成高速缓存成本较高,以及技术上还不那么可行的时期。

片外缓存的特点

  • 访问速度:相比于片上缓存,片外缓存的访问速度通常要慢一些,这是因为数据传输需要通过CPU与外部芯片间的物理连接,而这些连接的速度受限于主板上的总线速度。
  • 容量:由于不受CPU芯片尺寸的限制,片外缓存可以提供比片上缓存更大的存储容量。这对于某些需要大量缓存的应用场景来说是一个优势。
  • 成本:在一些情况下,使用片外缓存可能有成本优势,尤其是在可以使用标准化的缓存芯片时。但随着集成技术的发展,片上缓存的成本效益不断提高。

随着技术的进步,特别是半导体制造技术的提高,现代CPU能够在有限的芯片面积内集成越来越多的高速缓存,这使得片上缓存成为了主流。如今,片外缓存的应用已经相对较少,主要存在于一些特殊的或老旧的计算机系统中。现代系统中,缓存几乎完全是片上的,这样可以提供更高的性能。