1簡介

所謂智能處理器是英特爾(Intel)公司在2010年推出的使用新一代處理器架構Nehalem的酷睿i7/i5/i3系列最新加入到處理器中的技術。名為Turbo.mode(即「睿頻加速」技術)和Hyper-Threading(HT)(即「超線程」技術),並在2011年1月推出了第二代智能酷睿處理器,被稱作Sandy Bridge平台,簡稱SNB。第二代處理器同樣以酷睿I3/I5/I7來命名。不過在型號前面均有加一個數字2,以便區分一代一二代的產品。

2Turbo.mode(即「睿頻加速」技術)

------Intel在最新酷睿i系列cpu中加入的新技術,以往cpu的主頻是出廠之前被設定好的,不可以隨意改變。而i系列cpu都加入睿頻加速,使得cpu的主頻可以在某一範圍內根據處理數據需要自動調整主頻。它是基於Nehalem架構的電源管理技術,通過分析當前CPU的負載情況,智能地完全關閉一些用不上的核心,把能源留給正在使用的核心,並使它們運行在更高的頻率,進一步提升性能;相反,需要多個核心時,動態開啟相應的核心,智能調整頻率。這樣,在不影響CPU的TDP情況下,能把核心工作頻率調得更高。比如,某i5處理主頻為2.53GHz,最高可達2.93GHz,在此範圍內可以自動調整其數據處理頻率,而此cpu的承受能力遠遠大於2.93GHz,不必擔心cpu的承受能力。加入此技術的cpu不僅可以滿足用戶多方面的需要,而且省電,使cpu具有一些智能特點。
智能處理

  智能處理

實現Turbo技術需要在核心內部設計一個功率控制器,大約需要消耗100萬個晶體管。因為在某些遊戲中開啟Turbo模式可以直接帶來10%左右的性能提升,相當於將顯卡提升一個檔次。值得一提的是,Extreme版本的Core i7處理器最高可以將TDP在BIOS中設定到190W來執行Turbo模式,在個別應用中進一步提升CPU時鐘頻率,帶來效能上的提升。)。他的加入可以很好的幫助處理器在空閑時刻降低功耗,從而起到提高工作效率同時節能的目的。Turbo Mode功能是一項可以充分使用處理器工作效率的技術。它能讓內核運行動態加速。可以根據需要開啟、關閉以及加速單個或多個內核的運行。如在一個四核的Nehalem處理器中,如果一個任務是單線程的,則可以關閉另外三個內核的運行,同時把工作的那個內核的運行主頻提高,這樣動態的調整可以提高系統和CPU整體的能效比率。
CPU會確定其當前工作功率、電流和溫度是否已達到最高極限,如仍有多餘空間,CPU會逐漸提高活動內核的頻率,以進一步提高當前任務的處理速度,當程序只用到其中的某些核心時,CPU會自動關閉其它未使用的核心,睿頻加速技術無需用戶干預,自動實現。

3Hyper-Threading(HT)

