Answers:
您手中的物品比口袋中的物品要快,而口袋中的物品比橱柜中的物品要快,比Digikey的物品要快。我列出的每种连续存储类型都比前一种更大,但速度较慢。
因此,让我们两全其美,让您的手像Digikey仓库一样大!不,这是行不通的,因为现在他们不再真正地动手了。他们是一个炮弹,压倒了你。
较大的存储空间访问较慢的原因是距离。平均而言,更大的存储空间距离您更远。对于物理项目和RAM都是如此。
计算机内存占用物理空间。因此,较大的内存在物理上会更大,并且该内存中的某些位置在物理上会更远。由于速度限制,距离较远的事物需要较长的访问时间。在口袋和Digikey的情况下,速度限制是手臂的速度,也就是高速公路的速度限制。
对于RAM,速度限制是电信号的传播速度,门和驱动器的传播延迟以及同步时钟的常用用法。即使钱不是问题,并且您可以购买想要的任何可用的当今最快的RAM技术,但您将无法从中受益。如果愿意,请布置A4大小的L1高速缓存表,然后将CPU放在中间。当CPU要访问内存角处的某些内存时,字面上的请求将花费一纳秒的时间,而返回则需要一纳秒的时间。而且这还不包括通过,门和驱动器的所有传播延迟。这将严重降低3GHz CPU的速度。
由于同步逻辑的设计要比异步逻辑容易得多,因此一个“块”的RAM将以相同的时钟作为时钟源。如果要使整个内存成为L1高速缓存,则必须以慢速时钟为整个时钟计时,以应对内存中最远位置的最坏情况时序。这意味着远处的存储位置现在正在阻止本地的存储位置,这本来可以更快地计时。因此,最好的办法是对内存进行分区。高速缓存的最接近和最小的部分将使用最快的时钟。下一个最接近且最小的部分将使用稍慢的时钟等。
现在,您有了L1和L2缓存以及RAM。
这使我们想到了下一个原因,即功耗。
缓存实际上消耗了大量的功率。不仅是内存本身,还包括围绕它的所有逻辑,这些逻辑处理高速缓存行和主内存之间的映射。提高这种额外逻辑的性能可能会导致功耗增加。现在,对于某些应用程序(移动,嵌入式),您有更大的动力来保持高速缓存较小。
请参阅针对功率和性能优化的高速缓存设计折衷:案例研究(Ching-Long Su和Alvin M. Despain,1995年)。
撇开所有经济/性能/功耗因素,您的问题的答案是:它取决于许多微体系结构因素。
例如,请参阅此参考 -所有被测处理器的L1访问延迟测量为4个时钟周期。处理器的频率几乎相同,但是L1高速缓存的大小相差最多3倍。
在上面的测试中,跨几个不同处理器的L1持续等待时间恒定的原因在于缓存的微体系结构:缓存访问本身(从内存中获取数据)仅需要一个时钟周期。额外的三个周期用于解码访问,检查数据是否存在以及更多...在测试中的处理器之间,附加阶段的数量是相同的,因此访问延迟是相同的。
尽管有上述示例,但不能得出结论,缓存延迟与缓存的大小无关。如果有人试图实现一个非常大的L1高速缓存,那么执行高速缓存读取所需的所有操作的逻辑也会变得很大。在某些时候,通过所有这些逻辑的传播延迟将太长,并且事先仅花费单个时钟周期的操作就必须分成几个时钟周期。这将增加延迟。
假设所讨论的高速缓存是在SRAM中实现的,那么受高速缓存大小影响最大的模块是:行解码器和多路复用器。但是,即使是非常大的高速缓存,读出放大器也将受到影响:由于较高的电容而导致的位线上较小的电压摆幅将需要“更强”的读出放大器。据说,对逻辑速度的最严重影响将由导线互连电容增加-该电容对SRAM大小的依赖性大于线性。确切的细节是特定于实现的。
现在,L1缓存的延迟非常稳定,因为它们的性能至关重要。如果您尝试分析L2和L3缓存,则图片会变得非常复杂。
当您考虑使用多核处理器时,情况变得更加复杂-它们具有确保高速缓存一致性的其他逻辑。这导致另一个影响缓存访问延迟的因素:访问所有内核的内存的历史记录。
摘要
如您所见,您的问题绝非易事,无法完全回答。但是,如果您从经济和性能方面考虑,最好使用缓存,那么我想说它们的大小不会以任何明显的方式影响延迟。
对于感兴趣的读者:
该参考文献对现代CPU的性能因素进行了非常深入的分析。那里有很多与缓存有关的资料。需要对计算机体系结构和微体系结构原理有深入的了解(或者-要成为该领域的专业人士,必须了解的主题摘要)。
这里的CPU缓存测试工程师-注释中的Dave Tweed具有正确的解释。高速缓存的大小可在CPU的预期价格点上最大化性能。通常,高速缓存是裸片空间的最大消耗者,因此其大小会带来巨大的经济(和性能)差异。
看看英特尔的Ivy Bridge CPU系列页面:http : //ark.intel.com/products/codename/29902/Ivy-Bridge
高端Xeon配备30MB缓存,具有12个内核,售价约2700美元。具有3MB缓存(i3-3217)的低端i3整个笔记本电脑的价格仅为500美元(我无法单独找到它)。
Xeon具有极致的性能,但制造和测试成本也更高。i3便宜得多,但需要权衡的是较小的裸片尺寸,其中缓存是最大的一部分。