我对高频处理器和另一个处理器执行更多指令的问题

My questions about a processor with high frequency and another processor execute more instructions

1- 如果给定程序在频率更高的处理器上运行,是否意味着处理器总是每秒执行更多指令?

2- 如果处理器每秒执行更多给定程序的指令,是否意味着处理器总是能更快地完成程序?

If a given program runs on a processor with a higher frequency, does it imply that the processor always executes more instructions per second ?

一般来说,是的。时钟速度主要与每秒可以执行的指令数有关。总是?否。(例如,Itanium 每个周期执行 3 个。)

If a processor executes more of a given program's instructions per second, does it imply that the processor always finishes the program faster?

总的来说,是的。在现实世界中......考虑:

  • 如果时钟速度较慢的 CPU 有更大的缓存,那么它可以更快地完成程序,因为它不必经常访问内存。 (内存慢,缓存快)
  • 如果时钟较快的CPU主内存较慢,那么它可能运行程序速度较慢。 (只比较 DDR 和 DDR2)
  • 如果程序以任何方式处理硬盘,那么性能可能是相等的。 (与处理器本身相比,硬盘驱动器 非常缓慢 。)
  • 如果操作系统执行抢占式多任务处理(如许多现代操作系统),则另一个更高优先级的进程可能会接管 CPU 的时间,从而导致随机结果。
  • 如果您正在使用虚拟内存,那么页面错误的数量将影响程序的速度。更多 RAM,更少页面错误。 (这里的处理器只是随行。)
  • 如果较慢的时钟 CPU 有更好的分支预测算法,它可能 运行 程序完成得更快。
  • 与上一个相关,如果更快的CPU流水线设计不好,那么可能运行程序会变慢。

有数百种方法可以使一个处理器比另一个处理器更快。但是假设所有其他因素都相同,如果您提高处理器的时钟速度,它通常会更快地完成程序。1


1更快地达到时钟超过芯片或量子物理学的物理限制(以先到者为准)的点。