1. 程式人生 > >計算機組成,南北橋,倍頻,通信,頻率一致才可以通信

計算機組成,南北橋,倍頻,通信,頻率一致才可以通信

pic 表現 英文 可見 存儲 能力 6.4 進制數 之一

《計算機是怎樣跑起來的》

《程序是怎樣跑起來的》

《電腦組裝與硬件維修從入門到精通》

《程序員的自我修養》

計算機的三大原則。

1. 計算機是執行輸入、運算、輸出的機器
2. 程序是指令和數據的集合
3. 計算機的處理方式有時與人們的思維習慣不同

所謂指令,就是控制計算機進行輸入、運算、輸出的命令。

把向計算機發出的指令一條條列出來,就得到了程序。

在程序設計中,會為一組指令賦予一個名字,可以稱之為“函 數”“語句”“方法”“子例程”“子程序”等。

程序中的數據分為兩類,一類是作為指令執行對象的輸入數據, 一類是從指令的執行結果得到的輸出數據。

在編程時程序員會為數據 賦予名字,稱其為“變量”。看到變量和函數,諸位也許會聯想到數學 吧。正如數學中函數的表記方法那樣,在很多編程語言中都使用著類 似於下面的這種語法。

y = f(x)

這句話表示若把變量 x 輸入到函數 f 中,經過函數內部的某種運算 後,其結果就會輸出到變量 y 中。因為計算機是先把所有的信息都表 示成數字後才對其進行運算的,所以編程語言的語法類似數學算式也 就不足為奇了。但是在程序中有一點與數學不同的是,變量和函數的 名字都可以由一個以上的字符構成,比如下面這種情況。

output = operate(input)

對計算機來說什麽都是數字

用數字表示所有信息,這就是一個很具有代表性的計算機式的處 理方法,這一點也正是和人類的思維習慣最不一樣的地方。例如,人 們會用“藍色”“紅色”之類的詞語描述有關顏色的信息。可是換作計 算機的話,就不得不用數字表示顏色信息。例如,用“0,0,255”表示藍 色,用“255,0,0”表示紅色,用“255,0,255”表示由藍色和紅色混合而 成的紫色。不光是顏色,計算機對文字的處理也是如此。計算機內部 會先把文字轉換成相應的數字再做處理,這樣的數字叫作“字符編碼”。 總之計算機會把什麽都用數字來表示。

熟悉計算機的人經常會說出一些令人費解的話,例如“在這裏打開 文件,獲得文件句柄”“把用公鑰加密後的文件用私鑰解密”。那麽, 他們所說的“文件句柄”是什麽呢?——是數字。“公鑰”是什麽 呢?——是數字。“私鑰”呢?——當然還是數字。無論計算機所處理 的信息是什麽形式,只要把它們都當成是數字就可以了。雖然這有些 違背人們的思維習慣,但是處理數字對計算機來說卻是非常簡單的。

計算機硬件結構

一個關鍵點是 只有頻率一致, 才能通信. cpu 通過各種 倍頻、北橋、南橋、、I/O控制器等 降到各個頻率來與其他設備溝通.

技術分享圖片

南北橋的演變

https://my.oschina.net/u/914655/blog/338903

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

這18條背下來沒人敢和你忽悠CPU了!

https://groups.google.com/forum/?hl=iw#!topic/cnpro/RJz28ppqTNo

1.主頻

  主頻也叫時鐘頻率,單位是MHz,用來表示CPU的運算速度。CPU的主頻=外頻×倍頻系數。很多人認為主頻就決定著CPU的運行速度,這不僅是個片面的,而且對於服務器來講,這個認識也出現了偏差。至今,沒有一條確定的公式能夠實現主頻和實際的運算速度兩者之間的數值關系,即使是兩大處理器廠家Intel和AMD,在這點上也存在著很大的爭議,我們從
Intel的產品的發展趨勢,可以看出Intel很註重加強自身主頻的發展。像其他的處理器廠家,有人曾經拿過一快1G的全美達來做比較,它的運行效率相當於2G的Intel處理器。

  

  所以,CPU的主頻與CPU實際的運算能力是沒有直接關系的,主頻表示在
