時鐘頻率
時鐘頻率
時鐘頻率(又譯:時鐘頻率速度,英語:clock rate),是指同步電路中時鐘的基礎頻率,它以“若干次周期每秒”來度量,量度單位採用SI單位赫茲(Hz)。它是評定CPU性能的重要指標。一般來說主頻數字值越大越好。外頻,是CPU外部的工作頻率,是由主板提供的基準時鐘頻率。FSB頻率,是連接CPU和主板晶元組中的北橋晶元的前端匯流排(Front Side Bus)上的數據傳輸頻率。
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運算速度,還與其它各分系統的運行情況有關,只有在提高主頻的同時,各分系統運行速度和各分系統之間的數據傳輸速度都能得到提高后,電腦整體的運行速度才能真正得到提高。
提高CPU工作主頻主要受到生產工藝的限制。由於CPU是在半導體矽片上製造的,在矽片上的元件之間需要導線進行聯接,由於在高頻狀態下要求導線越細越短越好,這樣才能減小導線分佈電容等雜散干擾以保證CPU運算正確。因此製造工藝的限制,是CPU主頻發展的最大障礙之一。
時鐘頻率
時鐘頻率是比較在同一家族內的晶元性能的唯一方法。一台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
頻率合成器整體結構
電腦中有許許多多的半導體晶元,每個晶元都是在特定的時鐘頻率下進行工作的。時鐘發生器提供給晶元的時鐘信號是一個連續的脈衝信號,而脈衝就相當於晶元的脈搏,每一次脈衝到來,晶元內的晶體管就改變一次狀態,讓整個晶元完成一定任務。
電腦中的晶元絕大多數屬於數字邏輯晶元,數字晶元中眾多的晶體管全都工作在開關狀態,它們的導通和關斷動作無不是按照時鐘信號的節奏進行的。如果時鐘頻率過高,就可能出現晶體管的狀態來不及變化的情況,產生死鎖或隨機性誤操作。所以,每一款晶元都有自己的頻率極限。
頻率用f表示,基本單位為“1次/秒”,記做Hz(赫茲)。1Hz就是每秒一次,10Hz是每秒10次(圖1)。不過,Hz這個單位在電腦裡面太小了,因此通常以KHz、MHz或GHz來表示信號頻率。隨著頻率的攀升,若干年以後恐怕需要使用THz作為頻率的單位了(表1)。
表1:頻率表示法
頻率單位 kHz MHz GHz THz
換算關係 1×10^3Hz 1×10^6Hz 1×10^9Hz 1×10^12Hz
英文名稱 Kilo Hz Mega Hz Giga Hz Tera Hz
中文名稱 千赫茲 兆赫茲 吉赫茲 太赫茲
1.周期與頻率
在電腦技術中,與頻率相對應的一個常用術語是周期。周期是頻率的倒數,頻率越高,周期越短。譬如時鐘頻率為1GHz時,其時鐘周期為1納秒(表2)。
表2:頻率與周期對照表
時鐘頻率 時鐘周期 時鐘頻率 時鐘周期
5MHz 200ns 133MHz 7.5ns
10MHz 100ns 166MHz 6.0ns
20MHz 50ns 200MHz 5.0ns
25MHz 40ns 250MHz 4.0ns
33MHz 30ns 300MHz 3.3ns
40MHz 25ns 333MHz 3.0ns
50MHz 20ns 400MHz 2.5ns
66MHz 15ns 500MHz 2.0ns
80MHz 12ns 800MHz 1.2ns
100MHz 10ns 1GHz 1.0ns
120MHz 8.3ns 4GHz 0.25ns
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外頻的安全模式啟動,並不會造成嚴重後果。
在電腦的實際使用過程中,相信大部分DIYer對於“頻率”一詞的興趣一開始都建立在對CPU、內存、顯示核心和顯存的超頻之上。同時我們也相信,本文關於頻率的深入探討對您而言,不論是解決電腦故障還是享受超頻的快感,都將起到極大的幫助。不過,在此我們仍然強調一點——當您把玩“頻率遊戲”時,請記住“超頻”是把雙刃劍,它能讓您感受到運行速度的提升,但穩定性下降、系統崩潰,甚至硬體損壞等風險也會時刻相隨! [2]