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

Computer science 缓存访问时间如何限制核心的最大频率?,computer-science,computer-architecture,Computer Science,Computer Architecture,想象一下,我们有一个带一级缓存的单核芯片。一级缓存的访问时间如何限制核心可以达到的最大频率 考虑到访问时间,是否有某种公式可用于计算核心频率?例如,如果访问时间是高的两倍,那么频率会是低的两倍吗 到目前为止,我已经了解到访问时间是1/频率,这是正确的吗 提前感谢。我的(非公式)答案如下: cpu->一级缓存(数据和指令)->内存 如果CPU能够以比一级缓存从内存获取指令和/或数据的速度快得多的速度运行,则总管道速度将受到最低速度的限制,即CPU将以一级缓存的较低速度运行 为了防止这个问题,我

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

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

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

提前感谢。

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

  • cpu->一级缓存(数据和指令)->内存
如果CPU能够以比一级缓存从内存获取指令和/或数据的速度快得多的速度运行,则总管道速度将受到最低速度的限制,即CPU将以一级缓存的较低速度运行


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

什么样的芯片,什么是微体系结构

我看不到任何直接连接-如果访问缓存的时间比单个周期长,如果您正常,则可以在加载/存储后引入一个气泡,如果您是一个坏了的CPU,则什么也不做(因为加载/存储的使用者可以在其余指令进行时等待数据返回)


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

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