CPU內數字脈沖信號震蕩的速度。在Intel的處理器產品中,我們也可以看到這樣的例子:1
GHz Itanium芯片能夠表現得差不多跟2.66 GHz
Xeon/Opteron一樣快,或是1.5 GHz Itanium 2大約跟4 GHz
Xeon/Opteron一樣快。CPU的運算速度還要看CPU的流水線的各方面的性能指標。

  當然,主頻和實際的運算速度是有關的,只能說主頻僅僅是CPU性能表現的一個方面,而不代表CPU的整體性能。(
bbz888.mcublog.com )

  

  2.外頻

  外頻是CPU的基準頻率,單位也是MHz。CPU的外頻決定著整塊主板的運行速度。說白了,在臺式機中,我們所說的超頻,都是超CPU的外頻(當然一般情況下,CPU的倍頻都是被鎖住的)相信這點是很好理解的。但對於服務器CPU來講,超頻是絕對不允許的。前面說到CPU決定著主板的運行速度,兩者是同步運行的,如果把服務器CPU超頻了,改變了外頻,會產生異步運行,(臺式機很多主板都支持異步運行)這樣會造成整個服務器系統的不穩定。

  

  目前的絕大部分電腦系統中外頻也是內存與主板之間的同步運行的速度,在這種方式下,可以理解為CPU的外頻直接與內存相連通,實現兩者間的同步運行狀態。外頻與前端總線(FSB)頻率很容易被混為一談,下面的前端總線介紹我們談談兩者的區別.(
bbz888.mcublog.com )

  

  3.前端總線(FSB)頻率

  前端總線(FSB)頻率(即總線頻率)是直接影響CPU與內存直接數據交換速度。有一條公式可以計算,即數據帶寬=(總線頻率×數據帶寬)/8,數據傳輸最大帶寬取決於所有同時傳輸的數據的寬度和傳輸頻率。比方,現在的支持64位的至強Nocona,前端總線是800MHz,按照公式,它的數據傳輸最大帶寬是6.4GB/秒。

  

  外頻與前端總線(FSB)頻率的區別:前端總線的速度指的是數據傳輸的速度,外頻是CPU與主板之間同步運行的速度。也就是說,100MHz外頻特指數字脈沖信號在每秒鐘震蕩一千萬次;而100MHz前端總線指的是每秒鐘CPU可接受的數據傳輸量是100MHz×64bit÷8Byte/bit=800MB/s。

  

  其實現在
“HyperTransport”構架的出現,讓這種實際意義上的前端總線(FSB)頻率發生了變化。之前我們知道IA-32架構必須有三大重要的構件:內存控制器Hub
(MCH) ,I/O控制器Hub和PCI Hub,像Intel很典型的芯片組 Intel
7501、Intel7505芯片組,為雙至強處理器量身定做的,它們所包含的MCH為CPU提供了頻率為533MHz的前端總線,配合DDR內存,前端總線帶寬可達到4.3GB/秒。但隨著處理器性能不斷提高同時給系統架構帶來了很多問題。而“HyperTransport”構架不但解決了問題,而且更有效地提高了總線帶寬,比方AMD
Opteron處理器,靈活的HyperTransport
I/O總線體系結構讓它整合了內存控制器,使處理器不通過系統總線傳給芯片組而直接和內存交換數據。這樣的話,前端總線(FSB)頻率在AMD
Opteron處理器就不知道從何談起了。 ( bbz888.mcublog.com )

  

  4、CPU的位和字長

  位:在數字電路和電腦技術中采用二進制,代碼只有“0”和“1”,其中無論是
“0”或是“1”在CPU中都是 一“位”。

  字長:電腦技術中對CPU在單位時間內(同一時間)能一次處理的二進制數的位數叫字長。所以能處理字長為8位數據的CPU通常就叫8位的CPU。同理
32位的CPU就能在單位時間內處理字長為32位的二進制數據。字節和字長的區別:由於常用的英文字符用8位二進制就可以表示,所以通常就將8位稱為一個字節。字長的長度是不固定的,對於不同的CPU、字長的長度也不一樣。8位的CPU一次只能處理一個字節,而32位的CPU一次就能處理4個字節,同理字長為64位的CPU一次可以處理8個字節。
( bbz888.mcublog.com )

  

  5.倍頻系數

  倍頻系數是指CPU主頻與外頻之間的相對比例關系。在相同的外頻下,倍頻越高CPU的頻率也越高。但實際上,在相同外頻的前提下,高倍頻的CPU本身意義並不大。這是因為CPU與系統之間數據傳輸速度是有限的,一味追求高倍頻而得到高主頻的CPU就會出現明顯的“瓶頸”效應—CPU從系統中得到數據的極限速度不能夠滿足CPU運算的速度。一般除了工程樣版的Intel的CPU都是鎖了倍頻的,而AMD之前都沒有鎖.(
bbz888.mcublog.com )