性能提升
一般很多人都會認為,採用超線程技術,就能使得系統效能大幅提升,但是事實真是如此么?不要忘了我們前面說到的超線程技術實現的必要條件,這可是超線程技術發揮應有效能的前提條件。除了操作系統支持之外,還必須要軟體的支持。從這點我們就可以看出,就目前的軟體現狀來說,支持雙處理器技術的軟體畢竟還在少數。對於大多數軟體來說,目前由於設計的原理不同,還並不能從超線程技術上得到直接的好處,因為超線程技術是在線程級別上并行處理命令,按線程動態分配處理器等資源。該技術的核心理念是「并行度(Parallelism)」,也就是提高命令執行的并行度、提高每個時鐘的效率。這就需要軟體在設計上線程化,提高并行處理的能力。而目前PC上的應用程序幾乎沒有為此作出相應的優化,採用超線程技術並沒不能獲得效能的大幅提升。 上面說的只是目前軟體支持的現狀,操作系統在這個方面則沒有太大的問題,畢竟Windows的某些版本、Linux都是支持多處理器的操作系統。並且隨著Intel支持超線程技術的處理器面世之後,憑藉Intel處理器的號召力,必然會引起目前應用程序設計上的改變,必然會有更多的支持并行線程處理的軟體面世,屆時,當然是支持超線程處理器大顯身手的時候了。那時候普通用戶才能夠從超線程技術中得到最直接的好處。
儘管提高CPU的時鐘頻率和增加緩存容量后的確可以改善性能,但這樣的CPU性能提高在技術上存在較大的難度。實際上在應用中基於很多原因,CPU的執行單元都沒有被充分使用。如果CPU不能正常讀取數據(匯流排/內存的瓶頸),其執行單元利用率會明顯下降。
目前大多數執行線程缺乏ILP(Instruction-Level Parallelism,多種指令同時執行)支持。這些都造成了目前CPU的性能沒有得到全部的發揮。因此,Intel則採用另一個思路去提高CPU的性能,讓CPU可以同時執行多重線程,就能夠讓CPU發揮更大效率,即所謂「超線程(Hyper-Threading,簡稱「HT」)」技術。超線程技術就是利用特殊的硬體指令,把兩個邏輯內核模擬成兩個物理晶元,讓單個處理器都能使用線程級并行計算,進而兼容多線程操作系統和軟體,減少了CPU的閑置時間,提高的CPU的運行效率。
採用超線程及時可在同一時間裡,應用程序可以使用晶元的不同部分。雖然單線程晶元每秒鐘能夠處理成千上萬條指令,但是在任一時刻只能夠對一條指令進行操作。而超線程技術可以使晶元同時進行多線程處理,使晶元性能得到提升。
英特爾P4 超線程有兩個運行模式,Single Task Mode(單任務模式)及Multi Task Mode(多任務模式),當程序不支持Multi-Processing(多處理器作業)時,系統會停止其中一個邏輯CPU的運行,把資源集中於單個邏輯CPU中,讓單線程程序不會因其中一個邏輯CPU閑置而減低性能,但由於被停止運行的邏輯CPU還是會等待工作,佔用一定的資源,因此Hyper-Threading CPU運行Single Task Mode程序模式時,有可能達不到不帶超線程功能的CPU性能,但性能差距不會太大。也就是說,當運行單線程運用軟體時,超線程技術甚至會降低系統性能,尤其在多線程操作系統運行單線程軟體時容易出現此問題。
需要注意的是,含有超線程技術的CPU需要晶元組、軟體支持,才能比較理想的發揮該項技術的優勢。操作系統如:Microsoft Windows XP、Microsoft Windows 2003,Linuxkernel 2.4.x以後的版本也支持超線程技術。
缺點
1、因為超線程技術是對多任務處理有優勢,因此當運行單線程運用軟體時,超線程技術將會降低系統性能,尤其在多線程操作系統運行單線程軟體時將容易出現此問題(這也是在WindowsXP中運行顯卡的測試軟體時候,得分下降了一點)。
2、在打開超線程支持后,如果處理器以雙處理器模式工作,那麼處理器內部緩存就會被劃分成幾區域,互相共享內部資源。對於不支持多處理器工作的軟體在雙處理器上運行時出錯的概率要比單處理器上高很多。
3、目前因為很多工作站軟體為Windows 2000操作系統進行過優化,但是採用Windows2000這樣的操作系統的工作戰無法完全利用超線程技術的優勢,也帶來不了高的工作效率。
通過上面的解答,我們應該知道了超線程技術的確實對系統性能提升有好處,但是這僅對多任務處理的時候有優勢,在進行單各任務處理的時候,優勢表現不出來,而且因為打開超線程,處理器內部緩存就會被劃分成幾區域,互相共享內部資源,造成單個的子系統性能下降。個人認為,用戶在進行單任務操作時候,沒有必要打開超線程,只有多任務操作時候可以適時打開超線程,享受超線程技術帶來的好處。
性能
睿頻加速技術示意圖

  睿頻加速技術示意圖

