CPU 作為計(jì)算機(jī)的核心,負(fù)責(zé)整個(gè)計(jì)算機(jī)系統(tǒng)的協(xié)調(diào)、控制以及程序運(yùn)行。伴隨著大規(guī)模集成電路的技術(shù)革命以及微電子技術(shù)的發(fā)展,CPU 發(fā)展日新月異、種類繁多,其中集成的電子元件也越來(lái)越多,速度越來(lái)越快,功能越來(lái)越強(qiáng)。
1.主頻
主頻,即 CPU 內(nèi)核工作的時(shí)鐘頻率(CPU Clock Speed),單位是 MHz 或 GHz。通常所說(shuō)的某某 CPU 是多少兆赫指的就是 CPU 的主頻。
注意:很多人認(rèn)為 CPU 的主頻就是其運(yùn)行速度,其實(shí)不然。
CPU 的主頻表示在 CPU 內(nèi)數(shù)字脈沖信號(hào)震蕩的速度,主頻和實(shí)際的運(yùn)算速度存在一定的關(guān)系,但目前還沒(méi)有一個(gè)確定的公式能夠定量?jī)烧叩臄?shù)值關(guān)系,因?yàn)?CPU 的運(yùn)算速度還與 CPU 的流水線數(shù)目、緩存大小、指令集、CPU 的位數(shù)等指標(biāo)有關(guān)。
2.外頻
外頻是 CPU 的基準(zhǔn)頻率,單位是 MHz,是 CPU 與主板之間同步運(yùn)行的工作頻率(系統(tǒng)時(shí)鐘頻率)。絕大部分計(jì)算機(jī)系統(tǒng)外頻也是內(nèi)存與主板之間同步運(yùn)行的頻率。
3.前端總線
前端總線(Front Side Bus,F(xiàn)SB)是 AMD 公司推出 K7 CPU 時(shí)提出的概念,是將 CPU連接到北橋芯片的總線,決定 CPU 與內(nèi)存數(shù)據(jù)交換的速度。
數(shù)據(jù)傳輸最大帶寬取決于所有同時(shí)傳輸數(shù)據(jù)的寬度和傳輸頻率,即數(shù)據(jù)帶寬=(FSB×數(shù)據(jù)位寬)/8。例如 64 位的 CPU,前端總線是 800MHz,則它的數(shù)據(jù)傳輸最大帶寬是6.4GB/s。常見(jiàn)的前端總線頻率有 266MHz、333MHz、400MHz、533MHz、800MHz、1066MHz、1333MHz 等,前端總線頻率越大,表示 CPU 與內(nèi)存之間的數(shù)據(jù)傳輸速率越高,更能充分發(fā)揮出 CPU 的性能。足夠大的前端總線可以保障有足夠的數(shù)據(jù)供給 CPU。較低的前端總線無(wú)法供給足夠的數(shù)據(jù)給 CPU,限制了 CPU 性能的發(fā)揮,成為系統(tǒng)瓶頸。
外頻與前端總線的區(qū)別:前端總線的速度是 CPU 與內(nèi)存之間數(shù)據(jù)傳輸?shù)乃俣龋忸l是CPU 與主板之間同步運(yùn)行的頻率。也就是說(shuō),100MHz 外頻特指數(shù)字脈沖信號(hào)在每秒鐘震蕩一千萬(wàn)次;而 64 位處理器 100MHz 前端總線指的是每秒鐘 CPU 可接受的數(shù)據(jù)傳輸量是100MHz×64b/8 = 800MB/s。
4.倍頻
倍頻,全稱是倍頻系數(shù),是 CPU 主頻與外頻的比值。原先并沒(méi)有倍頻概念,CPU 主頻和系統(tǒng)總線的速度是一樣的,但 CPU 的速度越來(lái)越快,倍頻技術(shù)也就應(yīng)運(yùn)而生。
CPU 主頻的計(jì)算方式為:主頻 = 外頻 × 倍頻。顯然,當(dāng)外頻不變時(shí),提高倍頻,CPU 主頻也就提高了。每一款 CPU 默認(rèn)的倍頻只有一個(gè),主板必須能支持這個(gè)倍頻。因此在選購(gòu)主板和 CPU 時(shí)必須注意這點(diǎn),如果兩者不匹配,系統(tǒng)就無(wú)法工作。俗稱的超頻就是通過(guò)設(shè)置倍頻系數(shù),CPU 工作頻率超過(guò) CPU 主頻。
5.CPU 的位和字長(zhǎng)
在數(shù)字電路和計(jì)算機(jī)技術(shù)中采用二進(jìn)制,只有 0 和 1,無(wú)論是 0 還是 1 在 CPU 中都是
一“位”。
CPU 在單位時(shí)間內(nèi)(同一時(shí)間)能一次處理的二進(jìn)制數(shù)的位數(shù)叫字長(zhǎng)。能處理字長(zhǎng)為8 位數(shù)據(jù)的 CPU 通常叫 8 位 CPU。同理,32 位 CPU 就能在單位時(shí)間內(nèi)處理 32 位二進(jìn)制數(shù)據(jù)。
字節(jié)和字長(zhǎng)的區(qū)別:英文字符用 8 位二進(jìn)制可以表示,所以將 8b 稱為一個(gè)字節(jié)。CPU字長(zhǎng)是不固定的,8 位 CPU 一次只能處理 1B,而 32 位 CPU 一次就能處理 4B,64 位 CPU一次可以處理 8B。
6.緩存
緩存(Cache)是位于 CPU 與內(nèi)存之間的臨時(shí)存儲(chǔ)器,容量比內(nèi)存小,存取速度比內(nèi)存快。Cache 中的數(shù)據(jù)實(shí)際上是內(nèi)存中的一小部分,計(jì)算機(jī)工作時(shí),CPU 需要重復(fù)讀取同樣的數(shù)據(jù)塊,如果每次都從內(nèi)存中讀取,由于 CPU 速度遠(yuǎn)高于內(nèi)存速度,則內(nèi)存成為計(jì)算機(jī)工作的瓶頸,Cache 正是在這種情況下出現(xiàn)的。
Cache 工作原理:當(dāng) CPU 要讀取一個(gè)數(shù)據(jù)時(shí),首先從 Cache 中查找,如果找到,就立即讀取并送給 CPU 處理;如果沒(méi)有找到,就從速度相對(duì)慢的內(nèi)存中讀取,同時(shí)把這個(gè)數(shù)據(jù)所在的數(shù)據(jù)塊調(diào)入 Cache 中,以便以后能夠快速地從 Cache 中讀取該數(shù)據(jù),而不必再去讀內(nèi)存。
?
?
這樣的讀取機(jī)制使 CPU 讀取 Cache 的命中率非常高(多數(shù) CPU 可達(dá) 90%左右),也就是說(shuō) CPU 下一次要讀取的數(shù)據(jù) 90%都在 Cache 中,只有大約 10%需要從內(nèi)存讀取,這樣可以大大節(jié)省 CPU 讀取數(shù)據(jù)的時(shí)間。
CPU 內(nèi)核集成的緩存稱為一級(jí)緩存(L1 Cache),主板上集成的緩存稱為二級(jí)緩存(L2 Cache)。一級(jí)緩存可以進(jìn)一步分為數(shù)據(jù)緩存(D-Cache)和指令緩存(I-Cache),分別用來(lái)存放數(shù)據(jù)和執(zhí)行這些數(shù)據(jù)的指令,可以同時(shí)被 CPU 訪問(wèn),能夠減少爭(zhēng)用 Cache 造成的沖突,提高處理器效能。
7.指令集
CPU 依靠指令完成計(jì)算和控制各部件的工作,每款 CPU 在設(shè)計(jì)時(shí)就規(guī)定了一系列與其硬件電路相配合的指令系統(tǒng)。指令集的強(qiáng)弱也是 CPU 的重要指標(biāo),指令集是提高 CPU效率的有效工具之一。
從計(jì)算機(jī)體系結(jié)構(gòu)講,指令集可分為復(fù)雜指令集和精簡(jiǎn)指令集兩部分。目前常見(jiàn)的Intel CPU 以及 AMD CPU 均為采用 X86 架構(gòu)的復(fù)雜指令集。
而從具體運(yùn)用看,Intel 公司的 MMX(Multi Media Extended)、SSE、SSE2(Streaming-Single instruction multiple data-Extensions 2)和 AMD 公司的 3DNow!等都是 x86 架構(gòu) CPU的擴(kuò)展指令集,分別增強(qiáng)了 CPU 的多媒體、圖形、圖像和 Internet 等的處理能力。
8.CPU 內(nèi)核和 I/O 工作電壓
從 Pentium 開(kāi)始,CPU 的工作電壓分為核心電壓和 I/O 電壓兩種,核心電壓即驅(qū)動(dòng)CPU 核心芯片的電壓,I/O 電壓指驅(qū)動(dòng) I/O 電路的電壓。CPU 的核心電壓小于等于 I/O 電壓。核心電壓根據(jù) CPU 的生產(chǎn)工藝而定,一般制作工藝越先進(jìn),電壓越低;I/O 電壓一般在 1.6~5V 之間。CPU 的工作電壓有明顯的下降趨勢(shì),低工作電壓有三個(gè)優(yōu)點(diǎn):
(1)使 CPU 的總功耗降低,系統(tǒng)的運(yùn)行成本相應(yīng)降低,電池可以工作更長(zhǎng)時(shí)間,對(duì)于便攜式和移動(dòng)系統(tǒng)來(lái)說(shuō)非常重要。
(2)功耗降低,發(fā)熱量減少,運(yùn)行溫度不高的 CPU 可以與系統(tǒng)更好的配合。
(3)是提高 CPU 主頻的重要因素之一。
9.制造工藝
制造工藝是指集成電路內(nèi)電路與電路之間的距離。1995 年以后,芯片制造工藝從 0.5μm、0.35 μm、0.25μm、0.18μm、0.15μm、0.13μm、90nm、65nm、45nm,發(fā)展到目前的28nm、15nm、7nm、5nm。
先進(jìn)的制造工藝可以在同樣的面積上集成更多的晶體管,并降低功耗,從而減少發(fā)熱量,使 CPU 實(shí)現(xiàn)更多的功能和更高的性能;使 CPU 核心面積不斷減小,在相同面積的晶圓上可以制造出更多的 CPU 產(chǎn)品,從而降低 CPU 的售價(jià)。
10.超流水線與超標(biāo)量
在解釋超流水線與超標(biāo)量前,先了解流水線(Pipeline)。
流水線是 Intel 公司在 80486 CPU 中開(kāi)始使用的。流水線工作方式就像工業(yè)生產(chǎn)上的裝配流水線,通過(guò)增加硬件實(shí)現(xiàn)。例如要預(yù)取指令,就增加取指令的硬件電路,在 CPU 中由 5、6 個(gè)不同功能的電路單元組成一條指令處理流水線,并將一條指令分成 5、6 步,再由這些電路單元分別執(zhí)行,各步的工作在時(shí)間上重疊,從而提高 CPU 的運(yùn)算速度。
超級(jí)流水線通過(guò)細(xì)化流水、提高主頻,使得在一個(gè)機(jī)器周期內(nèi)完成一個(gè)甚至多個(gè)操作,其實(shí)質(zhì)是以時(shí)間換空間。例如 Intel Pentium 4 的流水線長(zhǎng) 20 級(jí)。流水線的步(級(jí))越長(zhǎng),完成一條指令的速度越快,能適應(yīng)主頻更高的 CPU。但是流水線過(guò)長(zhǎng)也帶來(lái)一定的副作用,很可能會(huì)出現(xiàn)主頻較高的 CPU 實(shí)際運(yùn)算速度較低的現(xiàn)象。
CPU 中內(nèi)置多條流水線來(lái)同時(shí)執(zhí)行多條指令,每時(shí)鐘周期內(nèi)可以完成一條以上的指令,這種設(shè)計(jì)叫超標(biāo)量(Superscalar)技術(shù)。
11.SMP
SMP(Symmetric Multi-Processing,對(duì)稱多處理結(jié)構(gòu))是指在一個(gè)計(jì)算機(jī)上匯集了一組結(jié)構(gòu)相同的處理器(多 CPU),各 CPU 共享內(nèi)存以及總線。在高性能主板和服務(wù)器中常見(jiàn),例如運(yùn)行 UNIX 操作系統(tǒng)的服務(wù)器可支持最多 256 個(gè) CPU。
12.多核心
多核心是指單芯片多處理器(Chip Multiprocessors,CMP)。CMP 由美國(guó)斯坦福大學(xué)提出,其思想是將大規(guī)模并行處理器中的 SMP 集成到同一芯片內(nèi),各個(gè)處理器并行執(zhí)行不同的進(jìn)程。從體系結(jié)構(gòu)角度看,SMP 比 CMP 對(duì)處理器資源利用率要高,在克服延遲影響方面更具優(yōu)勢(shì)。
而 CMP 相對(duì) SMP 的最大優(yōu)勢(shì)在于其模塊化設(shè)計(jì)的簡(jiǎn)潔性。復(fù)制簡(jiǎn)單、設(shè)計(jì)容易,指令調(diào)度也更加簡(jiǎn)單。同時(shí),SMP 中多個(gè)線程對(duì)共享資源的爭(zhēng)用也會(huì)影響其性能,而 CMP 對(duì)共享資源的爭(zhēng)用要少得多,因此當(dāng)應(yīng)用的線程級(jí)并行性較高時(shí),CMP 性能一般優(yōu)于 SMP。此外,在設(shè)計(jì)上,更短的芯片連線使 CMP 比長(zhǎng)導(dǎo)線集中式設(shè)計(jì)的 SMP 更容易提高芯片的運(yùn)行頻率,從而在一定程度上起到性能優(yōu)化的效果。
13.多(超)線程技術(shù)
每個(gè)正在運(yùn)行的程序都是一個(gè)進(jìn)程。每個(gè)進(jìn)程包含一到多個(gè)線程。線程是進(jìn)程中可以獨(dú)立完成一定功能的指令段。
多線程技術(shù)是指從軟件或者硬件上實(shí)現(xiàn)多個(gè)線程并發(fā)執(zhí)行的技術(shù)。具有多線程能力的計(jì)算機(jī)因有硬件支持而能夠在同一時(shí)間執(zhí)行多個(gè)線程,進(jìn)而提升整體性能。具有這種能力的系統(tǒng)包括對(duì)稱多處理機(jī)、多核心處理器以及芯片級(jí)多處理(Chip-Level Multithreading)或同時(shí)多線程(Simultaneous Multithreading,SMT)處理器。
超線程(Hyper-Threading,HT)技術(shù)是 Intel P4 CPU 開(kāi)始出現(xiàn)的一種技術(shù),利用特殊的硬件指令把兩個(gè)邏輯內(nèi)核模擬成兩個(gè)物理芯片,讓單個(gè)處理器能進(jìn)行線程級(jí)并行計(jì)算,進(jìn)而兼容多線程操作系統(tǒng)和軟件,減少 CPU 的閑置時(shí)間,提高 CPU 的運(yùn)行效率。雖然采用超線程技術(shù)能同時(shí)執(zhí)行兩個(gè)線程,但它并不像兩個(gè)真正的 CPU 那樣,每個(gè) CPU 都具有獨(dú)立的資源。當(dāng)兩個(gè)線程都同時(shí)需要某一個(gè)資源時(shí),其中一個(gè)要暫時(shí)停止,并讓出資源,直到這些資源閑置后才能繼續(xù)。因此超線程的性能并不等于兩個(gè) CPU 的性能。另外,含有超線程技術(shù)的 CPU 需要芯片組、軟件支持才能發(fā)揮該技術(shù)的優(yōu)勢(shì)。
14.NUMA 技術(shù)
NUMA 即非一致訪問(wèn)分布共享存儲(chǔ)技術(shù),是由若干通過(guò)高速專用網(wǎng)絡(luò)連接起來(lái)的獨(dú)立節(jié)點(diǎn)構(gòu)成的系統(tǒng),各個(gè)節(jié)點(diǎn)可以是單個(gè)的 CPU 或是 SMP 系統(tǒng)。在 NUMA 中,Cache 的一致性有多種解決方案,需要操作系統(tǒng)和特殊軟件的支持。
編輯:黃飛
?
評(píng)論