处理器缓存L1,L2和L3均由SRAM制成?


Answers:


12

通常,它们都是用SRAM实现的。

(IBM的POWER和zArchitecture芯片将DRAM存储器用于L3。之所以称为嵌入式DRAM,是因为它以与逻辑相同的处理技术类型实现,允许将快速逻辑与DRAM集成到同一芯片中。对于POWER4,off- L3芯片使用eDRAM; POWER7将L3与处理内核放在同一芯片上。)

尽管它们使用SRAM,但它们并非都使用相同的 SRAM设计。针对L2和L3的SRAM已针对大小进行了优化(在有限的可制造芯片尺寸下增加了容量,或降低了给定容量的成本),而针对L1的SRAM更可能针对速度进行了优化。

更重要的是,访问时间与存储的物理大小有关。使用二维布局,可以预期物理访问延迟大约与容量的平方根成比例。(非统一的高速缓存体系结构利用此功能以较低的延迟提供高速缓存的子集。最新Intel处理器的L3片具有类似的效果;本地片中的命中具有显着更低的延迟。)这种效果可以使DRAM高速缓存更快与DRAM高速缓存相比,因为DRAM体积更小。

另一个因素是,大多数L2和L3缓存使用标签和数据的串行访问,而大多数L1并行缓存访问标签和数据。这是一项功耗优化(L2丢失率高于L1丢失率,因此数据访问更有可能被浪费; L2数据访问通常需要更多的能量(与容量相关);并且L2缓存通常具有更高的关联性这意味着必须推测性地读取更多数据条目)。显然,在访问数据之前必须等待标签匹配,这将增加检索数据所需的时间。(L2访问通常也仅在确认L1未命中之后才开始,因此L1未命中检测的延迟会添加到L2 的访问延迟中。)

此外,L2缓存在物理上与执行引擎的距离更远。将L1数据高速缓存放置在执行引擎附近(以使L1命中的常见情况很快)通常意味着L2必须放置得更远。


好答案。但我不同意您的说法,即L2未命中率高于L1未命中率。当我们在内存层次结构中移至较低位置时,我们拥有的结构更大,提供的遗漏更少,但延迟增加了。
Harshavardhan Ramanna

@HarshavardhanRamanna是的,容量和关联性的提高有助于降低失误率,但较低级别的过滤器访问权限(传统的从L2转移整个块的操作会过滤掉该块中的短期空间局部性;点击仅在L2中计入一次访问,而区块本身很可能会在L1中提供点击次数以进行其他访问)。的未命中率下降(例如,与一个体面的命中率80%的L2并用95%的命中率的L1得到一个总99%的命中率)。
保罗·克莱顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.