從性能上看,英特爾新酷睿處理器加入的睿頻加速技術使得筆記本的頻率更加的智能化了,換言之,筆記本的處理器頻率會依據當前運行需求在一個範圍內變動。通俗地講就是:當用戶在PC上進行簡單的操作、或者機器閑置的時候,處理器頻率會自動調整到較低的頻率,但是能夠滿足機器流暢運行;而當用戶在PC上進行消耗資源較大的操作,比如處理大容量存儲格式相片、運行大型3D遊戲時,處理器立馬滿狀態運行,並能通過睿頻技術自動超頻到一個較高的水準來滿足運行程序的需求。而這一切操作,並不需要用戶隨時去手動切換,一切都在後台「悄悄地」完成,省去了很多麻煩。
當用戶啟動一個運行程序后,比如運行一款對系統資源要求較高的大型3D遊戲,處理器會自動加速到合適的頻率,將原來的運行速度提升10%~20% 以保證程序流暢運行;應對複雜應用時,處理器可自動提高運行主頻以提速,輕鬆進行對性能要求更高的多任務處理;當進行工作任務切換時,如果只有內存和硬碟在進行主要的工作,處理器會立刻處於節電狀態。這樣既保證了能源的有效利用,又使程序運行速度大幅提升。
提取
第一階段,提取,從程式記憶體中檢索指令(為數值或一系列數值)。由程式計數器(Program Counter)指定程式記憶體的位置,程式計數器保存供識別目前程式位置的數值。換言之,程式計數器記錄了CPU在目前程式里的蹤跡。
提取指令之後,程式計數器根據指令長度增加記憶體單元。指令的提取必須常常從相對較慢的記憶體尋找,因此導致CPU等候指令的送入。這個問題主要被論及在現代處理器的快取和管線化架構。
執行
在提取和解碼階段之後,接著進入執行階段。該階段中,連接到各種能夠進行所需運算的CPU部件。
例如,要求一個加法運算,算數邏輯單元(ALU,Arithmetic Logic Unit)將會連接到一組輸入和一組輸出。輸入提供了要相加的數值,而輸出將含有總和的結果。ALU內含電路系統,易於輸出端完成簡單的普通運算和邏輯運算(比如加法和位元運算)。如果加法運算產生一個對該CPU處理而言過大的結果,在標誌暫存器里,運算溢出(Arithmetic Overflow)標誌可能會被設置。
運算邏輯部件
運算邏輯部件,可以執行定點或浮點的算術運算操作、移位操作以及邏輯操作,也可執行地址的運算和轉換。
控制部件
控制部件,主要負責對指令解碼,並且發出為完成每條指令所要執行的各個操作的控制信號。
其結構有兩種:一種是以微存儲為核心的微程序控制方式;一種是以邏輯硬布線結構為主的控制方式。
微存儲中保持微碼,每一個微碼對應於一個最基本的微操作,又稱微指令;各條指令是由不同序列的微碼組成,這種微碼序列構成微程序。中央處理器在對指令解碼以後,即發出一定時序的控制信號,按給定序列的順序以微周期為節拍執行由這些微碼確定的若干個微操作,即可完成某條指令的執行。
簡單指令是由(3~5)個微操作組成,複雜指令則要由幾十個微操作甚至幾百個微操作組成。
邏輯硬布線控制器則完全是由隨機邏輯組成。指令解碼后,控制器通過不同的邏輯門的組合,發出不同序列的控制時序信號,直接去執行一條指令中的各個操作。

4發展歷史

