0.10 缓存与寄存器

1. 缓存

cpu 在80年代提速很快,但是内存的增速很慢,这就会带来一定的访问内存的性能瓶颈(performance bottleneck)。随着时间推移,最终内存的价格降下来了。

这个问题谁来解决?缓存 cache (static memory)和 RAM(dynamic memory)打配合,完美解决。

【从计算机底层认识指针!深入理解C语言指针!】 https://www.bilibili.com/video/BV1o8411T7K5/?share_source=copy_web&vd_source=59d47afd43812c161ca8ef67a1dfea4d

Intel® Core™ i7-11700 Processor 看L1缓存的速度 4000GB/S

2. 寄存器

CPU缓存和寄存器有什么关系?

CPU 缓存和寄存器都是计算机系统中用于提高数据访问速度的重要组件,但它们有不同的功能和特性,以下是它们之间的关系和区别:

功能不同:

  • 寄存器(Registers):寄存器是位于 CPU 内部的最快速的存储设备。它们用于存储 CPU 执行指令时需要的数据,如操作数和中间结果。寄存器可以直接在 CPU 中访问,因此访问速度非常快。CPU 通常有多个寄存器,如通用寄存器(用于一般目的计算)、专用寄存器(用于特定功能,如指令指针和堆栈指针)等。

  • 缓存(Cache):缓存是位于 CPU 和主内存之间的高速存储器。它用于存储最常用的主内存数据块的副本,以提高数据访问速度。缓存是以块的形式工作,一次可以加载多个连续的数据。缓存分为多级,通常有 L1 缓存、L2 缓存等,其中 L1 缓存最接近 CPU,速度最快。

访问速度不同:

  • 寄存器:寄存器的访问速度非常快,几乎与 CPU 内部的时钟周期同步

  • 缓存:缓存的访问速度比主内存快,但比寄存器慢。尽管如此,由于缓存的存在,CPU 通常能够更快地获取数据,而不必每次都从主内存中读取。

容量不同:

  • 寄存器:寄存器的数量通常有限,且容量非常小。它们主要用于存储临时数据。

  • 缓存:缓存的容量相对较大,可以存储多个数据块,每个数据块可能包含多个字节或字。

用途不同:

  • 寄存器:寄存器用于存储 CPU 执行指令时的数据和状态信息,如算术操作的操作数、循环计数器等。

  • 缓存:缓存用于存储主内存中的数据块,以减少 CPU 访问主内存的延迟。缓存是一种更高级别的内存层次结构。

Last updated