6.緩存


  緩存大小也是CPU的重要指標之一,而且緩存的結構和大小對CPU速度的影響非常大,CPU內緩存的運行頻率極高,一般是和處理器同頻運作,工作效率遠遠大於系統內存和硬盤。實際工作時,
CPU往往需要重復讀取同樣的數據塊,而緩存容量的增大,可以大幅度提升CPU內部讀取數據的命中率,而不用再到內存或者硬盤上尋找,以此提高系統性能。但是由於CPU芯片面積和成本的因素來考慮,緩存都很小。

  

  L1 Cache(一級緩存)是CPU第一層高速緩存,分為數據緩存和指令緩存。內置的L1高速緩存的容量和結構對CPU的性能影響較大,不過高速緩沖存儲器均由靜態RAM組成,結構較復雜,在CPU
管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。一般服務器CPU的L1緩存的容量通常在32—256KB。

  
L2 Cache(二級緩存)是CPU的第二層高速緩存,分內部和外部兩種芯片。內部的芯片二級緩存運行速度與主頻相同,而外部的二級緩存則只有主頻的一半。L2高速緩存容量也會影響CPU的性能,原則是越大越好,現在家庭用CPU容量最大的是512KB,而服務器和工作站上用CPU的L2高速緩存更高達
256-1MB,有的高達2MB或者3MB。

  

  L3 Cache(三級緩存),分為兩種,早期的是外置,現在的都是內置的。而它的實際作用即是,L3緩存的應用可以進一步降低內存延遲,同時提升大數據量計算時處理器的性能。降低內存延遲和提升大數據量計算能力對遊戲都很有幫助。而在服務器領域增加L3緩存在性能方面仍然有顯著的提升。比方具有較大L3緩存的配置利用物理內存會更有效,故它比較慢的磁盤I/O子系統可以處理更多的數據請求。具有較大L3緩存的處理器提供更有效的文件系統緩存行為及較短消息和處理器隊列長度。

  

  其實最早的L3緩存被應用在AMD發布的K6-III處理器上,當時的L3緩存受限於制造工藝,並沒有被集成進芯片內部,而是集成在主板上。在只能夠和系統總線頻率同步的L3緩存同主內存其實差不了多少。後來使用L3緩存的是英特爾為服務器市場所推出的Itanium處理器。接著就是P4EE和至強
MP。Intel還打算推出一款9MB
L3緩存的Itanium2處理器,和以後24MB
L3緩存的雙核心Itanium2處理器。

  

  但基本上L3緩存對處理器的性能提高顯得不是很重要,比方配備1MB
L3緩存的Xeon
MP處理器卻仍然不是Opteron的對手,由此可見前端總線的增加,要比緩存增加帶來更有效的性能提升。(
bbz888.mcublog.com )

  

  7.CPU擴展指令集

  CPU依靠指令來計算和控制系統,每款CPU在設計時就規定了一系列與其硬件電路相配合的指令系統。指令的強弱也是CPU的重要指標,指令集是提高微處理器效率的最有效工具之一。從現階段的主流體系結構講,指令集可分為復雜指令集和精簡指令集兩部分,而從具體運用看,如Intel的MMX(Multi
Media Extended)、SSE、 SSE2(Streaming-Single instruction multiple
data-Extensions
2)、SEE3和AMD的3DNow!等都是CPU的擴展指令集,分別增強了CPU的多媒體、圖形圖象和Internet等的處理能力。我們通常會把
CPU的擴展指令集稱為"CPU的指令集"。SSE3指令集也是目前規模最小的指令集,此前MMX包含有57條命令,SSE包含有50條命令,SSE2包含有144條命令,SSE3包含有13條命令。目前SSE3也是最先進的指令集,英特爾Prescott處理器已經支持SSE3指令集,AMD會在未來雙核心處理器當中加入對SSE3指令集的支持,全美達的處理器也將支持這一指令集。(
bbz888.mcublog.com )

  

  8.CPU內核和I/O工作電壓

  從586CPU開始,CPU的工作電壓分為內核電壓和I/O電壓兩種,通常CPU的核心電壓小於等於I/O電壓。其中內核電壓的大小是根據CPU的生產工藝而定,一般制作工藝越小,內核工作電壓越低;I/O電壓一般都在1.6~5V。低電壓能解決耗電過大和發熱過高的問題。(
bbz888.mcublog.com )

  

  9.制造工藝

  制造工藝的微米是指IC內電路與電路之間的距離。制造工藝的趨勢是向密集度愈高的方向發展。密度愈高的IC電路設計,意味著在同樣大小面積的IC中,可以擁有密度更高、功能更復雜的電路設計。現在主要的180nm、130nm、90nm。最近官方已經表示有65nm的制造工藝了。(
bbz888.mcublog.com )

