时钟频率(又译:时钟频率速度,英语:clock rate),是指同步电路中时钟的基础频率,它以“若干次周期每秒”来度量,量度单位采用SI单位赫兹(Hz)。它是评定CPU性能的重要指标。一般来说主频数字值越大越好。外频,是CPU外部的工作频率,是由主板提供的基准时钟频率。FSB频率,是连接CPU和主板芯片组中的北桥芯片的前端总线(Front Side Bus)上的数据传输频率。CPU的主频和外频间存在这样的关系:主频=外频×倍频。
简介在电子技术中,脉冲信号是一个按一定电压幅度,一定时间间隔连续发出的脉冲信号。脉冲信号之间的时间间隔称为周期;而将在单位时间(如1秒)内所产生的脉冲个数称为频率。频率是描述周期性循环信号(包括脉冲信号)在单位时间内所出现的脉冲数量多少的计量名称;频率的标准计量单位是Hz(赫兹)。电脑中的系统时钟就是一个典型的频率相当精确和稳定的脉冲信号发生器。频率在数学表达式中用“ f ”表示,其相应的单位有:Hz(赫兹)、kHz(千赫兹)、MHz(兆赫兹)、GHz【吉赫兹(1吉=1000000000)】。1
其中1GHz=1000MHz,1MHz=1000kHz,1kHz=1000Hz。计算脉冲信号周期的时间单位及相应的换算关系是:s(秒)、ms(毫秒)、μs(微秒)、ns(纳秒),其中:1s=1000ms,1 ms=1000μs,1μs=1000ns。传输码的时钟频率如图所示。
CPU主频CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。通常所说的某某CPU是多少GHz的,而这个多少GHz就是“CPU的主频”。很多人认为CPU的主频就是其运行速度,其实不然。CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力并没有直接关系。主频和实际的运算速度存在一定的关系,但至今还没有一个确定的公式能够定量两者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(缓存、指令集、CPU的位数等等)。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的CPU实际运算速度较低的现象。
比如AMD公司的AthlonXP系列CPU大多都能以较低的主频,达到英特尔公司的Pentium 4系列CPU较高主频的CPU性能,所以AthlonXP系列CPU才以PR值的方式来命名。因此主频仅是CPU性能表现的一个方面,而不代表CPU的整体性能。CPU的主频不代表CPU的速度,但提高主频对于提高CPU运算速度却是至关重要的。举个例子来说,假设某个CPU在一个时钟周期内执行一条运算指令,那么当CPU运行在100MHz主频时,将比它运行在50MHz主频时速度快一倍。因为100MHz的时钟周期比50MHz的时钟周期占用时间减少了一半,也就是工作在100MHz主频的CPU执行一条运算指令所需时间仅为10ns比工作在50MHz主频时的20ns缩短了一半,自然运算速度也就快了一倍。只不过电脑的整体运行速度不仅取决于CPU运算速度,还与其它各分系统的运行情况有关,只有在提高主频的同时,各分系统运行速度和各分系统之间的数据传输速度都能得到提高后,电脑整体的运行速度才能真正得到提高。1
所受限制提高CPU工作主频主要受到生产工艺的限制。由于CPU是在半导体硅片上制造的,在硅片上的元件之间需要导线进行联接,由于在高频状态下要求导线越细越短越好,这样才能减小导线分布电容等杂散干扰以保证CPU运算正确。因此制造工艺的限制,是CPU主频发展的最大障碍之一。2
发展简史时钟频率以“若干次周期每秒”来度量,采用国际标准单位赫兹(Hz)。计算机进行其最基本的行动譬如增加二个数字或转移价值从一个寄存器到另一个。不同的芯片在同样计算机主板也许有不同的时钟频率。通常当提到计算机,规定"时钟频率" 使用提到CPU 的速度。CPU 的时钟频率由摆动器水晶的频率通常确定。原始的IBM 个人计算机,大约1981 年,有4.77 兆赫的时钟频率(4,770,000 cycles/second)。1995 年,英特尔的奔腾芯片运行在100 兆赫(100 百万cycles/second),2002 年并且,英特尔奔腾4 模型被介绍了作为第一CPU 以3 千兆赫的时钟频率(三十亿cycles/second)。
时钟频率是比较在同一家族内的芯片性能的唯一方法。一台IBM 个人计算机与英特尔486 CPU 运行在50 兆赫将是两次快速地象一个以同样CPU 、记忆和显示运行在25 兆赫。但是,有许多其它因素考虑当比较整个计算机的速度,象计算机的前段总线的时钟频率,存储芯片的时钟频率,宽度在CPU's 总线的位,和相当数量水平一级和二级高速缓存。
时钟频率不应该被利用当比较不同的计算机或不同的处理器家族。相反,某一软件基准应该被使用。时钟频率可能是非常引入歧途的,因为不同的计算机芯片可能做在一个周期的相当数量工作变化。例如,RISC CPUs 比CISC 倾向于有更加简单的指示CPUs (但更高的时钟频率),并且用管道运输的加工者执行超过一指示每周期。
在90 年代初期,多数计算机公司首要给他们的计算机的速度做广告由提到他们的CPUs' 时钟频率。这导致各种各样的营销比赛,譬如苹果电脑的决定创造和销售力量Macintosh 8100/110 以110 兆赫的时钟频率,以便苹果计算机公司能做广告其计算机有最快速的时钟速度可利用-- 最快速的英特尔处理器可利用当时运行了在100 兆赫。这优势在时钟速度,然而,是无意义的;PowerPC 和奔腾CPU 建筑是完全地不同的。力量Mac 是更加快速在一些任务,但更慢的在其他方面。
在2000s,英特尔的竞争者AMD 开始使用模型号代替时钟频率销售其CPUs,说"兆赫神话" 没有讲其CPUs 的力量的原委。在2004 年中英特尔宣布它会做同样,大概由于消费者混乱在其奔腾M 流动CPU,据报道运行了在大约一半大致等效奔腾4 CPU 的时钟频率。
频率与速度**频率与速度的关系:**一般说来,一个时钟周期完成的指令数是固定的,所以主频越高,CPU的速度也就越快了。不过由于各种CPU的内部结构也不尽相同,所以并不能完全用主频来概括CPU的性能。但CPU主频的高低可以决定电脑的档次和价格水平。以Pentium 4 2.0为例,它的工作主频为2.0GHz,这说明了什么呢?
具体来说,2.0GHz意味着每秒钟它会产生20亿个时钟脉冲信号,每个时钟信号周期为0.5纳秒。而Pentium 4 CPU有4条流水线运算单元,如果负载均匀的话,CPU在1个时钟周期内可以进行4个二进制加法运算。
这就意味着该Pentium 4 CPU每秒钟可以执行80亿条二进制加法运算。但如此惊人的运算速度不能完全为用户服务,电脑硬件和操作系统本身还要消耗CPU的资源。但Athlon XP处理器采用了PR标称方式,AMD公开的266MHz前端总线频率的Athlon XP处理器标称频率和实际频率的转换计算公式如下:标称频率=3×实际频率/2-500 实际频率=2×标称频率/3+333 例如,Athlon XP 2100+的实际频率为1733MHz=2×2100/3+333
概念解读一首美妙的乐曲会有一个主旋律,而电脑的主旋律就是CPU的时钟频率。主频、外频和倍频,它们从何而来?锁频、超频,又是怎么回事呢?
电脑中有许许多多的半导体芯片,每个芯片都是在特定的时钟频率下进行工作的。时钟发生器提供给芯片的时钟信号是一个连续的脉冲信号,而脉冲就相当于芯片的脉搏,每一次脉冲到来,芯片内的晶体管就改变一次状态,让整个芯片完成一定任务。
电脑中的芯片绝大多数属于数字逻辑芯片,数字芯片中众多的晶体管全都工作在开关状态,它们的导通和关断动作无不是按照时钟信号的节奏进行的。如果时钟频率过高,就可能出现晶体管的状态来不及变化的情况,产生死锁或随机性误操作。所以,每一款芯片都有自己的频率极限。
频率是什么频率用f表示,基本单位为“1次/秒”,记做Hz(赫兹)。1Hz就是每秒一次,10Hz是每秒10次(图1)。不过,Hz这个单位在电脑里面太小了,因此通常以KHz、MHz或GHz来表示信号频率。随着频率的攀升,若干年以后恐怕需要使用THz作为频率的单位了(表1)。
|| ||
1.周期与频率
在电脑技术中,与频率相对应的一个常用术语是周期。周期是频率的倒数,频率越高,周期越短。譬如时钟频率为1GHz时,其时钟周期为1纳秒。
2.带宽与频率
与频率相关的另一个参数是数据传输率,也称为“带宽”,用于衡量数据通信速度的快慢。通常情况下,带宽=时钟频率×(位宽÷8)。譬如PCI总线的时钟频率为33.33MHz,因其位宽为32bit,所以其带宽为33.33×(32÷8)=133MB/s。
3.CPU的频率: 在286及以前的电脑中,CPU的频率与外部总线的频率相同。Intel 386电脑中采用了时钟分频方式,时钟电路提供给CPU的时钟信号的频率66MHz,而CPU内部则以33MHz的频率工作。Intel 80486 DX2则采用倍频方式,它允许CPU以2倍或3倍于外部总线的速度运行,但仍以原有时钟频率与外界通讯。进入Pentium时代以后,倍频技术获得广泛应用,处理器的倍频已达20倍。
系统时钟频率:通常也称作“外频”——CPU外部总线的时钟频率。外频由频率合成器芯片提供,后文将对频率合成器芯片进行详细介绍。主频:主频是CPU内核(整数和浮点运算器)电路的实际运行频率,由外频(或前端总线频率)与倍率共同决定,也即:主频=外频×倍率。
前端总线频率:前端总线(Front Side Bus,FSB)频率是CPU和北桥芯片间进行数据交换的频率,它与外频既有联系,又有区别。外频是前端总线时钟信号的频率,而前端总线频率是指数据传输的频率。对于Pentium 4处理器来说,由于采用了QDR(Quad Data Rate,4倍数据比率)技术,1个时钟周期内可以传输4次数据,所以前端总线频率相当于外频的4倍:FSB 800MHz的处理器,外频只有200MHz。
谁在产生频率我们可以将作为频率源的时钟信号发生器看作电脑的心脏。只有心脏跳动起来,电脑才能工作。
1.振荡源:晶体振荡器
芯片本身通常并不具备时钟信号源,因此须由专门的时钟电路提供时钟信号,石英晶体振荡器(Quartz Crystal OSC)就是一种最常用的时钟信号振荡源。
石英晶体就是纯净的二氧化硅,是二氧化硅的单晶体,即我们常说的水晶。石英晶体有天然(Crude)晶体和人工合成(synthetic)晶体两种。天然石英晶体的杂质含量和形态等大多并不统一,因此电子线路中的晶体振荡器多使用人造石英晶体。
从一块晶体上按一定的方位角切下薄片(称为“晶片”),在晶片的两个表面上涂覆一层薄薄的银层后接上一对金属板,焊接引脚,并用金属外壳封装,就构成了石英晶体振荡器。
石英晶片之所以能当为振荡器使用,是基于它的压电效应:在晶片的两个极上加一电场,会使晶体产生机械变形;在石英晶片上加上交变电压,晶体就会产生机械振动,同时机械变形振动又会产生交变电场,虽然这种交变电场的电压极其微弱,但其振动频率是十分稳定的。当外加交变电压的频率与晶片的固有频率(由晶片的尺寸和形状决定)相等时,机械振动的幅度将急剧增加,这种现象称为“压电谐振”。
压电谐振状态的建立和维持都必须借助于振荡器电路才能实现。一个串联型振荡器,晶体管T1和T2构成的两级放大器,石英晶体XT与电容C2构成LC电路。在这个电路中,石英晶体相当于一个电感,C2为可变电容器,调节其容量即可使电路进入谐振状态。该振荡器供电电压为5V,输出波形为方波。
石英晶体振荡器的频率稳定度可达10^-9/日,甚至10^-11。例如10MHz的振荡器,频率在一日之内的变化一般不大于0.1Hz。因此,完全可以将晶体振荡器视为恒定的基准频率源(石英表、电子表中都是利用石英晶体来做计时的基准频率)。从PC诞生至今,主板上一直都使用一颗14.318MHz的石英晶体振荡器作为基准频率源。至于始终沿用14.318MHz这个频率的原因,或许是保持兼容性的需要吧。但是,笔者在显卡、闪存盘和手机中也发现了14.318MHz的晶振,就不知道是什么原因了。
主板上除了这颗14.318MHz的晶振,还能找到一颗频率为32.768KHz的晶振,它被用于实时时钟(RTC)电路中,显示精确的时间和日期。
2.分频器与倍频器
将脉冲频率降低n倍,这就是分频器的作用。在第一代PC机中,石英晶体振荡器输出的频率为14.318MHz,而Intel 8086处理器的主频为4.77MHz,后者刚好是前者的1/3。变换频率的工作是在Intel 8284(时钟发生器/驱动器)中完成的,因为Intel 8284芯片中集成了三分频电路,能够将晶体振荡器产生的脉冲信号降低3倍后,提供给CPU和外设
随着CPU主频的提高,需要将晶体振荡器提高若干倍才能满足CPU的需要,于是在时钟电路中倍频器取代了分频器的位置。如果说分频器进行的是除法运算,倍频器则进行了乘法运算,它将晶体振荡器的频率提高n倍。
时钟芯片:可编程的频率合成器整合的时钟电路,是硬件技术进步的一个标志。电脑中的不同设备对时钟频率的要求是不一样的,如果你从废物箱中找来一块286主板,可以看到有好几颗晶振排列在一起。电脑中的CPU,AGP插槽、PCI插槽、硬盘接口、USB端口和PS/2端口等在通信速度上有很大差异,所以需要提供不同的时钟频率,譬如PCI要求33MHz、USB为48MHz等。可是,一只石英振荡器只能提供一种频率,所以主板制造商通常将这些原本散布在主机板上各处的振荡电路整合成一颗“频率合成器(Frequency Synthesizer)”芯片,对晶体振荡器产生的脉冲信号进行分频(或倍频),以便为不同运行速度的芯片(或设备)提供所需要的时钟频率。
普通分频器为整数分频器,其输出频率与输入频率之间为整数倍的关系,只能分段调节频率,不能满足精密调节的要求。频率合成器是“分数分频器”,可对输出频率进行精细调节。研发工程师可自由地设计电路中的各种频率,不再受限于石英震荡晶体的固定频率规格。电脑中的时钟芯片一般都具有“分数分频”能力,可以根据需要将调节步长设计到1%,甚至0.1%。为了指导和规范频率合成器的设计和应用,Intel制定了频率合成器设计指南,如CK97、CK40X等,适用于最新Pentium 4处理器的规范是CK410。
1.频率调节原理
频率合成器是一个具有频率负反馈的时钟信号系统(图7),其中使用了两个分频器,Mdiv用于降低基准频率,Ndiv则用于对VCO进行分频。晶体振荡器(OSC)产生的频率fi经M分频器后得到参考频率fref,它与反馈频率ffd分别送入鉴频器(Frequency Detector,FD)的两个反向输入端,鉴频器输出一个反映两者之商的直流电压,并经低通滤波器(Low Pass Filter,LPF)滤除交流分量后,提供给压控振荡器(Voltage Controlled Oscillator,VCO)输出频率信号fout。
频率合成器的输出频率fout与输入频率fin之间的关系可以用公式fout=fin×(N+k/M)来表示,其中N、M和K均为整数,K可取0~M间的任意整数。非整数值N+k/M通常写作N.F,这里的圆点代表小数点,N表示频率的整数部分,而F=k/M则表示频率的小数部分。在输入频率fin、N和M均不改变的条件下,只要修改k值即可得到所需要频率值fout。
在频率合成器芯片中,有专门的SMBus接口电路,这是芯片的寄存器与外部联络的途径,有了它,就能够通过BIOS或软件对寄存器进行改写。频率寄存器中的每一位数据有两种可能,“0”或“1”,那么当这几位按不同状态进行组合时就可得到多种外频输出。
频率合成器的频率调节精度与频率寄存器的位数有关,譬如,如果频率寄存器为5位,则调节步长为1MHz。为数越多,调节精度越高。在实用的频率合成器中,Mdiv和Ndiv两个分频器均为可编程的,只要用户设定相应的fout数值,BIOS便能自动给出N、M和K的值,并通过SMBus总线写入相应的寄存器中。
2.PLL实现相位同步的自动控制原理
时钟芯片是电脑的心脏,其性能和稳定性直接决定着整个硬件系统的性能。采用频率合成器一方面可以节省成本与主板空间,更为重要的目的是使主板各芯片以及外部设备的时钟信号与CPU的时钟信号之间保持严格的同步关系,以保证正确地交换数据。FS芯片不仅具有倍频/分频功能,更主要的特点就是具有相位锁定功能——输出信号的相位被强制跟参考信号的相位保持一致。因此,频率合成器输出的各种时钟信号虽然频率各不相同,但它们在相位上是完全一致的,它们都与参考信号源保持相位同步。
为了实现相位锁定,VCO输出的时钟信号与参考频率信号在鉴相器中进行相位比较,如果两者相位不同,就会输出一个与相位差大小成比例的误差电压;误差电压的极性决定了电荷泵内的电流源是吸收还是送出电流,所以电荷会流入或流出滤波器内的电容器,电荷流动的数量与相位差的大小成正比。压控振荡器是一个受电压控制的振荡器,内部的变容二极管两端电压变化时,其电容量会随之改变,从而改变振荡器的频率。
压控振荡器是PLL电路的核心单元,相位控制过程是依靠改变压控振荡器的输入电压(即调谐电压)实现的,调谐电压的大小和极性决定了相位调整是滞后还是超前,从而使相位误差得以校正。
3.频率合成器的其它功能
在主板设计中使用频率合成器芯片,可以很容易地实现时钟频率的调整和相位锁定。除了这些功能,频率合成器还允许主板设计工程师通过微调各种接口时钟之间的时钟延迟,使各种相关接口的组件保持同步,方便了设计和调试工作(图8)。
此外,频率合成器芯片在系统稳定性和安全性方面也是可以有所作为的。一方面,可以对不需要调整的频率进行锁定,防止因CPU超频而导致其它设备失效的情况;另一方面,一些频率合成器芯片中还设计了“看门狗”功能,一旦超频失败导致死机时,此功能可以对频率寄存器进行清零,使系统按照CPU的默认频率正常启动。
如今,频率合成器芯片的应用已经十分普遍,常见的有ICS、Cypress、IDT、Realtek和Winbond等品牌。不过,在nForce2主板中,已经找不到频率合成器的身影,因为频率合成功能已经整合到IGP/SPP芯片中了。
AMD Athlon系列处理器的倍频信号工作流程,当RESET#信号到来时,处理器将FID信号送给逻辑信号转换芯片,由该芯片产生SIP(Serialization Initialization Packet,串行初始化数据包),对系统总线进行初始化和设置。
在CPU上设置了一些称为金桥的连接线,FID信号的电平可以通过改变金桥的通断进行设置,金桥接通时为低电平,断开时则为高电平。FID信号在内置倍频控制单元内生成,并经内置FID驱动电路对信号进行放大后,从FID引脚送至逻辑信号转换芯片,产生的SIP数据包再从BP_FID引脚返回到CPU。这样,CPU内部的频率合成电路便可以将倍频与外频两个信号一起合成CPU的核心频率。
3.内存频率的设置
早期主板上内存总线时钟信号也是由频率合成器产生的,不过较新的主板已经撇开了主板上的频率合成器芯片,而由北桥芯片完成内存总线时钟频率的设定,这在业界被称作“内存异步”。
与CPU频率的自动设置原理相似,北桥芯片内的频率合成器也是通过一定的手段实现自动设置频率的。内存的频率由内存条上的SPD(Serial Presence Detect 内存序列存储芯片)提供。SPD类似于主板上的BIOS,存储了内存芯片的内存容量、工作频率、延迟时间(CAS、tRCD、tRP、tCA)及工作电压和厂商信息等,北桥芯片通过SMBus总线的SDA引脚读取每个DIMM的SPD中的参数,SPD芯片的信息就会被记录在北桥芯片内PLL电路的寄存器(Register)中。
内存总线时钟与系统时钟的频率往往并不相同,譬如系统时钟为133MHz,而内存时钟的频率为200MHz时,两者之间存在67MHz的差异,这种频率上的差异被称为“内存异步”。不过,为了实现内存与CPU之间的同步通信,两个总线在相位上仍然需要保持同步。实现相位的同步在技术上并不困难,只要北桥芯片中的PLL电路与频率合成器中的PLL电路使用同一个参考频率fref就可以了。
事实上,即插即用的外部设备的频率设置与内存频率的自动设置原理基本相同,主机通过读取设备中ROM芯片中包括频率在内的特征参数,然后自动分配系统资源,自动配置驱动程序,使得设备可以正常工作。
为电脑把脉1.检试实际频率,释放设备潜能
Intel Processor Frequency ID Utility是Intel公司发布的CPU的检测软件,该软件列出了“报告频率”和“预期频率”两项数据,前一项表示被测试CPU的当前运行速度,后一项表示被测试CPU出厂时所设计的最高操作速度。如果两者数据一致,即说明CPU未被超频。如果报告频率低于预期频率,则说明处理器的能力没有发挥出来。
使用测试软件能够大致了解各设备的工作状态,对优化系统性能非常重要。与上述检测软件类似的还有很多,所有需要测试的频率都可以通过测试软件显示出来。不过,一些高级玩家怀疑软件测出的频率是否准确。这种怀疑不是没有根据的,因为检测软件运行的平台,是基于参考频率fref的。如果参考频率自身都不准确,软件测出的频率值也就难以保证。不过,要精确地测量时钟信号的频率时,可以使用示波器。
外部设备的性能与接口电路工作频率之间有着密切关系。以硬盘为例,如果使用AIDA32等软件测出硬盘的最高UDMA传输模式为UDMA 6(ATA-133),但当前UDMA传输模式为UDMA 1(ATA-33)。即硬盘本来可以工作在133MHz的频率下,而接口却只以33MHz的频率交换数据。那么就会极大地降低硬盘性能。遇到这种情况,说明设备的潜能没有发挥出来,应检查BIOS中的接口模式选择是否正确或通过安装相关IDE驱动程序来解决。
2.防止心跳过速
频率过低造成设备性能低下,相反,如果频率过高则会造成设备工作不稳定,甚至彻底罢工。平时我们在对显示芯片和显存进行超频之后,显示画面出现花屏就属于典型案例。因为心跳过速而导致设备不能工作的情况,在电脑故障中占有相当大的比重。因为种种原因,一些设备工作频率实际上是达不到标称频率的。对于此类问题的处理,笔者在“电脑故障降频诊断法”(《微型计算机》2003年第17期)一文中已有详细介绍。在此需要补充一点,如果CPU超频失败导致不能启动后,将CMOS放电,BIOS会以100MHz外频的安全模式启动,并不会造成严重后果。3
本词条内容贡献者为:
闫晓东 - 副教授 - 中央民族大学信息工程学院