![L2 缓存是否已停止加速?](https://linux22.com/image/799301/L2%20%E7%BC%93%E5%AD%98%E6%98%AF%E5%90%A6%E5%B7%B2%E5%81%9C%E6%AD%A2%E5%8A%A0%E9%80%9F%EF%BC%9F.png)
我正在阅读这个问题,其中提到L2缓存命中大约需要10ns:网络现在比磁盘更快吗?
不过我清楚地记得 486 代有 10ns 缓存 IC。谷歌搜索似乎支持了这一点(http://vogons.zetafleet.com/viewtopic.php?p=262795)。所以我的问题是,L2 缓存是否已经停止变快了?这是内存速度已经达到的根本限制吗?还是有其他问题在起作用?
答案1
i7 上的 L2 缓存命中(又称 L1 缓存未命中)约为 10 个周期,即大约 3 纳秒。请参阅这个文件, “L2 CACHE 的加载延迟为 10 个周期”。
此外,这根本就不是一个同类比较。'486 CPU 缓存芯片上的 10ns 只是从在缓存中找到条目到在缓存总线上获得结果之间的时间。它不包括将地址从 CPU 传送到缓存的时间、查询缓存标签以在缓存中找到条目的时间、确保缓存条目对于 CPU 将要执行的操作有效的时间,或将结果从缓存总线传送到 CPU 的时间。至少,您需要将查询缓存索引的时间加倍,以查看条目是否在缓存中。
高端 486 系统上的 L1 缓存未命中成本约为 200 纳秒。因此 L2 缓存的速度提高了约 75 倍。
答案2
多年来,网络一直比光盘速度更快 - 10G 和 40G Infiniband 已将其碾为灰烬。普通光盘的延迟在 100mbit 时被击败。随机 IO - 我无法用一张光盘满足 100mbit 的要求。
我认为 L2 的问题不在于它太慢——环境变得更好了。有 L3 缓存和更快的子系统内存,这在 486 倍时是一个严重的瓶颈。L1 缓存也已成为一个更重要的因素。
简单地说 - L2 缓存位于此处是因为那里最有意义,并且从经济角度来看也是如此。