10.指令集


  

  (1)CISC指令集

  CISC指令集,也稱為復雜指令集,英文名是CISC,(Complex
Instruction Set
Computer的縮寫)。在CISC微處理器中,程序的各條指令是按順序串行執行的,每條指令中的各個操作也是按順序串行執行的。順序執行的優點是控制簡單,但計算機各部分的利用率不高,執行速度慢。其實它是英特爾生產的x86系列(也就是IA-32架構)CPU及其兼容CPU,如AMD、VIA的。即使是現在新起的X86-64(也被成AMD64)都是屬於CISC的範疇。

  

  要知道什麽是指令集還要從當今的X86架構的CPU說起。X86指令集是Intel為其第一塊16位CPU(i8086)專門開發的,IBM1981年推出的世界第一臺PC機中的
CPU—i8088(i8086簡化版)使用的也是X86指令,同時電腦中為提高浮點數據處理能力而增加了X87芯片,以後就將X86指令集和X87指令集統稱為X86指令集。

  雖然隨著CPU技術的不斷發展,Intel陸續研制出更新型的i80386、i80486直到過去的
PII至強、PIII至強、Pentium 3,最後到今天的Pentium
4系列、至強(不包括至強Nocona),但為了保證電腦能繼續運行以往開發的各類應用程序以保護和繼承豐富的軟件資源,所以Intel公司所生產的所有
CPU仍然繼續使用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指令系統基礎上發展起來的,有人對CISC機進行測試表明,各種指令的使用頻度相當懸殊,最常使用的是一些比較簡單的指令,它們僅占指令總數的20%,但在程序中出現的頻度卻占80%。復雜的指令系統必然增加微處理器的復雜性,使處理器的研制時間長,成本高。並且復雜指令需要復雜的操作,必然會降低計算機的速度。基於上述原因,20世紀80年代RISC型CPU誕生了,相對於CISC型CPU
,RISC型CPU不僅精簡了指令系統,還采用了一種叫做“超標量和超流水線結構”,大大增加了並行處理能力。RISC指令集是高性能CPU的發展方向。它與傳統的CISC(復雜指令集)相對。相比而言,RISC的指令格式統一,種類比較少,尋址方式也比復雜指令集少。當然處理速度就提高很多了。目前在中高檔服務器中普遍采用這一指令系統的CPU,特別是高檔服務器全都采用RISC指令系統的CPU。RISC指令系統更加適合高檔服務器的操作系統
UNIX,現在Linux也屬於類似UNIX的操作系統。RISC型CPU與Intel和AMD的CPU在軟件和硬件上都不兼容。

  

  目前,在中高檔服務器中采用RISC指令的CPU主要有以下幾類:PowerPC處理器、SPARC處理器、PA-RISC處理器、MIPS處理器、Alpha處理器。

  

  (3)IA-64

  

  EPIC(Explicitly Parallel Instruction
Computers,精確並行指令計算機)是否是RISC和CISC體系的繼承者的爭論已經有很多,單以EPIC體系來說,它更像Intel的處理器邁向
RISC體系的重要步驟。從理論上說,EPIC體系設計的CPU,在相同的主機配置下,處理Windows的應用軟件比基於Unix下的應用軟件要好得多。

  

  Intel采用EPIC技術的服務器CPU是安騰Itanium(開發代號即Merced)。它是
