綜合整理的CPU相關理論知識大全
1.主頻
主頻也叫時鐘頻率,單位是MHz,用來表示CPU的運算速度。CPU的主頻=外頻×倍頻系數(shù)。很多人認為主頻就決定著CPU的運行速度,這不僅是個片面的,而且對于服務器來講,這個認識也出現(xiàn)了偏差。至今,沒有一條確定的公式能夠?qū)崿F(xiàn)主頻和實際的運算速度兩者之間的數(shù)值關系,即使是兩大處理器廠家Intel和AMD,在這點上也存在著很大的爭議,我們從Intel的產(chǎn)品的發(fā)展趨勢,可以看出Intel很注重加強自身主頻的發(fā)展。像其他的處理器廠家,有人曾經(jīng)拿過一快1G的全美達來做比較,它的運行效率相當于2G的Intel處理器。
所以,CPU的主頻與CPU實際的運算能力是沒有直接關系的,主頻表示在CPU內(nèi)數(shù)字脈沖信號震蕩的速度。在Intel的處理器產(chǎn)品中,我們也可以看到這樣的例子:1 GHz Itanium芯片能夠表現(xiàn)得差不多跟2.66 GHz Xeon/Opteron一樣快,或是1.5 GHz Itanium 2大約跟4 GHz Xeon/Opteron一樣快。CPU的運算速度還要看CPU的流水線的各方面的性能指標。
當然,主頻和實際的運算速度是有關的,只能說主頻僅僅是CPU性能表現(xiàn)的一個方面,而不代表CPU的整體性能。
2.外頻
外頻是CPU的基準頻率,單位也是MHz。CPU的外頻決定著整塊主板的運行速度。說白了,在臺式機中,我們所說的超頻,都是超CPU的外頻(當然一般情況下,CPU的倍頻都是被鎖住的)相信這點是很好理解的。但對于服務器CPU來講,超頻是絕對不允許的。前面說到CPU決定著主板的運行速度,兩者是同步運行的,如果把服務器CPU超頻了,改變了外頻,會產(chǎn)生異步運行,(臺式機很多主板都支持異步運行)這樣會造成整個服務器系統(tǒng)的不穩(wěn)定。
目前的絕大部分電腦系統(tǒng)中外頻也是內(nèi)存與主板之間的同步運行的速度,在這種方式下,可以理解為CPU的外頻直接與內(nèi)存相連通,實現(xiàn)兩者間的同步運行狀態(tài)。外頻與前端總線(FSB)頻率很容易被混為一談,下面的前端總線介紹我們談談兩者的區(qū)別。
3.前端總線(FSB)頻率
前端總線(FSB)頻率(即總線頻率)是直接影響CPU與內(nèi)存直接數(shù)據(jù)交換速度。有一條公式可以計算,即數(shù)據(jù)帶寬=(總線頻率×數(shù)據(jù)帶寬)/8,數(shù)據(jù)傳輸最大帶寬取決于所有同時傳輸?shù)臄?shù)據(jù)的寬度和傳輸頻率。比方,現(xiàn)在的支持64位的至強Nocona,前端總線是800MHz,按照公式,它的數(shù)據(jù)傳輸最大帶寬是6.4GB/秒。
外頻與前端總線(FSB)頻率的區(qū)別:前端總線的速度指的是數(shù)據(jù)傳輸?shù)乃俣龋忸l是CPU與主板之間同步運行的速度。也
就是說,100MHz外頻特指數(shù)字脈沖信號在每秒鐘震蕩一千萬次;而100MHz前端總線指的是每秒鐘CPU可接受的數(shù)據(jù)傳輸量是100MHz×64bit÷8Byte/bit=800MB/s。
其實現(xiàn)在“HyperTransport”構架的出現(xiàn),讓這種實際意義上的前端總線(FSB)頻率發(fā)生了變化。之前我們知道IA-32架構必須有三大重要的構件:內(nèi)存控制器Hub (MCH) ,I/O控制器Hub和PCI Hub,像Intel很典型的芯片組 Intel 7501、Intel7505芯片組,為雙至強處理器量身定做的,它們所包含的MCH為CPU提供了頻率為533MHz的前端總線,配合DDR內(nèi)存,前端總線帶寬可達到4.3GB/秒。但隨著處理器性能不斷提高同時給系統(tǒng)架構帶來了很多問題。而“HyperTransport”構架不但解決了問題,而且更有效地提高了總線帶寬,比方AMD Opteron處理器,靈活的HyperTransport I/O總線體系結構讓它整合了內(nèi)存控制器,使處理器不通過系統(tǒng)總線傳給芯片組而直接和內(nèi)存交換數(shù)據(jù)。這樣的話,前端總線(FSB)頻率在AMD Opteron處理器就不知道從何談起了。
4、CPU的位和字長
位:在數(shù)字電路和電腦技術中采用二進制,代碼只有“0”和“1”,其中無論是 “0”或是“1”在CPU中都是 一“位”。
字長:電腦技術中對CPU在單位時間內(nèi)(同一時間)能一次處理的二進制數(shù)的位數(shù)叫字長。所以能處理字長為8位數(shù)據(jù)的CPU通常就叫8位的CPU。同理 32位的CPU就能在單位時間內(nèi)處理字長為32位的二進制數(shù)據(jù)。字節(jié)和字長的區(qū)別:由于常用的英文字符用8位二進制就可以表示,所以通常就將8位稱為一個字節(jié)。字長的長度是不固定的,對于不同的CPU、字長的長度也不一樣。8位的CPU一次只能處理一個字節(jié),而32位的CPU一次就能處理4個字節(jié),同理字長為64位的CPU一次可以處理8個字節(jié)。
5.倍頻系數(shù)
倍頻系數(shù)是指CPU主頻與外頻之間的相對比例關系。在相同的外頻下,倍頻越高CPU的頻率也越高。但實際上,在相同外頻的前提下,高倍頻的CPU本身意義并不大。這是因為CPU與系統(tǒng)之間數(shù)據(jù)傳輸速度是有限的,一味追求高倍頻而得到高主頻的CPU就會出現(xiàn)明顯的“瓶頸”效應—CPU從系統(tǒng)中得到數(shù)據(jù)的極限速度不能夠滿足CPU運算的速度。一般除了工程樣版的 Intel的CPU都是鎖了倍頻的,而AMD之前都沒有鎖
6.緩存
緩存大小也是CPU的重要指標之一,而且緩存的結構和大小對CPU速度的影響非常大,CPU內(nèi)緩存的運行頻率極高,一般
是和處理器同頻運作,工作效率遠遠大于系統(tǒng)內(nèi)存和硬盤。實際工作時,CPU往往需要重復讀取同樣的數(shù)據(jù)塊,而緩存容量的增大,可以大幅度提升CPU內(nèi)部讀取數(shù)據(jù)的命中率,而不用再到內(nèi)存或者硬盤上尋找,以此提高系統(tǒng)性能。但是由于CPU芯片面積和成本的因素來考慮,緩存都很小。
L1 Cache(一級緩存)是CPU第一層高速緩存,分為數(shù)據(jù)緩存和指令緩存。內(nèi)置的L1高速緩存的容量和結構對CPU的性能影響較大,不過高速緩沖存儲器均由靜態(tài)RAM組成,結構較復雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。一般服務器CPU的L1緩存的容量通常在32—256KB。
L2 Cache(二級緩存)是CPU的第二層高速緩存,分內(nèi)部和外部兩種芯片。內(nèi)部的芯片二級緩存運行速度與主頻相同,而外部的二級緩存則只有主頻的一半。L2高速緩存容量也會影響CPU的性能,原則是越大越好,現(xiàn)在家庭用CPU容量最大的是512KB,而服務器和工作站上用CPU的L2高速緩存更高達256-1MB,有的高達2MB或者3MB。
L3 Cache(三級緩存),分為兩種,早期的是外置,現(xiàn)在的都是內(nèi)置的。而它的實際作用即是,L3緩存的應用可以進一步降低內(nèi)存延遲,同時提升大數(shù)據(jù)量計算時處理器的性能。降低內(nèi)存延遲和提升大數(shù)據(jù)量計算能力對游戲都很有幫助。而在服務器領域增加L3緩存在性能方面仍然有顯著的提升。比方具有較大L3緩存的配置利用物理內(nèi)存會更有效,故它比較慢的磁盤I/O子系統(tǒng)可以處理更多的數(shù)據(jù)請求。具有較大L3緩存的處理器提供更有效的文件系統(tǒng)緩存行為及較短消息和處理器隊列長度。
其實最早的L3緩存被應用在AMD發(fā)布的K6-III處理器上,當時的L3緩存受限于制造工藝,并沒有被集成進芯片內(nèi)部,而是集成在主板上。在只能夠和系統(tǒng)總線頻率同步的L3緩存同主內(nèi)存其實差不了多少。后來使用L3緩存的是英特爾為服務器市場所推出的Itanium處理器。接著就是P4EE和至強MP。Intel還打算推出一款9MB L3緩存的Itanium2處理器,和以后24MB L3緩存的雙核心Itanium2處理器。
但基本上L3緩存對處理器的性能提高顯得不是很重要,比方配備1MB L3緩存的Xeon MP處理器卻仍然不是Opteron的對手,由此可見前端總線的增加,要比緩存增加帶來更有效的性能提升。
7.CPU擴展指令集
CPU依靠指令來計算和控制系統(tǒng),每款CPU在設計時就規(guī)定了一系列與其硬件電路相配合的指令系統(tǒng)。指令的強弱也是CPU的重要指標,指令集是提高微處理器效率的最
有效工具之一。從現(xiàn)階段的主流體系結構講,指令集可分為復雜指令集和精簡指令集兩部分,而從具體運用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SEE3和AMD的3DNow!等都是CPU的擴展指令集,分別增強了CPU的多媒體、圖形圖象和Internet等的處理能力。我們通常會把 CPU的擴展指令集稱為"CPU的指令集"。SSE3指令集也是目前規(guī)模最小的指令集,此前MMX包含有57條命令,SSE包含有50條命令,SSE2包含有144條命令,SSE3包含有13條命令。目前SSE3也是最先進的指令集,英特爾Prescott處理器已經(jīng)支持SSE3指令集,AMD會在未來雙核心處理器當中加入對SSE3指令集的支持,全美達的處理器也將支持這一指令集。
8.CPU內(nèi)核和I/O工作電壓
從586CPU開始,CPU的工作電壓分為內(nèi)核電壓和I/O電壓兩種,通常CPU的核心電壓小于等于I/O電壓。其中內(nèi)核電壓的大小是根據(jù)CPU的生產(chǎn)工藝而定,一般制作工藝越小,內(nèi)核工作電壓越低;I/O電壓一般都在1.6~5V。低電壓能解決耗電過大和發(fā)熱過高的問題。
9.制造工藝
制造工藝的微米是指IC內(nèi)電路與電路之間的距離。制造工藝的趨勢是向密集度愈高的方向發(fā)展。密度愈高的IC電路設計,意味著在同樣大小面積的IC中,可以擁有密度更高、功能更復雜的電路設計?,F(xiàn)在主要的180nm、130nm、90nm。最近官方已經(jīng)表示有65nm的制造工藝了。
10.指令集
?。?)CISC指令集
CISC指令集,也稱為復雜指令集,英文名是CISC,(Complex Instruction Set Computer的縮寫)。在CISC微處理器中,程序的各條指令是按順序串行執(zhí)行的,每條指令中的各個操作也是按順序串行執(zhí)行的。順序執(zhí)行的優(yōu)點是控制簡單,但計算機各部分的利用率不高,執(zhí)行速度慢。其實它是英特爾生產(chǎn)的x86系列(也就是IA-32架構)CPU及其兼容CPU,如AMD、VIA的。即使是現(xiàn)在新起的X86-64(也被成AMD64)都是屬于CISC的范疇。
要知道什么是指令集還要從當今的X86架構的 CPU說起。X86指令集是Intel為其第一塊16位CPU(i8086)專門開發(fā)的,IBM1981年推出的世界第一臺PC機中的CPU— i8088(i8086簡化版)使用的也是X86指令,同時電腦中為提高浮點數(shù)據(jù)處理能力而增加了X87芯片,以后就將X86指令集和X87指令集統(tǒng)稱為 X86指令集。
雖然隨著CPU技術的不斷發(fā)展,Intel陸續(xù)研制出更新型的i80386、i80486直到過去的PII至強、PIII至強、Pentium 3,
最后到今天的Pentium 4系列、至強(不包括至強Nocona),但為了保證電腦能繼續(xù)運行以往開發(fā)的各類應用程序以保護和繼承豐富的軟件資源,所以Intel公司所生產(chǎn)的所有 CPU仍然繼續(xù)使用X86指令集,所以它的CPU仍屬于X86系列。由于Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天龐大的X86系列及兼容CPU陣容。x86CPU目前主要有intel的服務器CPU和AMD的服務器CPU兩類。
(2)RISC指令集
RISC是英文“Reduced Instruction Set Computing ” 的縮寫,中文意思是“精簡指令集”。它是在CISC指令系統(tǒng)基礎上發(fā)展起來的,有人對CISC機進行測試表明,各種指令的使用頻度相當懸殊,最常使用的是一些比較簡單的指令,它們僅占指令總數(shù)的20%,但在程序中出現(xiàn)的頻度卻占80%。復雜的指令系統(tǒng)必然增加微處理器的復雜性,使處理器的研制時間長,成本高。并且復雜指令需要復雜的操作,必然會降低計算機的速度?;谏鲜鲈?,20世紀80年代RISC型CPU誕生了,相對于CISC型CPU ,RISC型CPU不僅精簡了指令系統(tǒng),還采用了一種叫做“超標量和超流水線結構”,大大增加了并行處理能力。RISC指令集是高性能CPU的發(fā)展方向。它與傳統(tǒng)的CISC(復雜指令集)相對。相比而言,RISC的指令格式統(tǒng)一,種類比較少,尋址方式也比復雜指令集少。當然處理速度就提高很多了。目前在中高檔服務器中普遍采用這一指令系統(tǒng)的CPU,特別是高檔服務器全都采用RISC指令系統(tǒng)的CPU。RISC指令系統(tǒng)更加適合高檔服務器的操作系統(tǒng) UNIX,現(xiàn)在Linux也屬于類似UNIX的操作系統(tǒng)。RISC型CPU與Intel和AMD的CPU在軟件和硬件上都不兼容。
目前,在中高檔服務器中采用RISC指令的CPU主要有以下幾類:PowerPC處理器、SPARC處理器、PA-RISC處理器、MIPS處理器、Alpha處理器。
?。?)IA-64
EPIC(Explicitly Parallel Instruction Computers,精確并行指令計算機)是否是RISC和CISC體系的繼承者的爭論已經(jīng)有很多,單以EPIC體系來說,它更像Intel的處理器邁向 RISC體系的重要步驟。從理論上說,EPIC體系設計的CPU,在相同的主機配置下,處理Windows的應用軟件比基于Unix下的應用軟件要好得多。
Intel采用EPIC技術的服務器CPU是安騰Itanium(開發(fā)代號即Merced)。它是64位處理器,也是IA-64系列中的第一款。微軟也已開發(fā)了代號為Win64的操作系統(tǒng),在軟件上加以支持。在Intel采用了X86指令集
之后,它又轉(zhuǎn)而尋求更先進的64-bit微處理器,Intel這樣做的原因是,它們想擺脫容量巨大的x86架構,從而引入精力充沛而又功能強大的指令集,于是采用EPIC指令集的IA-64架構便誕生了。IA-64 在很多方面來說,都比x86有了長足的進步。突破了傳統(tǒng)IA32架構的許多限制,在數(shù)據(jù)的處理能力,系統(tǒng)的穩(wěn)定性、安全性、可用性、可觀理性等方面獲得了突破性的提高。
IA-64微處理器最大的缺陷是它們?nèi)狈εcx86的兼容,而Intel為了IA-64處理器能夠更好地運行兩個朝代的軟件,它在IA-64處理器上(Itanium、Itanium2 ……)引入了x86-to-IA-64的解碼器,這樣就能夠把x86指令翻譯為IA-64指令。這個解碼器并不是最有效率的解碼器,也不是運行x86代碼的最好途徑(最好的途徑是直接在x86處理器上運行x86代碼),因此Itanium 和Itanium2在運行x86應用程序時候的性能非常糟糕。這也成為X86-64產(chǎn)生的根本原因。
(4)X86-64 (AMD64 / EM64T)
AMD公司設計,可以在同一時間內(nèi)處理64位的整數(shù)運算,并兼容于X86-32架構。其中支持64位邏輯定址,同時提供轉(zhuǎn)換為32位定址選項;但數(shù)據(jù)操作指令默認為32位和8位,提供轉(zhuǎn)換成64位和16位的選項;支持常規(guī)用途寄存器,如果是32位運算操作,就要將結果擴展成完整的64位。這樣,指令中有 “直接執(zhí)行”和“轉(zhuǎn)換執(zhí)行”的區(qū)別,其指令字段是8位或32位,可以避免字段過長。
x86-64(也叫AMD64)的產(chǎn)生也并非空穴來風,x86處理器的32bit尋址空間限制在4GB內(nèi)存,而IA-64的處理器又不能兼容x86。AMD充分考慮顧客的需求,加強x86指令集的功能,使這套指令集可同時支持64位的運算模式,因此AMD把它們的結構稱之為x86-64。在技術上AMD在x86-64架構中為了進行64位運算,AMD為其引入了新增了R8-R15通用寄存器作為原有X86處理器寄存器的擴充,但在而在32位環(huán)境下并不完全使用到這些寄存器。原來的寄存器諸如 EAX、EBX也由32位擴張至64位。在SSE單元中新加入了8個新寄存器以提供對SSE2的支持。寄存器數(shù)量的增加將帶來性能的提升。與此同時,為了同時支持32和64位代碼及寄存器,x86-64架構允許處理器工作在以下兩種模式:Long Mode(長模式)和Legacy Mode(遺傳模式),Long模式又分為兩種子模式(64bit模式和Compatibility mode兼容模式)。該標準已經(jīng)被引進在AMD服務器處理器中的Opteron處理器。
而今年也推出了支持64位的 EM64T技術,再還沒被正式命為EM64T之前是IA32E,這是英特爾64位擴展技術的名字,用來區(qū)別X86指令集。Intel的EM64T支持64 位sub-mode,和AMD的X86-64技術類似,采用64位的線性平面尋址,加入8個新的通用寄存器(GPRs),還增加8個寄存器支持SSE指令。與AMD相類似,Intel的64位技術將兼容IA32和IA32E,只有在運行64位操作系統(tǒng)下的時候,才將會采用IA32E。IA32E將由2個 sub-mode組成:64位sub-mode和32位sub-mode,同AMD64一樣是向下兼容的。Intel的EM64T將完全兼容AMD的 X86-64技術。現(xiàn)在Nocona處理器已經(jīng)加入了一些64位技術,Intel的Pentium 4E處理器也支持64位技術。
應該說,這兩者都是兼容x86指令集的64位微處理器架構,但EM64T與AMD64還是有一些不一樣的地方,AMD64處理器中的NX位在Intel的處理器中將沒有提供。