CPU這個名稱,早期是對一系列可以執行複雜的計算機程序或電腦程式的邏輯機器的描述。這個空泛的定義很容易在「CPU」這個名稱被普遍使用之前將計算機本身也包括在內。
起步的角逐
1978年,Intel公司再次領導潮流,首次生產出16位的微處理器,並命名為i8086,同時還生產出與之相配合的數學協處理器i8087,這兩種晶元使用相互兼容的指令集,但在i8087指令集中增加了一些專門用於對數、指數和三角函數等數學計算的指令。由於這些指令集應用於i8086和i8087,所以人們也把這些指令集中統一稱之為X86指令集。
雖然以後Intel公司又陸續生產出第二代、第三代等更先進和更快的新型CPU,但都仍然兼容原來的X86指令,而且Intel公司在後續CPU的命名上沿用了原先的X86序列,直到後來因商標註冊問題,才放棄了繼續用阿拉伯數字命名。至於在後來發展壯大的其他公司,例如AMD和Cyrix等,在486以前(包括486)的CPU都是按Intel的命名方式為自己的X86系列CPU命名,但到了586時代,市場競爭越來越厲害了,由於商標註冊問題,它們已經無法繼續使用與Intel的X86系列相同或相似的命名,只好另外為自己的586、686兼容CPU命名了。
1979年,Intel公司推出了8088晶元,它仍舊是屬於16位微處理器,內含29000個晶體管,時鐘頻率為4.77MHz,地址匯流排為20位,可使用1MB內存。8088內部數據匯流排都是16位,外部數據匯流排是8位,而它的兄弟8086是16位。
高速CPU時代的騰飛
1990年,Intel公司推出的80386 SL和80386 DL都是低功耗、節能型晶元,主要用於便攜機和節能型台式機。80386 SL與80386 DL的不同在於前者是基於80386SX的,後者是基於80386DX的,但兩者皆增加了一種新的工作方式:系統管理方式。當進入系統管理方式后,CPU 就自動降低運行速度、控制顯示屏和硬碟等其它部件暫停工作,甚至停止運行,進入「休眠」狀態,以達到節能目的。
1989年,大家耳熟能詳的80486 晶元由Intel公司推出,這種晶元的偉大之處就在於它實破了100萬個晶體管的界限,集成了120萬個晶體管。80486的時鐘頻率從25MHz逐步提高到了33MHz、50MHz。80486是將80386和數學協處理器80387以及一個8KB的高速緩存集成在一個晶元內,並且在80X86系列中首次採用 了RISC(精簡指令集)技術,可以在一個時鐘周期內執行一條指令。它還採用了突發匯流排方式,大大提高了與內存的數據交換速度。
由於這些改進,80486 的性能比帶有80387數學協處理器的80386DX提高了4倍。80486和80386一樣,也陸續出現了幾種類型。上面介紹的最初類型是80486DX。
1990年,Intel公司推出了80486 SX,它是486類型中的一種低價格機型,其與80486DX的區別在於它沒有數學協處理器。80486 DX2由於用了時鐘倍頻技術,也就是說晶元內部的運行速度是外部匯流排運行速度的兩倍,即晶元內部以2倍於系統時鐘的速度運行,但仍以原有時鐘速度與外界通訊。80486 DX2的內部時鐘頻率主要有40MHz、50MHz、66MHz等。80486 DX4也是採用了時鐘倍頻技術的晶元,它允許其內部單元以2倍或3倍於外部匯流排的速度運行。為了支持這種提高了的內部工作頻率,它的片內高速緩存擴大到 16KB。80486 DX4的時鐘頻率為100MHz,其運行速度比66MHz的80486 DX2快40%。80486也有SL增強類型,其具有系統管理方式,用於便攜機或節能型台式機。
CPU的標準化和小型化都使得這一類數字設備(香港譯為「電子零件」)在現代生活中
的出現頻率遠遠超過有限應用專用的計算機。現代微處理器出現在包括從汽車到手機到兒童玩具在內的各種物品中。

5技術架構

指令集
(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系列,最後到今天的酷睿2系列、至強(不包括至強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的處理器中將沒有提供。
上一篇[製程工藝]    下一篇 [SandyBridge]

相關評論

同義詞:暫無同義詞