電子發(fā)燒友網(wǎng)訊:最近聽到不少用戶詢問cpu是什么?cpu是什么意思?cpu其實(shí)是中央處理器的簡稱,cpu是計(jì)算機(jī)控制的核心。
什么是CPU
CPU是電腦系統(tǒng)的心臟,電腦特別是微型電腦的快速發(fā)展過程,實(shí)質(zhì)上就是CPU從低級向高級、從簡單向復(fù)雜發(fā)展的過程。
一、CPU的概念
CPU(Central Processing Unit)又叫中央處理器,其主要功能是進(jìn)行運(yùn)算和邏輯運(yùn)算,內(nèi)部結(jié)構(gòu)大概可以分為控制單元、算術(shù)邏輯單元和存儲單元等幾個(gè)部分。按照其處理信息的字長可以分為:八位微處理器、十六位微處理器、三十二位微處理器以及六十四位微處理器等等。
二、CPU主要的性能指標(biāo)
主頻:
? ? ? ? 即CPU內(nèi)部核心工作的時(shí)鐘頻率,單位一般是兆赫茲(MHz)。這是我們平時(shí)無論是使用還是購買計(jì)算機(jī)都最關(guān)心的一個(gè)參數(shù),我們通常所說的133、166、450等就是指它。對于同種類的CPU,主頻越高,CPU的速度就越快,整機(jī)的性能就越高。
外頻和倍頻數(shù):
? ? ? ? 外頻即CPU的外部時(shí)鐘頻率。外頻是由電腦主板提供的,CPU的主頻與外頻的關(guān)系是:CPU主頻=外頻×倍頻數(shù)。
前端總線(FSB)頻率
前端總線(FSB)頻率(即總線頻率)是直接影響CPU與內(nèi)存直接數(shù)據(jù)交換速度。有一條公式可以計(jì)算,即數(shù)據(jù)帶寬=(總線頻率×數(shù)據(jù)位寬)/8,數(shù)據(jù)傳輸最大帶寬取決于所有同時(shí)傳輸?shù)臄?shù)據(jù)的寬度和傳輸頻率。比方,現(xiàn)在的支持64位的至強(qiáng)Nocona,前端總線是800MHz,按照公式,它的數(shù)據(jù)傳輸最大帶寬是6.4GB/秒。
外頻與前端總線(FSB)頻率的區(qū)別:前端總線的速度指的是數(shù)據(jù)傳輸?shù)乃俣?,外頻是CPU與主板之間同步運(yùn)行的速度。也就是說,100MHz外頻特指數(shù)字脈沖信號在每秒鐘震蕩一億次;而100MHz前端總線指的是每秒鐘CPU可接受的數(shù)據(jù)傳輸量是100MHz×64bit÷8bit/Byte=800MB/s。
其實(shí)現(xiàn)在“HyperTransport”構(gòu)架的出現(xiàn),讓這種實(shí)際意義上的前端總線(FSB)頻率發(fā)生了變化。IA-32架構(gòu)必須有三大重要的構(gòu)件:內(nèi)存控制器Hub (MCH),I/O控制器Hub和PCI Hub,像Intel很典型的芯片組Intel 7501.Intel7505芯片組,為雙至強(qiáng)處理器量身定做的,它們所包含的MCH為CPU提供了頻率為533MHz的前端總線,配合DDR內(nèi)存,前端總線帶寬可達(dá)到4.3GB/秒。但隨著處理器性能不斷提高同時(shí)給系統(tǒng)架構(gòu)帶來了很多問題。而“HyperTransport”構(gòu)架不但解決了問題,而且更有效地提高了總線帶寬,比方AMD Opteron處理器,靈活的HyperTransport I/O總線體系結(jié)構(gòu)讓它整合了內(nèi)存控制器,使處理器不通過系統(tǒng)總線傳給芯片組而直接和內(nèi)存交換數(shù)據(jù)。這樣的話,前端總線(FSB)頻率在AMD Opteron處理器就不知道從何談起了。
緩存
緩存大小也是CPU的重要指標(biāo)之一,而且緩存的結(jié)構(gòu)和大小對CPU速度的影響非常大,CPU內(nèi)緩存的運(yùn)行頻率極高,一般是和處理器同頻運(yùn)作,工作效率遠(yuǎn)遠(yuǎn)大于系統(tǒng)內(nèi)存和硬盤。實(shí)際工作時(shí),CPU往往需要重復(fù)讀取同樣的數(shù)據(jù)塊,而緩存容量的增大,可以大幅度提升CPU內(nèi)部讀取數(shù)據(jù)的命中率,而不用再到內(nèi)存或者硬盤上尋找,以此提高系統(tǒng)性能。但是由于CPU芯片面積和成本的因素來考慮,緩存都很小。
L1 Cache(一級緩存)是CPU第一層高速緩存,分為數(shù)據(jù)緩存和指令緩存。內(nèi)置的L1高速緩存的容量和結(jié)構(gòu)對CPU的性能影響較大,不過高速緩沖存儲器均由靜態(tài)RAM組成,結(jié)構(gòu)較復(fù)雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。一般服務(wù)器CPU的L1緩存的容量通常在32-256KB。
L2 Cache(二級緩存)是CPU的第二層高速緩存,分內(nèi)部和外部兩種芯片。內(nèi)部的芯片二級緩存運(yùn)行速度與主頻相同,而外部的二級緩存則只有主頻的一半。L2高速緩存容量也會(huì)影響CPU的性能,原則是越大越好,以前家庭用CPU容量最大的是512KB,現(xiàn)在筆記本電腦中也可以達(dá)到2M,而服務(wù)器和工作站上用CPU的L2高速緩存更高,可以達(dá)到8M以上。
L3 Cache(三級緩存),分為兩種,早期的是外置,現(xiàn)在的都是內(nèi)置的。而它的實(shí)際作用即是,L3緩存的應(yīng)用可以進(jìn)一步降低內(nèi)存延遲,同時(shí)提升大數(shù)據(jù)量計(jì)算時(shí)處理器的性能。降低內(nèi)存延遲和提升大數(shù)據(jù)量計(jì)算能力對游戲都很有幫助。而在服務(wù)器領(lǐng)域增加L3緩存在性能方面仍然有顯著的提升。比方具有較大L3緩存的配置利用物理內(nèi)存會(huì)更有效,故它比較慢的磁盤I/O子系統(tǒng)可以處理更多的數(shù)據(jù)請求。具有較大L3緩存的處理器提供更有效的文件系統(tǒng)緩存行為及較短消息和處理器隊(duì)列長度。
其實(shí)最早的L3緩存被應(yīng)用在AMD發(fā)布的K6-III處理器上,當(dāng)時(shí)的L3緩存受限于制造工藝,并沒有被集成進(jìn)芯片內(nèi)部,而是集成在主板上。在只能夠和系統(tǒng)總線頻率同步的L3緩存同主內(nèi)存其實(shí)差不了多少。后來使用L3緩存的是英特爾為服務(wù)器市場所推出的Itanium處理器。接著就是P4EE和至強(qiáng)MP。Intel還打算推出一款9MB L3緩存的Itanium2處理器,和以后24MB L3緩存的雙核心Itanium2處理器。
但基本上L3緩存對處理器的性能提高顯得不是很重要,比方配備1MB L3緩存的Xeon MP處理器卻仍然不是Opteron的對手,由此可見前端總線的增加,要比緩存增加帶來更有效的性能提升。
CPU擴(kuò)展指令集
CPU依靠指令來自計(jì)算和控制系統(tǒng),每款CPU在設(shè)計(jì)時(shí)就規(guī)定了一系列與其硬件電路相配合的指令系統(tǒng)。指令的強(qiáng)弱也是CPU的重要指標(biāo),指令集是提高微處理器效率的最有效工具之一。
從現(xiàn)階段的主流體系結(jié)構(gòu)講,指令集可分為復(fù)雜指令集和精簡指令集兩部分(指令集共有四個(gè)種類),而從具體運(yùn)用看,如Intel的MMX(Multi Media Extended,此為AMD猜測的全稱,Intel并沒有說明詞源)、SSE、SSE2(Streaming-Single instruction multiple data-Extensions 2)、SSE3、SSE4系列和AMD的3DNow!等都是CPU的擴(kuò)展指令集,分別增強(qiáng)了CPU的多媒體、圖形圖象和Internet等的處理能力。
通常會(huì)把CPU的擴(kuò)展指令集稱為”CPU的指令集”。SSE3指令集也是目前規(guī)模最小的指令集,此前MMX包含有57條命令,SSE包含有50條命令,SSE2包含有144條命令,SSE3包含有13條命令。
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ā)熱過高的問題。
內(nèi)部緩存:
? ? ? ?采用速度極快的SRAM制作,用于暫時(shí)存儲CPU運(yùn)算時(shí)的最近的部分指令和數(shù)據(jù),存取速度與CPU主頻相同,內(nèi)部緩存的容量一般以KB為單位。當(dāng)它全速工作時(shí),其容量越大,使用頻率最高的數(shù)據(jù)和結(jié)果就越容易盡快進(jìn)入CPU進(jìn)行運(yùn)算,CPU工作時(shí)與存取速度較慢的外部緩存和內(nèi)存間交換數(shù)據(jù)的次數(shù)越少,相對電腦的運(yùn)算速度可以提高。
地址總線寬度:
? ? ? ? 地址總線寬度決定了CPU可以訪問的物理地址空間,簡單地說就是CPU到底能夠使用多大容量的內(nèi)存。
多媒體擴(kuò)展指令集(MMX)技術(shù):MMX是Intel公司為增強(qiáng)Pentium CPU 在音像、圖形和通信應(yīng)用方面而采取的新技術(shù)。這一技術(shù)為CPU增加了全新的57條MMX指令,這些加了MMX指令的 CPU比普通CPU在運(yùn)行含有MMX指令的程序時(shí),處理多媒體的能力上提高了60%左右。即使不使用MMX指令的程序,也能獲得15%左右的性能提升。
微處理器在多方面改變了我們的生活,現(xiàn)在認(rèn)為理所當(dāng)然的事,在以前卻是難以想象的。六十年代計(jì)算機(jī)大得可充滿整個(gè)房間,只有很少的人能使用它們。六十年代中期集成電路的發(fā)明使電路的小型化得以在一塊單一的硅片上實(shí)現(xiàn),為微處理器的發(fā)展奠定了基礎(chǔ)。在可預(yù)見的未來,CPU的處理能力將繼續(xù)保持高速增長,小型化、集成化永遠(yuǎn)是發(fā)展趨勢,同時(shí)會(huì)形成不同層次的產(chǎn)品,也包括專用處理器。
CPU的功能
計(jì)算機(jī)求解問題是通過執(zhí)行程序來實(shí)現(xiàn)的。程序是由指令構(gòu)成的序列,執(zhí)行程序就是按指令序列逐條執(zhí)行指令。一旦把程序裝入主存儲器(簡稱主存)中,就可以由CPU自動(dòng)地完成從主存取指令和執(zhí)行指令的任務(wù)。
CPU具有以下4個(gè)方面的基本功能:
1. 指令順序控制
這是指控制程序中指令的執(zhí)行順序。程序中的各指令之間是有嚴(yán)格順序的,必須嚴(yán)格按程序規(guī)定的順序執(zhí)行,才能保證計(jì)算機(jī)工作的正確性。
2. 操作控制
一條指令的功能往往是由計(jì)算機(jī)中的部件執(zhí)行一序列的操作來實(shí)現(xiàn)的。CPU要根據(jù)指令的功能,產(chǎn)生相應(yīng)的操作控制信號,發(fā)給相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動(dòng)作。
3. 時(shí)間控制
時(shí)間控制就是對各種操作實(shí)施時(shí)間上的定時(shí)。在一條指令的執(zhí)行過程中,在什么時(shí)間做什么操作均應(yīng)受到嚴(yán)格的控制。只有這樣,計(jì)算機(jī)才能有條不紊地自動(dòng)工作。
4. 數(shù)據(jù)加工
即對數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算,或進(jìn)行其他的信息處理。
工作原理
? ? CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼。它把指令分解成一系列的微操作,然后發(fā)出各種控制命令,執(zhí)行微操作系列,從而完成一條指令的執(zhí)行。
指令是計(jì)算機(jī)規(guī)定執(zhí)行操作的類型和操作數(shù)的基本命令。指令是由一個(gè)字節(jié)或者多個(gè)字節(jié)組成,其中包括操作碼字段、一個(gè)或多個(gè)有關(guān)操作數(shù)地址的字段以及一些表征機(jī)器狀態(tài)的狀態(tài)字以及特征碼。有的指令中也直接包含操作數(shù)本身。
提取
第一階段,提取,從存儲器或高速緩沖存儲器中檢索指令(為數(shù)值或一系列數(shù)值)。由程序計(jì)數(shù)器(Program Counter)指定存儲器的位置,程序計(jì)數(shù)器保存供識別目前程序位置的數(shù)值。換言之,程序計(jì)數(shù)器記錄了CPU在目前程序里的蹤跡。
提取指令之后,程序計(jì)數(shù)器根據(jù)指令長度增加存儲器單元。指令的提取必須常常從相對較慢的存儲器尋找,因此導(dǎo)致CPU等候指令的送入。這個(gè)問題主要被論及在現(xiàn)代處理器的快取和管線化架構(gòu)。
解碼
CPU根據(jù)存儲器提取到的指令來決定其執(zhí)行行為。在解碼階段,指令被拆解為有意義的片斷。根據(jù)CPU的指令集架構(gòu)(ISA)定義將數(shù)值解譯為指令。一部分的指令數(shù)值為運(yùn)算碼(Opcode),其指示要進(jìn)行哪些運(yùn)算。其它的數(shù)值通常供給指令必要的信息,諸如一個(gè)加法(Addition)運(yùn)算的運(yùn)算目標(biāo)。這樣的運(yùn)算目標(biāo)也許提供一個(gè)常數(shù)值(即立即值),或是一個(gè)空間的定址值:暫存器或存儲器位址,以定址模式?jīng)Q定。在舊的設(shè)計(jì)中,CPU里的指令解碼部分是無法改變的硬件設(shè)備。不過在眾多抽象且復(fù)雜的CPU和指令集架構(gòu)中,一個(gè)微程序時(shí)常用來幫助轉(zhuǎn)換指令為各種形態(tài)的訊號。這些微程序在已成品的CPU中往往可以重寫,方便變更解碼指令。
執(zhí)行
在提取和解碼階段之后,接著進(jìn)入執(zhí)行階段。該階段中,連接到各種能夠進(jìn)行所需運(yùn)算的CPU部件。
例如,要求一個(gè)加法運(yùn)算,算術(shù)邏輯單元(ALU,Arithmetic Logic Unit)將會(huì)連接到一組輸入和一組輸出。輸入提供了要相加的數(shù)值,而輸出將含有總和的結(jié)果。ALU內(nèi)含電路系統(tǒng),易于輸出端完成簡單的普通運(yùn)算和邏輯運(yùn)算(比如加法和位元運(yùn)算)。如果加法運(yùn)算產(chǎn)生一個(gè)對該CPU處理而言過大的結(jié)果,在標(biāo)志暫存器里,運(yùn)算溢出(Arithmetic Overflow)標(biāo)志可能會(huì)被設(shè)置。
寫回
最終階段,寫回,以一定格式將執(zhí)行階段的結(jié)果簡單的寫回。運(yùn)算結(jié)果經(jīng)常被寫進(jìn)CPU內(nèi)部的暫存器,以供隨后指令快速存取。在其它案例中,運(yùn)算結(jié)果可能寫進(jìn)速度較慢,但容量較大且較便宜的主記憶體中。某些類型的指令會(huì)操作程序計(jì)數(shù)器,而不直接產(chǎn)生結(jié)果。這些一般稱作“跳轉(zhuǎn)”(Jumps),并在程式中帶來循環(huán)行為、條件性執(zhí)行(透過條件跳轉(zhuǎn))和函式。許多指令會(huì)改變標(biāo)志暫存器的狀態(tài)位元。這些標(biāo)志可用來影響程式行為,緣由于它們時(shí)常顯出各種運(yùn)算結(jié)果。例如,以一個(gè)“比較”指令判斷兩個(gè)值大小,根據(jù)比較結(jié)果在標(biāo)志暫存器上設(shè)置一個(gè)數(shù)值。這個(gè)標(biāo)志可藉由隨后跳轉(zhuǎn)指令來決定程式動(dòng)向。在執(zhí)行指令并寫回結(jié)果之后,程序計(jì)數(shù)器值會(huì)遞增,反覆整個(gè)過程,下一個(gè)指令周期正常的提取下一個(gè)順序指令。如果完成的是跳轉(zhuǎn)指令,程序計(jì)數(shù)器將會(huì)修改成跳轉(zhuǎn)到的指令位址,且程序繼續(xù)正常執(zhí)行。許多復(fù)雜的CPU可以一次提取多個(gè)指令、解碼,并且同時(shí)執(zhí)行。這個(gè)部分一般涉及“經(jīng)典RISC管線”,那些實(shí)際上是在眾多使用簡單CPU的電子裝置中快速普及(常稱為微控制(Microcontrollers))。
基本結(jié)構(gòu)
? ? ? ? CPU包括運(yùn)算邏輯部件、寄存器部件和控制部件等。
運(yùn)算邏輯部件
運(yùn)算邏輯部件,可以執(zhí)行定點(diǎn)或浮點(diǎn)算術(shù)運(yùn)算操作、移位操作以及邏輯操作,也可執(zhí)行地址運(yùn)算和轉(zhuǎn)換。
寄存器部件
寄存器部件,包括通用寄存器、專用寄存器和控制寄存器。
32位CPU的寄存器
? ? ? ? 通用寄存器又可分定點(diǎn)數(shù)和浮點(diǎn)數(shù)兩類,它們用來保存指令中的寄存器操作數(shù)和操作結(jié)果。
通用寄存器是中央處理器的重要組成部分,大多數(shù)指令都要訪問到通用寄存器。通用寄存器的寬度決定計(jì)算機(jī)內(nèi)部的數(shù)據(jù)通路寬度,其端口數(shù)目往往可影響內(nèi)部操作的并行性。
專用寄存器是為了執(zhí)行一些特殊操作所需用的寄存器。
控制寄存器通常用來指示機(jī)器執(zhí)行的狀態(tài),或者保持某些指針,有處理狀態(tài)寄存器、地址轉(zhuǎn)換目錄的基地址寄存器、特權(quán)狀態(tài)寄存器、條件碼寄存器、處理異常事故寄存器以及檢錯(cuò)寄存器等。
有的時(shí)候,中央處理器中還有一些緩存,用來暫時(shí)存放一些數(shù)據(jù)指令,緩存越大,說明CPU的運(yùn)算速度越快,目前市場上的中高端中央處理器都有2M左右的二級緩存,高端中央處理器有4M左右的二級緩存。
控制部件
控制部件,主要負(fù)責(zé)對指令譯碼,并且發(fā)出為完成每條指令所要執(zhí)行的各個(gè)操作的控制信號。
其結(jié)構(gòu)有兩種:一種是以微存儲為核心的微程序控制方式;一種是以邏輯硬布線結(jié)構(gòu)為主的控制方式。
微存儲中保持微碼,每一個(gè)微碼對應(yīng)于一個(gè)最基本的微操作,又稱微指令;各條指令是由不同序列的微碼組成,這種微碼序列構(gòu)成微程序。中央處理器在對指令譯碼以后,即發(fā)出一定時(shí)序的控制信號,按給定序列的順序以微周期為節(jié)拍執(zhí)行由這些微碼確定的若干個(gè)微操作,即可完成某條指令的執(zhí)行。
簡單指令是由(3~5)個(gè)微操作組成,復(fù)雜指令則要由幾十個(gè)微操作甚至幾百個(gè)微操作組成。
邏輯硬布線控制器則完全是由隨機(jī)邏輯組成。指令譯碼后,控制器通過不同的邏輯門的組合,發(fā)出不同序列的控制時(shí)序信號,直接去執(zhí)行一條指令中的各個(gè)操作。
技術(shù)架構(gòu)制造工藝
制造工藝的微米是指IC內(nèi)電路與電路之間的距離。制造工藝的趨勢是向密集度愈高的方向發(fā)展。密度愈高的IC電路設(shè)計(jì),意味著在同樣大小面積的IC中,可以擁有密度更高、功能更復(fù)雜的電路設(shè)計(jì)?,F(xiàn)在主要的180nm、130nm、90nm、65nm、45納米。intel已經(jīng)于2010年發(fā)布32納米的制造工藝的酷睿i3/酷睿i5/酷睿i7系列。并且已有發(fā)布22nm與15nm產(chǎn)品的計(jì)劃。而AMD則表示、自己的產(chǎn)品將會(huì)直接跳過32nm工藝(2010年第三季度生產(chǎn)少許32nm產(chǎn)品、如Orochi、Llano)于2011年中期初發(fā)布28nm的產(chǎn)品(APU)
指令集
⑴CISC指令集
CISC指令集,也稱為復(fù)雜指令集,英文名是CISC,(Complex Instruction Set Computer的縮寫)。在CISC微處理器中,程序的各條指令是按順序串行執(zhí)行的,每條指令中的各個(gè)操作也是按順序串行執(zhí)行的。順序執(zhí)行的優(yōu)點(diǎn)是控制簡單,但計(jì)算機(jī)各部分的利用率不高,執(zhí)行速度慢。其實(shí)它是英特爾生產(chǎn)的x86系列(也就是IA-32架構(gòu))CPU及其兼容CPU,如AMD、VIA的。即使是現(xiàn)在新起的X86-64(也說成AMD64)都是屬于CISC的范疇。
要知道什么是指令集還要從當(dāng)今的X86架構(gòu)的CPU說起。X86指令集是Intel為其第一塊16位CPU(i8086)專門開發(fā)的,IBM1981年推出的世界第一臺PC機(jī)中的CPU-i8088(i8086簡化版)使用的也是X86指令,同時(shí)電腦中為提高浮點(diǎn)數(shù)據(jù)處理能力而增加了X87芯片,以后就將X86指令集和X87指令集統(tǒng)稱為X86指令集。
雖然隨著CPU技術(shù)的不斷發(fā)展,Intel陸續(xù)研制出更新型的i80386.i80486直到過去的PII至強(qiáng)、PIII至強(qiáng)、Pentium 3,Pentium 4系列,最后到今天的酷睿2系列、至強(qiáng)(不包括至強(qiáng)Nocona),但為了保證電腦能繼續(xù)運(yùn)行以往開發(fā)的各類應(yīng)用程序以保護(hù)和繼承豐富的軟件資源,所以Intel公司所生產(chǎn)的所有CPU仍然繼續(xù)使用X86指令集,所以它的CPU仍屬于X86系列。由于Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天龐大的X86系列及兼容CPU陣容。x86CPU目前主要有intel的服務(wù)器CPU和AMD的服務(wù)器CPU兩類。
?、芌ISC指令集
RISC是英文“Reduced Instruction Set Computing ”的縮寫,中文意思是“精簡指令集”。它是在CISC指令系統(tǒng)基礎(chǔ)上發(fā)展起來的,有人對CISC機(jī)進(jìn)行測試表明,各種指令的使用頻度相當(dāng)懸殊,最常使用的是一些比較簡單的指令,它們僅占指令總數(shù)的20%,但在程序中出現(xiàn)的頻度卻占80%。復(fù)雜的指令系統(tǒng)必然增加微處理器的復(fù)雜性,使處理器的研制時(shí)間長,成本高。并且復(fù)雜指令需要復(fù)雜的操作,必然會(huì)降低計(jì)算機(jī)的速度?;谏鲜鲈?,20世紀(jì)80年代RISC型CPU誕生了,相對于CISC型CPU,RISC型CPU不僅精簡了指令系統(tǒng),還采用了一種叫做“超標(biāo)量和超流水線結(jié)構(gòu)”,大大增加了并行處理能力。RISC指令集是高性能CPU的發(fā)展方向。它與傳統(tǒng)的CISC(復(fù)雜指令集)相對。相比而言,RISC的指令格式統(tǒng)一,種類比較少,尋址方式也比復(fù)雜指令集少。當(dāng)然處理速度就提高很多了。目前在中高檔服務(wù)器中普遍采用這一指令系統(tǒng)的CPU,特別是高檔服務(wù)器全都采用RISC指令系統(tǒng)的CPU。RISC指令系統(tǒng)更加適合高檔服務(wù)器的操作系統(tǒng)UNIX,現(xiàn)在Linux也屬于類似UNIX的操作系統(tǒng)。RISC型CPU與Intel和AMD的CPU在軟件和硬件上都不兼容。
目前,在中高檔服務(wù)器中采用RISC指令的CPU主要有以下幾類:PowerPC處理器、SPARC處理器、PA-RISC處理器、MIPS處理器、Alpha處理器。
?、荌A-64
EPIC(Explicitly Parallel Instruction Computers,精確并行指令計(jì)算機(jī))是否是RISC和CISC體系的繼承者的爭論已經(jīng)有很多,單以EPIC體系來說,它更像Intel的處理器邁向RISC體系的重要步驟。從理論上說,EPIC體系設(shè)計(jì)的CPU,在相同的主機(jī)配置下,處理Windows的應(yīng)用軟件比基于Unix下的應(yīng)用軟件要好得多。
Intel采用EPIC技術(shù)的服務(wù)器CPU是安騰Itanium(開發(fā)代號即Merced)。它是64位處理器,也是IA-64系列中的第一款。微軟也已開發(fā)了代號為Win64的操作系統(tǒng),在軟件上加以支持。在Intel采用了X86指令集之后,它又轉(zhuǎn)而尋求更先進(jìn)的64-bit微處理器,Intel這樣做的原因是,它們想擺脫容量巨大的x86架構(gòu),從而引入精力充沛而又功能強(qiáng)大的指令集,于是采用EPIC指令集的IA-64架構(gòu)便誕生了。IA-64 在很多方面來說,都比x86有了長足的進(jìn)步。突破了傳統(tǒng)IA32架構(gòu)的許多限制,在數(shù)據(jù)的處理能力,系統(tǒng)的穩(wěn)定性、安全性、可用性、可觀理性等方面獲得了突破性的提高。
IA-64微處理器最大的缺陷是它們?nèi)狈εcx86的兼容,而Intel為了IA-64處理器能夠更好地運(yùn)行兩個(gè)朝代的軟件,它在IA-64處理器上(Itanium、Itanium2 ……)引入了x86-to-IA-64的解碼器,這樣就能夠把x86指令翻譯為IA-64指令。這個(gè)解碼器并不是最有效率的解碼器,也不是運(yùn)行x86代碼的最好途徑(最好的途徑是直接在x86處理器上運(yùn)行x86代碼),因此Itanium 和Itanium2在運(yùn)行x86應(yīng)用程序時(shí)候的性能非常糟糕。這也成為X86-64產(chǎn)生的根本原因。
超流水線與超標(biāo)量
在解釋超流水線與超標(biāo)量前,先了解流水線(Pipeline)。流水線是Intel首次在486芯片中開始使用的。流水線的工作方式就象工業(yè)生產(chǎn)上的裝配流水線。在CPU中由5-6個(gè)不同功能的電路單元組成一條指令處理流水線,然后將一條X86指令分成5-6步后再由這些電路單元分別執(zhí)行,這樣就能實(shí)現(xiàn)在一個(gè)CPU時(shí)鐘周期完成一條指令,因此提高CPU的運(yùn)算速度。經(jīng)典奔騰每條整數(shù)流水線都分為四級流水,即指令預(yù)取、譯碼、執(zhí)行、寫回結(jié)果,浮點(diǎn)流水又分為八級流水。超標(biāo)量是通過內(nèi)置多條流水線來同時(shí)執(zhí)行多個(gè)處理器,其實(shí)質(zhì)是以空間換取時(shí)間。而超流水線是通過細(xì)化流水、提高主頻,使得在一個(gè)機(jī)器周期內(nèi)完成一個(gè)甚至多個(gè)操作,其實(shí)質(zhì)是以時(shí)間換取空間。例如Pentium 4的流水線就長達(dá)20級。將流水線設(shè)計(jì)的步(級)越長,其完成一條指令的速度越快,因此才能適應(yīng)工作主頻更高的CPU。但是流水線過長也帶來了一定副作用,很可能會(huì)出現(xiàn)主頻較高的CPU實(shí)際運(yùn)算速度較低的現(xiàn)象,Intel的奔騰4就出現(xiàn)了這種情況,雖然它的主頻可以高達(dá)1.4G以上,但其運(yùn)算性能卻遠(yuǎn)遠(yuǎn)比不上AMD 1.2G的速龍甚至奔騰III。
封裝形式
CPU封裝是采用特定的材料將CPU芯片或CPU模塊固化在其中以防損壞的保護(hù)措施,一般必須在封裝后CPU才能交付用戶使用。CPU的封裝方式取決于CPU安裝形式和器件集成設(shè)計(jì),從大的分類來看通常采用Socket插座進(jìn)行安裝的CPU使用PGA(柵格陣列)方式封裝,而采用Slot x槽安裝的CPU則全部采用SEC(單邊接插盒)的形式封裝?,F(xiàn)在還有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封裝技術(shù)。由于市場競爭日益激烈,目前CPU封裝技術(shù)的發(fā)展方向以節(jié)約成本為主。
多線程
同時(shí)多線程Simultaneous Multithreading,簡稱SMT。SMT可通過復(fù)制處理器上的結(jié)構(gòu)狀態(tài),讓同一個(gè)處理器上的多個(gè)線程同步執(zhí)行并共享處理器的執(zhí)行資源,可最大限度地實(shí)現(xiàn)寬發(fā)射、亂序的超標(biāo)量處理,提高處理器運(yùn)算部件的利用率,緩和由于數(shù)據(jù)相關(guān)或Cache未命中帶來的訪問內(nèi)存延時(shí)。當(dāng)沒有多個(gè)線程可用時(shí),SMT處理器幾乎和傳統(tǒng)的寬發(fā)射超標(biāo)量處理器一樣。SMT最具吸引力的是只需小規(guī)模改變處理器核心的設(shè)計(jì),幾乎不用增加額外的成本就可以顯著地提升效能。多線程技術(shù)則可以為高速的運(yùn)算核心準(zhǔn)備更多的待處理數(shù)據(jù),減少運(yùn)算核心的閑置時(shí)間。這對于桌面低端系統(tǒng)來說無疑十分具有吸引力。Intel從3.06GHz Pentium 4開始,所有處理器都將支持SMT技術(shù)。
多核心
多核心,也指單芯片多處理器(Chip Multiprocessors,簡稱CMP)。CMP是由美國斯坦福大學(xué)提出的,其思想是將大規(guī)模并行處理器中的SMP(對稱多處理器)集成到同一芯片內(nèi),各個(gè)處理器并行執(zhí)行不同的進(jìn)程。與CMP比較,SMT處理器結(jié)構(gòu)的靈活性比較突出。但是,當(dāng)半導(dǎo)體工藝進(jìn)入0.18微米以后,線延時(shí)已經(jīng)超過了門延遲,要求微處理器的設(shè)計(jì)通過劃分許多規(guī)模更小、局部性更好的基本單元結(jié)構(gòu)來進(jìn)行。相比之下,由于CMP結(jié)構(gòu)已經(jīng)被劃分成多個(gè)處理器核來設(shè)計(jì),每個(gè)核都比較簡單,有利于優(yōu)化設(shè)計(jì),因此更有發(fā)展前途。目前,IBM 的Power 4芯片和Sun的MAJC5200芯片都采用了CMP結(jié)構(gòu)。多核處理器可以在處理器內(nèi)部共享緩存,提高緩存利用率,同時(shí)簡化多處理器系統(tǒng)設(shè)計(jì)的復(fù)雜度。但這并不是說明,核心越多,性能越高,比如說16核的CPU就沒有8核的CPU運(yùn)算速度快,因?yàn)楹诵奶?,而不能合理進(jìn)行分配,所以導(dǎo)致運(yùn)算速度減慢。在買電腦時(shí)請酌情選擇。2005年下半年,Intel和AMD的新型處理器也將融入CMP結(jié)構(gòu)。新安騰處理器開發(fā)代碼為Montecito,采用雙核心設(shè)計(jì),擁有最少18MB片內(nèi)緩存,采取90nm工藝制造。它的每個(gè)單獨(dú)的核心都擁有獨(dú)立的L1,L2和L3 cache,包含大約10億支晶體管。
SMP
SMP(Symmetric Multi-Processing),對稱多處理結(jié)構(gòu)的簡稱,是指在一個(gè)計(jì)算機(jī)上匯集了一組處理器(多CPU),各CPU之間共享內(nèi)存子系統(tǒng)以及總線結(jié)構(gòu)。在這種技術(shù)的支持下,一個(gè)服務(wù)器系統(tǒng)可以同時(shí)運(yùn)行多個(gè)處理器,并共享內(nèi)存和其他的主機(jī)資源。像雙至強(qiáng),也就是所說的二路,這是在對稱處理器系統(tǒng)中最常見的一種(至強(qiáng)MP可以支持到四路,AMD Opteron可以支持1-8路)。也有少數(shù)是16路的。但是一般來講,SMP結(jié)構(gòu)的機(jī)器可擴(kuò)展性較差,很難做到100個(gè)以上多處理器,常規(guī)的一般是8個(gè)到16個(gè),不過這對于多數(shù)的用戶來說已經(jīng)夠用了。在高性能服務(wù)器和工作站級主板架構(gòu)中最為常見,像UNIX服務(wù)器可支持最多256個(gè)CPU的系統(tǒng)。
構(gòu)建一套SMP系統(tǒng)的必要條件是:支持SMP的硬件包括主板和CPU;支持SMP的系統(tǒng)平臺,再就是支持SMP的應(yīng)用軟件。為了能夠使得SMP系統(tǒng)發(fā)揮高效的性能,操作系統(tǒng)必須支持SMP系統(tǒng),如WINNT、LINUX、以及UNIX等等32位操作系統(tǒng)。即能夠進(jìn)行多任務(wù)和多線程處理。多任務(wù)是指操作系統(tǒng)能夠在同一時(shí)間讓不同的CPU完成不同的任務(wù);多線程是指操作系統(tǒng)能夠使得不同的CPU并行的完成同一個(gè)任務(wù)。
要組建SMP系統(tǒng),對所選的CPU有很高的要求,首先、CPU內(nèi)部必須內(nèi)置APIC(Advanced Programmable Interrupt Controllers)單元。Intel 多處理規(guī)范的核心就是高級可編程中斷控制器(Advanced Programmable Interrupt Controllers–APICs)的使用;再次,相同的產(chǎn)品型號,同樣類型的CPU核心,完全相同的運(yùn)行頻率;最后,盡可能保持相同的產(chǎn)品序列編號,因?yàn)閮蓚€(gè)生產(chǎn)批次的CPU作為雙處理器運(yùn)行的時(shí)候,有可能會(huì)發(fā)生一顆CPU負(fù)擔(dān)過高,而另一顆負(fù)擔(dān)很少的情況,無法發(fā)揮最大性能,更糟糕的是可能導(dǎo)致死機(jī)。
NUMA技術(shù)
NUMA即非一致訪問分布共享存儲技術(shù),它是由若干通過高速專用網(wǎng)絡(luò)連接起來的獨(dú)立節(jié)點(diǎn)構(gòu)成的系統(tǒng),各個(gè)節(jié)點(diǎn)可以是單個(gè)的CPU或是SMP系統(tǒng)。在NUMA中,Cache 的一致性有多種解決方案,一般采用硬件技術(shù)實(shí)現(xiàn)對cache的一致性維護(hù),通常需要操作系統(tǒng)針對NUMA訪存不一致的特性(本地內(nèi)存和遠(yuǎn)端內(nèi)存訪存延遲和帶寬的不同)進(jìn)行特殊優(yōu)化以提高效率,或采用特殊軟件編程方法提高效率。NUMA系統(tǒng)的例子。這里有3個(gè)SMP模塊用高速專用網(wǎng)絡(luò)聯(lián)起來,組成一個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)可以有12個(gè)CPU。像Sequent的系統(tǒng)最多可以達(dá)到64個(gè)CPU甚至256個(gè)CPU。顯然,這是在SMP的基礎(chǔ)上,再用NUMA的技術(shù)加以擴(kuò)展,是這兩種技術(shù)的結(jié)合。
亂序執(zhí)行技術(shù)
亂序執(zhí)行(out-of-orderexecution),是指CPU允許將多條指令不按程序規(guī)定的順序分開發(fā)送給各相應(yīng)電路單元處理的技術(shù)。這樣將根據(jù)個(gè)電路單元的狀態(tài)和各指令能否提前執(zhí)行的具體情況分析后,將能提前執(zhí)行的指令立即發(fā)送給相應(yīng)電路單元執(zhí)行,在這期間不按規(guī)定順序執(zhí)行指令,然后由重新排列單元將各執(zhí)行單元結(jié)果按指令順序重新排列。采用亂序執(zhí)行技術(shù)的目的是為了使CPU內(nèi)部電路滿負(fù)荷運(yùn)轉(zhuǎn)并相應(yīng)提高了CPU的運(yùn)行程序的速度。
分枝技術(shù)
(branch)指令進(jìn)行運(yùn)算時(shí)需要等待結(jié)果,一般無條件分枝只需要按指令順序執(zhí)行,而條件分枝必須根據(jù)處理后的結(jié)果,再?zèng)Q定是否按原先順序進(jìn)行。
CPU內(nèi)部的內(nèi)存控制器
許多應(yīng)用程序擁有更為復(fù)雜的讀取模式(幾乎是隨機(jī)地,特別是當(dāng)cache hit不可預(yù)測的時(shí)候),并且沒有有效地利用帶寬。典型的這類應(yīng)用程序就是業(yè)務(wù)處理軟件,即使擁有如亂序執(zhí)行(out of order execution)這樣的CPU特性,也會(huì)受內(nèi)存延遲的限制。這樣CPU必須得等到運(yùn)算所需數(shù)據(jù)被除數(shù)裝載完成才能執(zhí)行指令(無論這些數(shù)據(jù)來自CPU cache還是主內(nèi)存系統(tǒng))。當(dāng)前低段系統(tǒng)的內(nèi)存延遲大約是120-150ns,而CPU速度則達(dá)到了3GHz以上,一次單獨(dú)的內(nèi)存請求可能會(huì)浪費(fèi)200-300次CPU循環(huán)。即使在緩存命中率(cache hit rate)達(dá)到99%的情況下,CPU也可能會(huì)花50%的時(shí)間來等待內(nèi)存請求的結(jié)束-比如因?yàn)閮?nèi)存延遲的緣故。
在處理器內(nèi)部整合內(nèi)存控制器,使得北橋芯片將變得不那么重要,改變了處理器訪問主存的方式,有助于提高帶寬、降低內(nèi)存延時(shí)和提升處理器性制造工藝:Intel的I5可以達(dá)到32納米,在將來的CPU制造工藝可以達(dá)到22納米。
評論
查看更多