CPU时钟频率就是指CPU的主频,二者是指同样的东西,没有区别。
CPU频率是指CPU每秒脉冲次数,周期是CPU完成一次同步脉冲所需的时间。
书上说“一个单位周期(这里单位周期指1秒,其实说单位时钟更准确)内完成指令数的多少”是针对较老的并且理想化的CPU模型而言的,也不能算错,但对于现在的主流CPU而言并不非常适用。
对于理想的基础架构的CPU而言(5级流水线),每周期(即CPU的一次同步脉冲)处理1条指令(32位的CPU即每指令4个字节)。比如假设CPU的主频为2.0GHz,即就是每秒种可以完成2G(1G约10亿)次的运算(32位CPU每次可以处理1条32位指令)。所以,对于理想模型的CPU,单位时间(1秒)完成指令数等于CPU的主频(CPU在1秒内脉冲次数)。
但实际上现在的CPU有10-30级流水线(根据产品的不同而不同),而且又有多个核芯,并且扩展指令集可能支持超线程技术(即一条指令还没有走完所有的流水线,就开旨执行下一条指令),因此理论上每时钟周期可能完成3-4次运算(甚至更多),即每秒钟完成60-80亿次运算。当然,这只是很理想的状况,实际情况复杂许多,比如存储延时、分支预测失败、程序本身是否支持多线程等等。因此,在这种情况下,CPU 1秒完成的指令数并不等于CPU的主频,甚至CPU每一秒钟完成的指令数都可能不一样。
CPU除了“主频”之外,还有外频、倍频(主频=倍频*外频);CPU的I/O频率有前端总线频率(FSB)、QPI总线频率(Intel CPU)、HT总线频率(AMD CPU);集成内存控制器的CPU还有内存控制器频率等参数。
影响CPU性能的除这些频率参数外,还有一级、二级、三级缓存容量、核芯数量的多少、指令集及扩展指令集、CPU流水线级数等等。