我对CPU处理指令与石英晶体振荡频率之间的理解似乎存在差距。 CPU的频率究竟是如何影响程序运行的速度的?时钟速率和给定时间内处理的指令数之间是否存在关系?
示例:mov R0, #1
。假设这个指令需要一个时钟周期,那么这需要对晶体进行一次曝光,还是不能像那样工作?
答案 0 :(得分:2)
它没有,它在很大程度上取决于具体的处理器设计。粗略地说,在70年代末和80年代,微处理器需要多个时钟周期来执行指令。 RISC处理器在90年代处于鼎盛时期,他们的重点确实是在单个周期中使用指令,在必要时简化指令集。在很大程度上取代了2000年代具有多个执行内核的处理器设计,允许每个时钟周期停止多条指令。
时钟电路也有类似的发展。现代处理器使用相对低频的振荡器,并使用片上乘法器来达到千兆赫范围。并动态地改变频率。
答案 1 :(得分:2)
时钟频率对处理器速度的估计非常差。在旧的(2000年前?)天,时钟频率是一个非常好的速度估计。更高的时钟频率总是意味着更好的性然而,这些日子并非如此。你可以拥有一个需要20个时钟周期才能完成任何工作的4GHz处理器,并且它会比在一个时钟周期内执行所有内容的1GHz处理器慢得多。这条指令:时钟周期比率在过去几年变得更加复杂。现在,需要考虑L1和L2缓存。如果存在高速缓存未命中,则通常需要额外的时钟周期或两个...然后存在无序执行和优化机制,这些机制可能导致除法指令从小于1(有点)到10个时钟周期。还有超线程,这意味着当另一个线程正在使用一个组件时,另一个线程将不得不等待额外的时钟周期......我可以继续这样做。
基本上,不要。除非您正在处理简单的嵌入式(即非ARM或x86)架构,否则时钟频率与指令/秒的关系不大。当然,两个等效的处理器,其中一个使用更高的时钟,理论上应该产生更高的指令/秒,但任何人都猜测每秒多少指令。