Linux时钟系列-03-从晶振频率到CPU主频
前面的文章我们提到,Linux服务器的原始时钟源是位于服务器主板上的频率为14.318MHz的晶振,该晶振的时钟信号经过主板的时钟发生器(Clock Generator)芯片,生成多种频率的时钟信号供系统使用,包括CPU、内存、PCIE等。
下图为GA P55A-UD3R主板搭载的晶振和时钟发生器芯片:
下图为HP DL360e主板搭载的时钟发生器芯片:
注意到,时钟发生器总是跟主晶振相邻,且距离CPU和内存不远,这样布线的原因主要是为了保持时钟线路的长度尽可能短。
因为CPU和内存等高速组件对时钟信号质量的要求较高,如果时钟信号线路距离太长,会增加时钟信号出错概率,影响系统稳定性。
晶振产生的14.318Hz的原始时钟信号经过时钟发生器后,可能会被处理成多种频率的时钟信号,供CPU、内存、PCIE等组件使用。
CPU使用的一般是100MHz的时钟信号,这个频率叫做CPU的基频或者外频,是输入到CPU管脚的原始时钟频率,CPU内部还有内置的时钟发生器电路,可以将100MHz的原始频率成倍放大(倍频),作为CPU工作的主频。
下图为HPE_ProLiant_DL380_Gen10的时钟频率情况:
Huanghe_2280_V2:
Lenovo_ThinkSystem_SR650:
Lenovo_ThinkServer_SR658H_V2:
但是100MHz这个基频也不绝对,比如这种:
Dell_PowerEdge_R730:
HP_ProLiant_DL580_G7:
这种应该不是原始配置,具体原因未知。