我知道l1和l2缓存是多级缓存中的级别。
我想知道每一级缓存放置在哪里,以及允许的最大缓存级别是多少?
这两者都取决于CPU。有些CPU根本没有高速缓存,有些CPU在芯片上有L1高速缓存,而L2高速缓存在同一芯片上的单独芯片上,甚至在单独的芯片上,或者有些CPU同时具有L1和L2高速缓存与 CPU 核心位于同一芯片上。
存在多核、多芯片 CPU,其中每个核心在芯片上都有自己的 L1 缓存,一个多核芯片的 4 个核心共享芯片上的 L2 缓存,但位于单独的芯片上,并且 2 个芯片共享L3 缓存位于单独的芯片上,但位于同一封装中。有时,也有所谓的CPU书籍其中包含多个芯片封装,这些芯片封装可能有也可能没有自己的共享缓存,这将是一个 L4 缓存。
当然,多核芯片不必共享其二级缓存,它们也可以拥有私有二级缓存。
某个缓存是什么级别,甚至一块 RAM 是否是缓存,这些并不总是显而易见的。
例如,在后来的Intel 80486处理器上,芯片上有L1缓存,主板上有L2缓存。但随后 AMD 推出了一款兼容插槽的 CPU,芯片上同时具有 L1 和 L2 缓存。因此,主板上完全相同的缓存芯片要么是 L2 要么是 L3 缓存,具体取决于您使用的 CPU 类型。
在 Cell BE CPU 上,每个 SPE 具有 256 KiByte 的 RAM。除了该 RAM 的大小和速度与典型的 L2 缓存大致相同之外,并且由于 SPE 没有任何其他缓存,因此您也可以将其视为缓存。然而,缓存通常由 CPU 自动管理,而 RAM 通常由用户程序、语言运行时或操作系统而不是 CPU 管理。那么,这是 RAM 还是缓存?事实证明,为了获得最佳性能,您确实应该not将其视为 RAM,但更多地视为软件控制的缓存。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)