缓存访问时间如何限制核心的最大频率?

时间:2013-09-13 14:08:08

标签: computer-science computer-architecture

想象一下,我们有一个带有L1缓存的核心芯片。 L1高速缓存的访问时间如何限制核心可以达到的最大频率?

是否有某种公式可用于计算核心的频率,考虑到访问时间?那么,例如,如果访问时间是两倍高,那么频率是低两倍吗?

到目前为止,我已经读过访问时间是1 /频率,这是正确的吗?

提前致谢。

3 个答案:

答案 0 :(得分:1)

那么,这取决于为内存访问分配了多少个管道阶段。在较旧的5级MIPS架构中,获取是1个周期;在现代英特尔14级流水线上,它是3个周期;在某些ARM上,它是2个周期等。基本上对于N周期取指令,最大频率为N /(L1延迟)

答案 1 :(得分:0)

我的(非公式)答案如下:

  • cpu - > L1缓存(数据和指令) - >存储器

如果CPU能够以比L1缓存从内存获取指令和/或数据的速度快得多的速度运行,那么总流水线速度将受到最低速度的限制,即cpu将以较低的速度运行L1缓存。

为了防止这个问题,我们有许多技术,如缓存预取,并行内存访问的内存库等,以保持CPU以最高速度运行。

答案 2 :(得分:0)

什么样的芯片,什么是微架构?

我没有看到任何直接连接 - 如果你花费更长的时间访问缓存而不是一个周期,你可以在加载/存储后引入一个气泡,如果你是有序的,或者如果你没有做任何事情是一个无序的CPU(因为加载/存储的消费者可以等待数据返回,而其余的指令正在进行)。

你可以说在有序的cpu中,延长周期持续时间(较低的频率)是一个更好的权衡,但这是一个设计问题。如果您的平均代码几乎没有任何内存操作怎么办? (即您正在优化计算密集型代码)