TLB与处理机cache

2021-05-12

术语:处理机,即处理器,比如Intel Core i7 4790k。处理机cache,即处理器缓存,L1、L2以及L3缓存。TLB,俗称快表,其具体翻译不详,目前有快表、转译后备缓冲器、转换检测缓冲区、页表缓存、转址旁路缓存以及更多,这里直接用缩写TLB。

结论:这是两个没有关系的处理器组件,放在一起说是因为我以为TLB位于处理机内置cache中。

TLB:首先说明,这一概念目前归属于操作系统这一门学科。现代操作系统需要使用虚拟地址来提供存储器抽象以服务进程,每次进程访问某一主存地址,则需要讲虚拟地址转换为线性地址或物理地址,记录这些转换的表,也就是页表位于主存中,那么每次转换都需要访问主存,对于高频访问的页面转换,予以空间换时间,将映射放在处理机内部的TLB中,以便于每次地址变换高速进行。顺便,用来进行地址变换的处理机单元为MMU,是硬件。

处理机缓存:这一概念跟操作系统没啥关系,甚至对于操作系统是透明的,但是在计算机组成原理中有cache的工作原理以及与主存的映射方式。有三种映射方式,全相联映射,组相联映射和直接映射。具体内容请参照参考链接。

详细结论:TLB和处理机缓存都是位于处理机中的缓存系统,TLB被MMU用来加速地址变换,cache被处理机用来加速访存,二者硬件相关性在于都位于处理机中,软件相关性在于都是缓存系统,但实际上没什么相关性。

参照资料:

TLB wiki

TLB与CPU cache的不同

现代操作系统 3.3.3 加速分页过程

处理器缓存对于操作系统是透明的吗

主存到cache映射方式