0

CPU处理指令与石英晶体的振荡频率之间,我的理解似乎存在差距。CPU 的频率究竟如何影响程序运行的速度?时钟频率与给定时间内处理的指令数之间是否存在关系?

示例:mov R0, #1。假设这条指令需要一个时钟周期,这是否需要晶体的一次振荡,或者它不会像那样工作?

4

2 回答 2

2

时钟频率是对处理器速度的一个非常非常差的估计。在过去(2000 年代之前?)的日子里,时钟频率是对速度的一个很好的估计。更高的时钟频率总是意味着更好的性能。然而,这些天来,事实并非如此。您可以拥有一个需要 20 个时钟周期来执行任何操作的 4GHz 处理器,它比在单个时钟周期内执行所有操作的 1GHz 处理器要慢得多。在过去的几年里,这条指令:时钟周期比的东西变得更加复杂。现在,需要考虑 L1 和 L2 缓存。如果缓存未命中,通常需要一两个额外的时钟周期。然后是乱序执行和优化机制,可能导致除法指令占用不到 1(有点)到 10 个时钟周期。

基本上,不要。除非您正在研究简单的嵌入式(即,不是 ARM 或 x86)架构,否则时钟频率与指令/秒几乎没有关系。当然,两个等效的处理器,其中一个使用更高的时钟,理论上应该每秒产生更高的指令,但任何人都猜测每秒有多少指令。

于 2013-01-09T20:51:06.687 回答
2

不是,这在很大程度上取决于特定的处理器设计。粗略地说,在 70 年代末和 80 年代,微处理器需要多个时钟周期来执行一条指令。RISC 处理器在 90 年代达到了鼎盛时期,他们的重点确实是对一条指令使用单个周期,并在必要时简化指令集以实现这一目标。很大程度上被 2000 年代具有多个执行内核的处理器设计所取代,允许每个时钟周期停用一条以上的指令。

时钟电路也有类似的发展。现代处理器使用频率相对较低的振荡器并使用片上乘法器来达到千兆赫范围。并动态改变该频率。

于 2013-01-09T20:38:49.427 回答