64位處理器,也是IA-64系列中的第一款。微軟也已開發了代號為Win64的操作系統,在軟件上加以支持。在Intel采用了X86指令集之後,它又轉而尋求更先進的64-bit微處理器,Intel這樣做的原因是,它們想擺脫容量巨大的x86架構,從而引入精力充沛而又功能強大的指令集,於是采用
EPIC指令集的IA-64架構便誕生了。IA-64
在很多方面來說,都比x86有了長足的進步。突破了傳統IA32架構的許多限制,在數據的處理能力,系統的穩定性、安全性、可用性、可觀理性等方面獲得了突破性的提高。

  

  IA-64微處理器最大的缺陷是它們缺乏與x86的兼容,而Intel為了IA-64處理器能夠更好地運行兩個朝代的軟件,它在IA-64處理器上(Itanium、Itanium2
……)引入了x86-to-IA-64的解碼器,這樣就能夠把x86指令翻譯為IA-64指令。這個解碼器並不是最有效率的解碼器,也不是運行x86代碼的最好途徑(最好的途徑是直接在x86處理器上運行x86代碼),因此Itanium
和Itanium2在運行x86應用程序時候的性能非常糟糕。這也成為X86-64產生的根本原因。

  

  (4)X86-64 (AMD64 / EM64T)

  

  AMD公司設計,可以在同一時間內處理64位的整數運算,並兼容於X86-32架構。其中支持64位邏輯定址,同時提供轉換為32位定址選項;但數據操作指令默認為32位和8位,提供轉換成64位和16位的選項;支持常規用途寄存器,如果是32位運算操作,就要將結果擴展成完整的64位。這樣,指令中有
“直接執行”和“轉換執行”的區別,其指令字段是8位或32位,可以避免字段過長。

  

  x86-64(也叫
AMD64)的產生也並非空穴來風,x86處理器的32bit尋址空間限制在4GB內存,而IA-64的處理器又不能兼容x86。AMD充分考慮顧客的需求,加強x86指令集的功能,使這套指令集可同時支持64位的運算模式,因此AMD把它們的結構稱之為x86-64。在技術上AMD在x86-64架構中為了進行64位運算,AMD為其引入了新增了R8-R15通用寄存器作為原有X86處理器寄存器的擴充,但在而在32位環境下並不完全使用到這些寄存器。原來的寄存器諸如EAX、EBX也由32位擴張至64位。在SSE單元中新加入了8個新寄存器以提供對SSE2的支持。寄存器數量的增加將帶來性能的提升。與此同時,為了同時支持32和64位代碼及寄存器,x86-64架構允許處理器工作在以下兩種模式:Long
Mode(長模式)和Legacy
Mode(遺傳模式),Long模式又分為兩種子模式(64bit模式和Compatibility
mode兼容模式)。該標準已經被引進在AMD服務器處理器中的Opteron處理器。

  

  而今年也推出了支持64位的EM64T技術,再還沒被正式命為EM64T之前是IA32E,這是英特爾64位擴展技術的名字,用來區別X86指令集。Intel的
EM64T支持64位sub-mode,和AMD的X86-64技術類似,采用64位的線性平面尋址,加入8個新的通用寄存器(GPRs),還增加8個寄存器支持SSE指令。與AMD相類似,Intel的64位技術將兼容IA32和IA32E,只有在運行64位操作系統下的時候,才將會采用IA32E。
IA32E將由2個sub-mode組成:64位sub-mode和32位sub-mode,同AMD64一樣是向下兼容的。Intel的EM64T將完全兼容AMD的X86-64技術。現在Nocona處理器已經加入了一些64位技術,Intel的Pentium
4E處理器也支持64位技術。

  

  應該說,這兩者都是兼容x86指令集的64位微處理器架構,但EM64T與AMD64還是有一些不一樣的地方,AMD64處理器中的NX位在Intel的處理器中將沒有提供。(
bbz888.mcublog.com )

  

  11.超流水線與超標量

  在解釋超流水線與超標量前,先了解流水線(pipeline)。流水線是Intel首次在486芯片中開始使用的。流水線的工作方式就象工業生產上的裝配流水線。在CPU中由5—6個不同功能的電路單元組成一條指令處理流水線,然後將一條X86指令分成5—6步後再由這些電路單元分別執行,這樣就能實現在一個CPU時鐘周期完成一條指令,因此提高CPU的運算速度。經典奔騰每條整數流水線都分為四級流水,即指令預取、譯碼、執行、寫回結果,浮點流水又分為八級流水。

  

  超標量是通過內置多條流水線來同時執行多個處理器,其實質是以空間換取時間。而超流水線是通過細化流水、提高主頻,使得在一個機器周期內完成一個甚至多個操作,其實質是以時間換取空間。例如Pentium
