一首美妙的樂曲會有一個主旋律,而電腦的主旋律就是CPU的時鐘頻率。主頻、外頻和倍頻,它們從何而來?鎖頻、超頻,又是怎么回事呢?
電腦中有許許多多的半導體芯片,每個芯片都是在特定的時鐘頻率下進行工作的。時鐘發生器提供給芯片的時鐘信號是一個連續的脈沖信號,而脈沖就相當于芯片的脈搏,每一次脈沖到來,芯片內的晶體管就改變一次狀態,讓整個芯片完成一定任務。
電腦中的芯片絕大多數屬于數字邏輯芯片,數字芯片中眾多的晶體管全都工作在開關狀態,它們的導通和關斷動作無不是按照時鐘信號的節奏進行的。如果時鐘頻率過高,就可能出現晶體管的狀態來不及變化的情況,產生死鎖或隨機性誤操作。所以,每一款芯片都有自己的頻率極限。
頻率是什么
頻率用f表示,基本單位為“1次/秒”,記做Hz(赫茲)。1Hz就是每秒一次,10Hz是每秒10次。不過,Hz這個單位在電腦里面太小了,因此通常以KHz、MHz或GHz來表示信號頻率。隨著頻率的攀升,若干年以后恐怕需要使用THz作為頻率的單位了。
1.周期與頻率
在電腦技術中,與頻率相對應的一個常用術語是周期。周期是頻率的倒數,頻率越高,周期越短。譬如時鐘頻率為1GHz時,其時鐘周期為1納秒。
2.帶寬與頻率
與頻率相關的另一個參數是數據傳輸率,也稱為“帶寬”,用于衡量數據通信速度的快慢。通常情況下,帶寬=時鐘頻率×(位寬÷8)。譬如PCI總線的時鐘頻率為33.33MHz,因其位寬為32bit,所以其帶寬為33.33×(32÷8)=133MB/s。
3.CPU的頻率: 在286及以前的電腦中,CPU的頻率與外部總線的頻率相同。Intel 386電腦中采用了時鐘分頻方式,時鐘電路提供給CPU的時鐘信號的頻率33MHz,而CPU內部則以66MHz的頻率工作。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等。