馬上注冊,結交更多好友,享用更多功能。
您需要 登錄 才可以下載或查看,沒(méi)有帳號?注冊
x
CPU講解 1、 主頻 主頻也叫時(shí)鐘頻率,單位是MHz,用來(lái)表示CPU的運算速度。CPU的主頻=外頻×倍頻系數。很多人認為主頻就決定著(zhù)CPU的運行速度,這不僅是個(gè)片面的,而且對于服務(wù)器來(lái)講,這個(gè)認識也出現了偏差。至今,沒(méi)有一條確定的公式能夠實(shí)現主頻和實(shí)際的運算速度兩者之間的數值關(guān)系,即使是兩大處理器廠(chǎng)家Intel和AMD,在這點(diǎn)上也存在著(zhù)很大的爭議,我們從Intel的產(chǎn)品的發(fā)展趨勢,可以看出Intel很注重加強自身主頻的發(fā)展。像其他的處理器廠(chǎng)家,有人曾經(jīng)拿過(guò)一快1G的全美達來(lái)做比較,它的運行效率相當于2G的Intel處理器。 所以,CPU的主頻與CPU實(shí)際的運算能力是沒(méi)有直接關(guān)系的,主頻表示在CPU內數字脈沖信號震蕩的速度。在Intel的處理器產(chǎn)品中,我們也可以看到這樣的例子:1 GHz Itanium芯片能夠表現得差不多跟2.66 GHz Xeon/Opteron一樣快,或是1.5 GHz Itanium 2大約跟4 GHz Xeon/Opteron一樣快。CPU的運算速度還要看CPU的流水線(xiàn)的各方面的性能指標。 當然,主頻和實(shí)際的運算速度是有關(guān)的,只能說(shuō)主頻僅僅是CPU性能表現的一個(gè)方面,而不代表CPU的整體性能。 2、外頻 外頻是CPU的基準頻率,單位也是MHz。CPU的外頻決定著(zhù)整塊 主板的運行速度。說(shuō)白了,在臺式機中,我們所說(shuō)的超頻,都是超CPU的外頻(當然一般情況下,CPU的倍頻都是被鎖住的)相信這點(diǎn)是很好理解的。但對于服務(wù)器CPU來(lái)講,超頻是絕對不允許的。前面說(shuō)到CPU決定著(zhù)主板的運行速度,兩者是同步運行的,如果把服務(wù)器CPU超頻了,改變了外頻,會(huì )產(chǎn)生異步運行,(臺式機很多主板都支持異步運行)這樣會(huì )造成整個(gè)服務(wù)器系統的不穩定。 目前的絕大部分電腦系統中外頻也是 內存與主板之間的同步運行的速度,在這種方式下,可以理解為CPU的外頻直接與內存相連通,實(shí)現兩者間的同步運行狀態(tài)。外頻與前端總線(xiàn)(FSB)頻率很容易被混為一談,下面的前端總線(xiàn)介紹我們談?wù)剝烧叩膮^別。 2、 端總線(xiàn)(FSB)頻率 前端總線(xiàn)(FSB)頻率(即總線(xiàn)頻率)是直接影響CPU與內存直接數據交換速度。有一條公式可以計算,即數據帶寬=(總線(xiàn)頻率×數據帶寬)/8,數據傳輸最大帶寬取決于所有同時(shí)傳輸的數據的寬度和傳輸頻率。比方,現在的支持64位的至強Nocona,前端總線(xiàn)是800MHz,按照公式,它的數據傳輸最大帶寬是6.4GB/秒。 外頻與前端總線(xiàn)(FSB)頻率的區別:前端總線(xiàn)的速度指的是數據傳輸的速度,外頻是CPU與主板之間同步運行的速度。也就是說(shuō),100MHz外頻特指數字脈沖信號在每秒鐘震蕩一千萬(wàn)次;而100MHz前端總線(xiàn)指的是每秒鐘CPU可接受的數據傳輸量是100MHz×64bit÷8Byte/bit=800MB/s。 其實(shí)現在"HyperTransport”構架的出現,讓這種實(shí)際意義上的前端總線(xiàn)(FSB)頻率發(fā)生了變化。之前我們知道IA-32架構必須有三大重要的構件:內存控制器Hub (MCH) ,I/O控制器Hub和PCI Hub,像Intel很典型的芯片組 Intel 7501、Intel7505芯片組,為雙至強處理器量身定做的,它們所包含的MCH為CPU提供了頻率為533MHz的前端總線(xiàn),配合DDR內存,前端總線(xiàn)帶寬可達到4.3GB/秒。但隨著(zhù)處理器性能不斷提高同時(shí)給系統架構帶來(lái)了很多問(wèn)題。而"HyperTransport”構架不但解決了問(wèn)題,而且更有效地提高了總線(xiàn)帶寬,比方AMD Opteron處理器,靈活的HyperTransport I/O總線(xiàn)體系結構讓它整合了內存控制器,使處理器不通過(guò)系統總線(xiàn)傳給芯片組而直接和內存交換數據。這樣的話(huà),前端總線(xiàn)(FSB)頻率在A(yíng)MD Opteron處理器就不知道從何鈣鵒恕? 4、CPU的位和字長(cháng) 位:在數字電路和電腦技術(shù)中采用二進(jìn)制,代碼只有"0”和"1”,其中無(wú)論是 "0”或是"1”在CPU中都是 一"位”。 字長(cháng):電腦技術(shù)中對CPU在單位時(shí)間內(同一時(shí)間)能一次處理的二進(jìn)制數的位數叫字長(cháng)。所以能處理字長(cháng)為8位數據的CPU通常就叫8位的CPU。同理32位的CPU就能在單位時(shí)間內處理字長(cháng)為32位的二進(jìn)制數據。字節和字長(cháng)的區別:由于常用的英文字符用8位二進(jìn)制就可以表示,所以通常就將8位稱(chēng)為一個(gè)字節。字長(cháng)的長(cháng)度是不固定的,對于不同的CPU、字長(cháng)的長(cháng)度也不一樣。8位的CPU一次只能處理一個(gè)字節,而32位的CPU一次就能處理4個(gè)字節,同理字長(cháng)為64位的CPU一次可以處理8個(gè)字節。 5、倍頻系數 倍頻系數是指CPU主頻與外頻之間的相對比例關(guān)系。在相同的外頻下,倍頻越高CPU的頻率也越高。但實(shí)際上,在相同外頻的前提下,高倍頻的CPU本身意義并不大。這是因為CPU與系統之間數據傳輸速度是有限的,一味追求高倍頻而得到高主頻的CPU就會(huì )出現明顯的"瓶頸”效應—CPU從系統中得到數據的極限速度不能夠滿(mǎn)足CPU運算的速度。一般除了工程樣版的Intel的CPU都是鎖了倍頻的,而AMD之前都沒(méi)有鎖。 6、緩存 緩存大小也是CPU的重要指標之一,而且緩存的結構和大小對CPU速度的影響非常大,CPU內緩存的運行頻率極高,一般是和處理器同頻運作,工作效率遠遠大于系統內存和 硬盤(pán)。實(shí)際工作時(shí),CPU往往需要重復讀取同樣的數據塊,而緩存容量的增大,可以大幅度提升CPU內部讀取數據的命中率,而不用再到內存或者硬盤(pán)上尋找,以此提高系統性能。但是由于CPU芯片面積和成本的因素來(lái)考慮,緩存都很小。 L1 Cache(一級緩存)是CPU第一層高速緩存,分為數據緩存和指令緩存。內置的L1高速緩存的容量和結構對CPU的性能影響較大,不過(guò)高速緩沖存儲器均由靜態(tài)RAM組成,結構較復雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。一般服務(wù)器CPU的L1緩存的容量通常在32—256KB。 L2 Cache(二級緩存)是CPU的第二層高速緩存,分內部和外部?jì)煞N芯片。內部的芯片二級緩存運行速度與主頻相同,而外部的二級緩存則只有主頻的一半。L2高速緩存容量也會(huì )影響CPU的性能,原則是越大越好,現在家庭用CPU容量最大的是512KB,而服務(wù)器和工作站上用CPU的L2高速緩存更高達256-1MB,有的高達2MB或者3MB。 L3 Cache(三級緩存),分為兩種,早期的是外置,現在的都是內置的。而它的實(shí)際作用即是,L3緩存的應用可以進(jìn)一步降低內存延遲,同時(shí)提升大數據量計算時(shí)處理器的性能。降低內存延遲和提升大數據量計算能力對游戲都很有幫助。而在服務(wù)器領(lǐng)域增加L3緩存在性能方面仍然有顯著(zhù)的提升。比方具有較大L3緩存的配置利用物理內存會(huì )更有效,故它比較慢的磁盤(pán)I/O子系統可以處理更多的數據請求。具有較大L3緩存的處理器提供更有效的文件系統緩存行為及較短消息和處理器隊列長(cháng)度。 其實(shí)最早的L3緩存被應用在A(yíng)MD發(fā)布的K6-III處理器上,當時(shí)的L3緩存受限于制造工藝,并沒(méi)有被集成進(jìn)芯片內部,而是集成在主板上。在只能夠和系統總線(xiàn)頻率同步的L3緩存同主內存其實(shí)差不了多少。后來(lái)使用L3緩存的是英特爾為服務(wù)器市場(chǎng)所推出的Itanium處理器。接著(zhù)就是P4EE和至強MP。Intel還打算推出一款9MB L3緩存的Itanium2處理器,和以后24MB L3緩存的雙核心Itanium2處理器。 但基本上L3緩存對處理器的性能提高顯得不是很重要,比方配備1MB L3緩存的Xeon MP處理器卻仍然不是Opteron的對手,由此可見(jiàn)前端總線(xiàn)的增加,要比緩存增加帶來(lái)更有效的性能提升。 7、CPU擴展指令集 CPU依靠指令來(lái)計算和控制系統,每款CPU在設計時(shí)就規定了一系列與其硬件電路相配合的指令系統。指令的強弱也是CPU的重要指標,指令集是提高微處理器效率的最有效工具之一。從現階段的主流體系結構講,指令集可分為復雜指令集和精簡(jiǎn)指令集兩部分,而從具體運用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SEE3和AMD的3DNow!等都是CPU的擴展指令集,分別增強了CPU的多媒體、圖形圖象和Internet等的處理能力。我們通常會(huì )把CPU的擴展指令集稱(chēng)為"CPU的指令集"。SSE3指令集也是目前規模最小的指令集,此前MMX包含有57條命令,SSE包含有50條命令,SSE2包含有144條命令,SSE3包含有13條命令。目前SSE3也是最先進(jìn)的指令集,英特爾Prescott處理器已經(jīng)支持SSE3指令集,AMD會(huì )在未來(lái)雙核心處理器當中加入對SSE3指令集的支持,全美達的處理器也將支持這一指令集。 8、CPU內核和I/O工作電壓 從586CPU開(kāi)始,CPU的工作電壓分為內核電壓和I/O電壓兩種,通常CPU的核心電壓小于等于I/O電壓。其中內核電壓的大小是根據CPU的生產(chǎn)工藝而定,一般制作工藝越小,內核工作電壓越低;I/O電壓一般都在1.6~5V。低電壓能解決耗電過(guò)大和發(fā)熱過(guò)高的問(wèn)題。 9、制造工藝 制造工藝的微米是指IC內電路與電路之間的距離。制造工藝的趨勢是向密集度愈高的方向發(fā)展。密度愈高的IC電路設計,意味著(zhù)在同樣大小面積的IC中,可以擁有密度更高、功能更復雜的電路設計,F在主要的180nm、130nm、90nm。最近官方已經(jīng)表示有65nm的制造工藝了。 10、指令集 (1) CISC指令集 CISC指令集,也稱(chēng)為復雜指令集,英文名是CISC,(Complex Instruction Set Computer的縮寫(xiě))。在CISC微處理器中,程序的各條指令是按順序串行執行的,每條指令中的各個(gè)操作也是按順序串行執行的。順序執行的優(yōu)點(diǎn)是控制簡(jiǎn)單,但計算機各部分的利用率不高,執行速度慢。其實(shí)它是英特爾生產(chǎn)的x86系列(也就是IA-32架構)CPU及其兼容CPU,如AMD、VIA的。即使是現在新起的X86-64(也被成AMD64)都是屬于CISC的范疇。 要知道什么是指令集還要從當今的X86架構的CPU說(shuō)起。X86指令集是Intel為其第一塊16位CPU(i8086)專(zhuān)門(mén)開(kāi)發(fā)的,IBM1981年推出的世界第一臺PC機中的CPU—i8088(i8086簡(jiǎn)化版)使用的也是X86指令,同時(shí)電腦中為提高浮點(diǎn)數據處理能力而增加了X87芯片,以后就將X86指令集和X87指令集統稱(chēng)為X86指令集。 雖然隨著(zhù)CPU技術(shù)的不斷發(fā)展,Intel陸續研制出更新型的i80386、i80486直到過(guò)去的PII至強、PIII至強、Pentium 3,最后到今天的Pentium 4系列、至強(不包括至強Nocona),但為了保證電腦能繼續運行以往開(kāi)發(fā)的各類(lèi)應用程序以保護和繼承豐富的軟件資源,所以Intel公司所生產(chǎn)的所有CPU仍然繼續使用X86指令集,所以它的CPU仍屬于X86系列。由于Intel X86系列及其兼容CPU(如AMD Athlon MP、)都使用X86指令集,所以就形成了今天龐大的X86系列及兼容CPU陣容。x86CPU目前主要有intel的服務(wù)器CPU和AMD的服務(wù)器CPU兩類(lèi)。 (2) RISC指令集 RISC是英文"Reduced Instruction Set Computing ” 的縮寫(xiě),中文意思是"精簡(jiǎn)指令集”。它是在CISC指令系統基礎上發(fā)展起來(lái)的,有人對CISC機進(jìn)行測試表明,各種指令的使用頻度相當懸殊,最常使用的是一些比較簡(jiǎn)單的指令,它們僅占指令總數的20%,但在程序中出現的頻度卻占80%。復雜的指令系統必然增加微處理器的復雜性,使處理器的研制時(shí)間長(cháng),成本高。并且復雜指令需要復雜的操作,必然會(huì )降低計算機的速度;谏鲜鲈,20世紀80年代RISC型CPU誕生了,相對于CISC型CPU ,RISC型CPU不僅精簡(jiǎn)了指令系統,還采用了一種叫做"超標量和超流水線(xiàn)結構”,大大增加了并行處理能力。RISC指令集是高性能CPU的發(fā)展方向。它與傳統的CISC(復雜指令集)相對。相比而言,RISC的指令格式統一,種類(lèi)比較少,尋址方式也比復雜指令集少。當然處理速度就提高很多了。目前在中高檔服務(wù)器中普遍采用這一指令系統的CPU,特別是高檔服務(wù)器全都采用RISC指令系統的CPU。RISC指令系統更加適合高檔服務(wù)器的操作系統UNIX,現在Linux也屬于類(lèi)似UNIX的操作系統。RISC型CPU與Intel和AMD的CPU在軟件和硬件上都不兼容。 目前,在中高檔服務(wù)器中采用RISC指令的CPU主要有以下幾類(lèi):PowerPC處理器、SPARC處理器、PA-RISC處理器、MIPS處理器、Alpha處理器。 (3) IA-64 EPIC(Explicitly Parallel Instruction Computers,精確并行指令計算機)是否是RISC和CISC體系的繼承者的爭論已經(jīng)有很多,單以EPIC體系來(lái)說(shuō),它更像Intel的處理器邁向RISC體系的重要步驟。從理論上說(shuō),EPIC體系設計的CPU,在相同的主機配置下,處理Windows的應用軟件比基于Unix下的應用軟件要好得多。 Intel采用EPIC技術(shù)的服務(wù)器CPU是安騰Itanium(開(kāi)發(fā)代號即Merced)。它是64位處理器,也是IA-64系列中的第一款。微軟也已開(kāi)發(fā)了代號為Win64的操作系統,在軟件上加以支持。在Intel采用了X86指令集之后,它又轉而尋求更先進(jìn)的64-bit微處理器,Intel這樣做的原因是,它們想擺脫容量巨大的x86架構,從而引入精力充沛而又功能強大的指令集,于是采用EPIC指令集的IA-64架構便誕生了。IA-64 在很多方面來(lái)說(shuō),都比x86有了長(cháng)足的進(jìn)步。突破了傳統IA32架構的許多限制,在數據的處理能力,系統的穩定性、安全性、可用性、可觀(guān)理性等方面獲得了突破性的提高。 IA-64微處理器最大的缺陷是它們缺乏與x86的兼容,而Intel為了IA-64處理器能夠更好地運行兩個(gè)朝代的軟件,它在IA-64處理器上(Itanium、Itanium2 ……)引入了x86-to-IA-64的解碼器,這樣就能夠把x86指令翻譯為IA-64指令。這個(gè)解碼器并不是最有效率的解碼器,也不是運行x86代碼的最好途徑(最好的途徑是直接在x86處理器上運行x86代碼),因此Itanium 和Itanium2在運行x86應用程序時(shí)候的性能非常糟糕。這也成為X86-64產(chǎn)生的根本原因。 (4) X86-64 (AMD64 / EM64T) AMD公司設計,可以在同一時(shí)間內處理64位的整數運算,并兼容于X86-32架構。其中支持64位邏輯定址,同時(shí)提供轉換為32位定址選項;但數據操作指令默認為32位和8位,提供轉換成64位和16位的選項;支持常規用途寄存器,如果是32位運算操作,就要將結果擴展成完整的64位。這樣,指令中有"直接執行”和"轉換執行”的區別,其指令字段是8位或32位,可以避免字段過(guò)長(cháng)。 x86-64(也叫AMD64)的產(chǎn)生也并非空穴來(lái)風(fēng),x86處理器的32bit尋址空間限制在4GB內存,而IA-64的處理器又不能兼容x86。AMD充分考慮顧客的需求,加強x86指令集的功能,使這套指令集可同時(shí)支持64位的運算模式,因此AMD把它們的結構稱(chēng)之為x86-64。在技術(shù)上AMD在x86-64架構中為了進(jìn)行64位運算,AMD為其引入了新增了R8-R15通用寄存器作為原有X86處理器寄存器的擴充,但在而在32位環(huán)境下并不完全使用到這些寄存器。原來(lái)的寄存器諸如EAX、EBX也由32位擴張至64位。在SSE單元中新加入了8個(gè)新寄存器以提供對SSE2的支持。寄存器數量的增加將帶來(lái)性能的提升。與此同時(shí),為了同時(shí)支持32和64位代碼及寄存器,x86-64架構允許處理器工作在以下兩種模式:Long Mode(長(cháng)模式)和Legacy Mode(遺傳模式),Long模式又分為兩種子模式(64bit模式和Compatibility mode兼容模式)。該標準已經(jīng)被引進(jìn)在A(yíng)MD服務(wù)器處理器中的Opteron處理器。 而今年也推出了支持64位的EM64T技術(shù),再還沒(méi)被正式命為EM64T之前是IA32E,這是英特爾64位擴展技術(shù)的名字,用來(lái)區別X86指令集。Intel的EM64T支持64位sub-mode,和AMD的X86-64技術(shù)類(lèi)似,采用64位的線(xiàn)性平面尋址,加入8個(gè)新的通用寄存器(GPRs),還增加8個(gè)寄存器支持SSE指令。與AMD相類(lèi)似,Intel的64位技術(shù)將兼容IA32和IA32E,只有在運行64位操作系統下的時(shí)候,才將會(huì )采用IA32E。IA32E將由2個(gè)sub-mode組成:64位sub-mode和32位sub-mode,同AMD64一樣是向下兼容的。Intel的EM64T將完全兼容AMD的X86-64技術(shù),F在Nocona處理器已經(jīng)加入了一些64位技術(shù),Intel的Pentium 4E處理器也支持64位技術(shù)。 應該說(shuō),這兩者都是兼容x86指令集的64位微處理器架構,但EM64T與AMD64還是有一些不一樣的地方,AMD64處理器中的NX位在Intel的處理器中將沒(méi)有提供。 11、超流水線(xiàn)與超標量 在解釋超流水線(xiàn)與超標量前,先了解流水線(xiàn)(pipeline)。流水線(xiàn)是Intel首次在486芯片中開(kāi)始使用的。流水線(xiàn)的工作方式就象工業(yè)生產(chǎn)上的裝配流水線(xiàn)。在CPU中由5—6個(gè)不同功能的電路單元組成一條指令處理流水線(xiàn),然后將一條X86指令分成5—6步后再由這些電路單元分別執行,這樣就能實(shí)現在一個(gè)CPU時(shí)鐘周期完成一條指令,因此提高CPU的運算速度。經(jīng)典奔騰每條整數流水線(xiàn)都分為四級流水,即指令預取、譯碼、執行、寫(xiě)回結果,浮點(diǎn)流水又分為八級流水。 超標量是通過(guò)內置多條流水線(xiàn)來(lái)同時(shí)執行多個(gè)處理器,其實(shí)質(zhì)是以空間換取時(shí)間。而超流水線(xiàn)是通過(guò)細化流水、提高主頻,使得在一個(gè)機器周期內完成一個(gè)甚至多個(gè)操作,其實(shí)質(zhì)是以時(shí)間換取空間。例如Pentium 4的流水線(xiàn)就長(cháng)達20級。將流水線(xiàn)設計的步(級)越長(cháng),其完成一條指令的速度越快,因此才能適應工作主頻更高的CPU。但是流水線(xiàn)過(guò)長(cháng)也帶來(lái)了一定副作用,很可能會(huì )出現主頻較高的CPU實(shí)際運算速度較低的現象,Intel的奔騰4就出現了這種情況,雖然它的主頻可以高達1.4G以上,但其運算性能卻遠遠比不上AMD 1.2G的速龍甚至奔騰III。 12、封裝形式 CPU封裝是采用特定的材料將CPU芯片或CPU模塊固化在其中以防損壞的保護措施,一般必須在封裝后CPU才能交付用戶(hù)使用。CPU的封裝方式取決于CPU安裝形式和器件集成設計,從大的分類(lèi)來(lái)看通常采用Socket插座進(jìn)行安裝的CPU使用PGA(柵格陣列)方式封裝,而采用Slot x槽安裝的CPU則全部采用SEC(單邊接插盒)的形式封裝,F在還有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封裝技術(shù)。由于市場(chǎng)競爭日益激烈,目前CPU封裝技術(shù)的發(fā)展方向以節約成本為主。 13、多線(xiàn)程 同時(shí)多線(xiàn)程Simultaneous multithreading,簡(jiǎn)稱(chēng)SMT。SMT可通過(guò)復制處理器上的結構狀態(tài),讓同一個(gè)處理器上的多個(gè)線(xiàn)程同步執行并共享處理器的執行資源,可最大限度地實(shí)現寬發(fā)射、亂序的超標量處理,提高處理器運算部件的利用率,緩和由于數據相關(guān)或Cache未命中帶來(lái)的訪(fǎng)問(wèn)內存延時(shí)。當沒(méi)有多個(gè)線(xiàn)程可用時(shí),SMT處理器幾乎和傳統的寬發(fā)射超標量處理器一樣。SMT最具吸引力的是只需小規模改變處理器核心的設計,幾乎不用增加額外的成本就可以顯著(zhù)地提升效能。多線(xiàn)程技術(shù)則可以為高速的運算核心準備更多的待處理數據,減少運算核心的閑置時(shí)間。這對于桌面低端系統來(lái)說(shuō)無(wú)疑十分具有吸引力。Intel從3.06GHz Pentium 4開(kāi)始,所有處理器都將支持SMT技術(shù)。 14、多核心 多核心,也指單芯片多處理器(Chip multiprocessors,簡(jiǎn)稱(chēng)CMP)。CMP是由美國斯坦福大學(xué)提出的,其思想是將大規模并行處理器中的SMP(對稱(chēng)多處理器)集成到同一芯片內,各個(gè)處理器并行執行不同的進(jìn)程。與CMP比較, SMT處理器結構的靈活性比較突出。但是,當半導體工藝進(jìn)入0.18微米以后,線(xiàn)延時(shí)已經(jīng)超過(guò)了門(mén)延遲,要求微處理器的設計通過(guò)劃分許多規模更、局部性?玫幕?鏡ピ?峁估唇?。相比?攏?捎贑MP結構已經(jīng)被劃分成多個(gè)處理器核來(lái)設計,每個(gè)核都比較簡(jiǎn)單,有利于優(yōu)化設計,因此更有發(fā)展前途。目前,IBM 的Power 4芯片和Sun的 MAJC5200芯片都采用了CMP結構。多核處理器可以在處理器內部共享緩存,提高緩存利用率,同時(shí)簡(jiǎn)化多處理器系統設計的復雜度。 2005年下半年,Intel和AMD的新型處理器也將融入CMP結構。新安騰處理器開(kāi)發(fā)代碼為Montecito,采用雙核心設計,擁有最少18MB片內緩存,采取90nm工藝制造,它的設計絕對稱(chēng)得上是對當今芯片業(yè)的挑戰。它的每個(gè)單獨的核心都擁有獨立的L1,L2和L3 cache,包含大約10億支晶體管。 15、SMP SMP(Symmetric Multi-Processing),對稱(chēng)多處理結構的簡(jiǎn)稱(chēng),是指在一個(gè)計算機上匯集了一組處理器(多CPU),各CPU之間共享內存子系統以及總線(xiàn)結構。在這種技術(shù)的支持下,一個(gè)服務(wù)器系統可以同時(shí)運行多個(gè)處理器,并共享內存和其他的主機資源。像雙至強,也就是我們所說(shuō)的二路,這是在對稱(chēng)處理器系統中最常見(jiàn)的一種(至強MP可以支持到四路,AMD Opteron可以支持1-8路)。也有少數是16路的。但是一般來(lái)講,SMP結構的機器可擴展性較差,很難做到100個(gè)以上多處理器,常規的一般是8個(gè)到16個(gè),不過(guò)這對于多數的用戶(hù)來(lái)說(shuō)已經(jīng)夠用了。在高性能服務(wù)器和工作站級主板架構中最為常見(jiàn),像UNIX服務(wù)器可支持最多256個(gè)CPU的系統。 構建一套SMP系統的必要條件是:支持SMP的硬件包括主板和CPU;支持SMP的系統平臺,再就是支持SMP的應用軟件。 為了能夠使得SMP系統發(fā)揮高效的性能,操作系統必須支持SMP系統,如WINNT、LINUX、以及UNIX等等32位操作系統。即能夠進(jìn)行多任務(wù)和多線(xiàn)程處理。多任務(wù)是指操作系統能夠在同一時(shí)間讓不同的CPU完成不同的任務(wù);多線(xiàn)程是指操作系統能夠使得不同的CPU并行的完成同一個(gè)任務(wù)。 要組建SMP系統,對所選的CPU有很高的要求,首先、CPU內部必須內置APIC(Advanced Programmable Interrupt Controllers)單元。Intel 多處理規范的核心就是高級可編程中斷控制器(Advanced Programmable Interrupt Controllers--APICs)的使用;再次,相同的產(chǎn)品型號,同樣類(lèi)型的CPU核心,完全相同的運行頻率;最后,盡可能保持相同的產(chǎn)品序列編號,因為兩個(gè)生產(chǎn)批次的CPU作為雙處理器運行的時(shí)候,有可能會(huì )發(fā)生一顆CPU負擔過(guò)高,而另一顆負擔很少的情況,無(wú)法發(fā)揮最大性能,更糟糕的是可能導致死機。 16、NUMA技術(shù) NUMA即非一致訪(fǎng)問(wèn)分布共享存儲技術(shù),它是由若干通過(guò)高速專(zhuān)用網(wǎng)絡(luò )連接起來(lái)的獨立節點(diǎn)構成的系統,各個(gè)節點(diǎn)可以是單個(gè)的CPU或是SMP系統。在NUMA中,Cache 的一致性有多種解決方案,需要操作系統和特殊軟件的支持。圖2中是Sequent公司NUMA系統的例子。這里有3個(gè)SMP模塊用高速專(zhuān)用網(wǎng)絡(luò )聯(lián)起來(lái),組成一個(gè)節點(diǎn),每個(gè)節點(diǎn)可以有12個(gè)CPU。像Sequent的系統最多可以達到64個(gè)CPU甚至256個(gè)CPU。顯然,這是在SMP的基礎上,再用NUMA的技術(shù)加以擴展,是這兩種技術(shù)的結合。 17、亂序執行技術(shù) 亂序執行(out-of-orderexecution),是指CPU允許將多條指令不按程序規定的順序分開(kāi)發(fā)送給各相應電路單元處理的技術(shù)。這樣將根據個(gè)電路單元的狀態(tài)和各指令能否提前執行的具體情況分析后,將能提前執行的指令立即發(fā)送給相應電路單元執行,在這期間不按規定順序執行指令,然后由重新排列單元將各執行單元結果按指令順序重新排列。采用亂序執行技術(shù)的目的是為了使CPU內部電路滿(mǎn)負荷運轉并相應提高了CPU的運行程序的速度。分枝技術(shù):(branch)指令進(jìn)行運算時(shí)需要等待結果,一般無(wú)條件分枝只需要按指令順序執行,而條件分枝必須根據處理后的結果,再決定是否按原先順序進(jìn)行。 18、CPU內部的內存控制器 許多應用程序擁有更為復雜的讀取模式(幾乎是隨機地,特別是當cache hit不可預測的時(shí)候),并且沒(méi)有有效地利用帶寬。典型的這類(lèi)應用程序就是業(yè)務(wù)處理軟件,即使擁有如亂序執行(out of order execution)這樣的CPU特性,也會(huì )受內存延遲的限制。這樣CPU必須得等到運算所需數據被除數裝載完成才能執行指令(無(wú)論這些數據來(lái)自CPU cache還是主內存系統)。當前低段系統的內存延遲大約是120-150ns,而CPU速度則達到了3GHz以上,一次單獨的內存請求可能會(huì )浪費200-300次CPU循環(huán)。即使在緩存命中率(cache hit rate)達到99%的情況下,CPU也可能會(huì )花50%的時(shí)間來(lái)等待內存請求的結束- 比如因為內存延遲的緣故 你可以看到Opteron整合的內存控制器,它的延遲,與芯片組支持雙通道DDR內存控制器的延遲相比來(lái)說(shuō),是要低很多的。英特爾也按照計劃的那樣在處理器內部整合內存控制器,這樣導致北橋芯片將變得不那么重要。但改變了處理器訪(fǎng)問(wèn)主存的方式,有助于提高帶寬、降低內存延時(shí)和提升處理器性能。 |