4的流水線就長達20級。將流水線設計的步(級)越長,其完成一條指令的速度越快,因此才能適應工作主頻更高的CPU。但是流水線過長也帶來了一定副作用,很可能會出現主頻較高的CPU實際運算速度較低的現象,Intel的奔騰4就出現了這種情況,雖然它的主頻可以高達1.4G以上,但其運算性能卻遠遠比不上AMD
1.2G的速龍甚至奔騰III。( bbz888.mcublog.com )

  

  12.封裝形式

  CPU封裝是采用特定的材料將CPU芯片或CPU模塊固化在其中以防損壞的保護措施,一般必須在封裝後CPU才能交付用戶使用。CPU的封裝方式取決於
CPU安裝形式和器件集成設計,從大的分類來看通常采用Socket插座進行安裝的CPU使用PGA(柵格陣列)方式封裝,而采用Slot
x槽安裝的CPU則全部采用SEC(單邊接插盒)的形式封裝。現在還有PLGA(Plastic
Land Grid Array)、OLGA(Organic Land Grid
Array)等封裝技術。由於市場競爭日益激烈,目前CPU封裝技術的發展方向以節約成本為主。(
bbz888.mcublog.com )
13、多線程


  

  同時多線程Simultaneous
multithreading,簡稱SMT。SMT可通過復制處理器上的結構狀態,讓同一個處理器上的多個線程同步執行並共享處理器的執行資源,可最大限度地實現寬發射、亂序的超標量處理,提高處理器運算部件的利用率,緩和由於數據相關或Cache未命中帶來的訪問內存延時。當沒有多個線程可用時,SMT
處理器幾乎和傳統的寬發射超標量處理器一樣。SMT最具吸引力的是只需小規模改變處理器核心的設計,幾乎不用增加額外的成本就可以顯著地提升效能。多線程技術則可以為高速的運算核心準備更多的待處理數據,減少運算核心的閑置時間。這對於桌面低端系統來說無疑十分具有吸引力。Intel從3.06GHz
Pentium 4開始,所有處理器都將支持SMT技術。(
bbz888.mcublog.com )

  

  14、多核心

  

  多核心,也指單芯片多處理器(Chip
multiprocessors,簡稱CMP)。CMP是由美國斯坦福大學提出的,其思想是將大規模並行處理器中的SMP(對稱多處理器)集成到同一芯片內,各個處理器並行執行不同的進程。與CMP比較,
SMT處理器結構的靈活性比較突出。但是,當半導體工藝進入0.18微米以後,線延時已經超過了門延遲,要求微處理器的設計通過劃分許多規模更小、局部性更好的基本單元結構來進行。相比之下,由於CMP結構已經被劃分成多個處理器核來設計,每個核都比較簡單,有利於優化設計,因此更有發展前途。目前,
IBM 的Power 4芯片和Sun的
MAJC5200芯片都采用了CMP結構。多核處理器可以在處理器內部共享緩存,提高緩存利用率,同時簡化多處理器系統設計的復雜度。

  

  2005年下半年,Intel和AMD的新型處理器也將融入CMP結構。新安騰處理器開發代碼為Montecito,采用雙核心設計,擁有最少18MB
