logo科技微讯

CPU 缓存的作用和必要性

作者:科技微讯
日期:2021-03-23
📝 笔记

计算机在执行任务时,需要花很多时间把数据从一个地方挪动到另一个地方,例如从硬盘挪到内存,这个过程很慢。根据物理定律,容量大的存储设备往往比容量小的存储设备慢,当然容量小的存储设备价格更贵。

硬盘的容量可能比内存大 1000 倍,但是 cpu 从硬盘读取数据的时间,可能比直接从内存读取数据的时间,多一千万倍。CPU 中的寄存器堆(register file)容量很小,通常只能保存几百字节,但是它的速度可能是内存的 100 倍。寄存器堆和寄存器不一样,一个寄存器通常是 16bit、32bit 或 64bit。

Registre file is a small storage device that consists of a collection of word-size registers.

随着芯片技术的进步,CPU <-> 内存之间的速度差距越来越大,制约电脑运行速度的瓶颈不是 CPU,而是内存。为了处理这种 processor - memory gap,system designer 开始在 CPU 中添加一种叫 cache memories 的东西,用来保存处理器接下来可能会用到的信息。

CPU 缓存通常有 L1、L2 两级,L1 的速度差不多有寄存器那么快,它可能就整合在 CPU 上,更大的 L2 通过一种特殊的 bus 和处理器连接,可能比 L1 慢 5 倍。L1 和 L2 采用了一种叫 SRAM(random access memory)的技术。

Register files 也被称为 L0。

在计算机系统中,CPU 高速缓存(英语:CPU Cache,在本文中简称缓存)是用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层,仅次于 CPU 寄存器。其容量远小于内存,但速度却可以接近处理器的频率。
当处理器发出内存访问请求时,会先查看缓存内是否有请求数据。如果存在(命中),则不经访问内存直接返回该数据;如果不存在(失效),则要先把内存中的相应数据载入缓存,再将其返回处理器。(出自维基百科)

donation赞赏
thumbsup0
thumbsdown0
暂无评论