片內緩存,采取90nm工藝制造,它的設計絕對稱得上是對當今芯片業的挑戰。它的每個單獨的核心都擁有獨立的L1,L2和L3
cache,包含大約10億支晶體管。( bbz888.mcublog.com )

  

  15、SMP

  

  SMP(Symmetric
Multi-Processing),對稱多處理結構的簡稱,是指在一個計算機上匯集了一組處理器(多CPU),各CPU之間共享內存子系統以及總線結構。在這種技術的支持下,一個服務器系統可以同時運行多個處理器,並共享內存和其他的主機資源。像雙至強,也就是我們所說的二路,這是在對稱處理器系統中最常見的一種(至強MP可以支持到四路,AMD
Opteron可以支持1-8路)。也有少數是16路的。但是一般來講,SMP結構的機器可擴展性較差,很難做到100個以上多處理器,常規的一般是8個到16個,不過這對於多數的用戶來說已經夠用了。在高性能服務器和工作站級主板架構中最為常見,像UNIX服務器可支持最多256個CPU的系統。

  

  構建一套SMP系統的必要條件是:支持SMP的硬件包括主板和CPU;支持SMP的系統平臺,再就是支持SMP的應用軟件。

  

  為了能夠使得SMP系統發揮高效的性能,操作系統必須支持SMP系統,如WINNT、LINUX、以及UNIX等等32位操作系統。即能夠進行多任務和多線程處理。多任務是指操作系統能夠在同一時間讓不同的CPU完成不同的任務;多線程是指操作系統能夠使得不同的CPU並行的完成同一個任務。

  

  要組建SMP系統,對所選的CPU有很高的要求,首先、CPU內部必須內置APIC(Advanced
Programmable Interrupt Controllers)單元。Intel
多處理規範的核心就是高級可編程中斷控制器(Advanced
Programmable Interrupt
Controllers--APICs)的使用;再次,相同的產品型號,同樣類型的CPU核心,完全相同的運行頻率;最後,盡可能保持相同的產品序列編號,因為兩個生產批次的CPU作為雙處理器運行的時候,有可能會發生一顆CPU負擔過高,而另一顆負擔很少的情況,無法發揮最大性能,更糟糕的是可能導致死機。(
bbz888.mcublog.com )

  

  16、NUMA技術

  

  NUMA即非一致訪問分布共享存儲技術,它是由若幹通過高速專用網絡連接起來的獨立節點構成的系統,各個節點可以是單個的CPU或是SMP系統。在
NUMA中,Cache
的一致性有多種解決方案,需要操作系統和特殊軟件的支持。圖2中是Sequent公司NUMA系統的例子。這裏有3個SMP模塊用高速專用網絡聯起來,組成一個節點,每個節點可以有12個CPU。像Sequent的系統最多可以達到64個CPU甚至256個CPU。顯然,這是在SMP的基礎上,再用
NUMA的技術加以擴展,是這兩種技術的結合。(
bbz888.mcublog.com )

  

  17、亂序執行技術

  

  亂序執行(out-of-orderexecution),是指CPU允許將多條指令不按程序規定的順序分開發送給各相應電路單元處理的技術。這樣將根據個電路單元的狀態和各指令能否提前執行的具體情況分析後,將能提前執行的指令立即發送給相應電路單元執行,在這期間不按規定順序執行指令,然後由重新排列單元將各執行單元結果按指令順序重新排列。采用亂序執行技術的目的是為了使CPU內部電路滿負荷運轉並相應提高了CPU的運行程序的速度。分枝技術:(branch)指令進行運算時需要等待結果,一般無條件分枝只需要按指令順序執行,而條件分枝必須根據處理後的結果,再決定是否按原先順序進行。(
bbz888.mcublog.com )

  

  18、CPU內部的內存控制器

  

  許多應用程序擁有更為復雜的讀取模式(幾乎是隨機地,特別是當cache
hit不可預測的時候),並且沒有有效地利用帶寬。典型的這類應用程序就是業務處理軟件,即使擁有如亂序執行(out
of order
execution)這樣的CPU特性,也會受內存延遲的限制。這樣CPU必須得等到運算所需數據被除數裝載完成才能執行指令(無論這些數據來自CPU
cache還是主內存系統)。當前低段系統的內存延遲大約是120-150ns,而CPU速度則達到了3GHz以上,一次單獨的內存請求可能會浪費200
-300次CPU循環。即使在緩存命中率(cache hit
rate)達到99%的情況下,CPU也可能會花50%的時間來等待內存請求的結束-比如因為內存延遲的緣故。

  

  你可以看到Opteron整合的內存控制器,它的延遲,與芯片組支持雙通道
DDR內存控制器的延遲相比來說,是要低很多的。英特爾也按照計劃的那樣在處理器內部整合內存控制器,這樣導致北橋芯片將變得不那麽重要。但改變了處理器訪問主存的方式,有助於提高帶寬、降低內存延時和提升處理器性能。

計算機組成,南北橋,倍頻,通信,頻率一致才可以通信