CPU依靠指令來自計算和控制系統,每款CPU在設計時就規定了一系列與其硬體電路相配合的指令系統。指令的強弱也是CPU的重要指標,指令集是提高微處理器效率的最有效工具之一。從現階段的主流體系結構講,指令集可分為複雜指令集和精簡指令集兩部分(指令集共有四個種類),而從具體運用看,如Intel的MMX(Multi Media Extended,此為AMD猜測的全稱,Intel並沒有說明詞源)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SSE3、SSE4系列和AMD的3DNow!等都是CPU的擴充套件指令集,分別增強了CPU的多媒體、圖形圖象和Internet等的處理能力。通常會把CPU的擴充套件指令集稱為”CPU的指令集”。SSE3指令集也是目前規模最小的指令集,此前MMX包含有57條命令,SSE包含有50條命令,SSE2包含有144條命令,SSE3包含有13條命令。目前SSE4也是最先進的指令集,英特爾酷睿系列處理器已經支援SSE4指令集,AMD會在未來雙核心處理器當中加入對SSE4指令集的支援,全美達的處理器也將支援這一指令集
8、封裝形式
CPU封裝是採用特定的材料將CPU晶片或CPU模組固化在其中以防損壞的保護措施,一般必須在封裝後CPU才能交付使用者使用。CPU的封裝方式取決於CPU安裝形式和器件整合設計,從大的分類來看通常採用Socket插座進行安裝的CPU使用PGA(柵格陣列)方式封裝,而採用Slot x槽安裝的CPU則全部採用SEC(單邊接插盒)的形式封裝。現在還有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封裝技術。由於市場競爭日益激烈,目前CPU封裝技術的發展方向以節約成本為主。
簡單的來說,架構對於CPU來說就像一座建築的框架,作為CPU最基本卻也是最重要的部分。手機CPU構架主要是基於ARM(高階精簡指令集機器Advanced RISC Machines)架構設計,而ARM用精簡指令系統(RISC),設計思想減少了大量CPU內部的指令集,造成ARM CPU效能至今一直都達不到英特爾X86 CPU的水平。
而電腦CPU採用的是X86、X64等架構,用複雜指令系統(CISC),最終結果是採用ARM架構的CPU,運算能力大大低於電腦CPU的運算能力,同等頻率CPU浮點運算能力相差在幾千到上萬倍。
有人一定會說,那為什麼手機CPU不也採用X86、X64等架構,這是因為定位問題決定的,手機的CPU必須滿足功耗低、廉價,而X86、X64等架構CPU確實無法滿足這一點。
二、工藝&主頻
手機CPU主流14/16nm,已經趕上了電腦CPU的製程水平。
再來說說主頻,CPU的主頻與CPU實際的運算能力存在一定的關係,但並沒有直接關係。決定CPU的運算速度還要看CPU的的綜合指標,有快取、指令集,CPU的位數等因素。
因為CPU的位數很重要,這也就是搭載了64位的CPU的手機比32位快的多的原因。手機CPU和電腦CPU架構由於不同,相同主頻下電腦CPU要比手機CPU的運算能力高几十到幾百倍。
三、核心的影響
手機多核其實應該叫多CPU,將多個CPU晶片封裝起來處理不同的事情,你甚至可以戲稱為“膠水核心”,也就是被強行粘在一起的意思。在待機或者空閒的時候,八核的手機也只能用到一到兩個核心。
手機CPU與電腦CPU的效能究竟差多少?
而電腦則不同,PC的多核處理器是指在一個處理器上集成了多個運算核心,透過相互配合、相互協作可以處理同一件事情,是多個並行的個體封裝在了一起。用一句話概括,就是並行處理,雙核就是單車道變多車道。
在處理同一件事情時候,核心的增多並沒有手機CPU運算能力並沒有實際性的增強,可以想象性單車道擠在八輛車上的場景。這也就是為什麼Intel的atom手機處理器和蘋果的處理器只有雙核,卻要比大多同頻率四核處理器都強。單核心能力其實更重要,這就是聯發科多核(10核心)並不能提升太多的原因。
四、GPU核心
一般來說,手機GPU是與CPU封裝在一起的在同一塊SoC上,相當intel的核芯顯示卡。而電腦則不同,早期電腦的CPU通常都是主攻運算,影片和圖形處理都交給顯示卡,顯示卡整合在北橋中。
後來有了獨立顯示卡,而集顯慢慢的整合到了CPU中,而現在核心顯示卡正在慢慢替代集顯了。值得一提的是,Intel最新的核芯顯示卡功耗、效能都相當優秀,大有取代獨立顯示卡的趨勢。
影響CPU效能的因素盤點
1、主頻
主頻也叫時鐘頻率,單位是兆赫(MHz)或千兆赫(GHz),用來表示CPU的運算、處理資料的速度。
CPU的主頻=外頻×倍頻係數。很多人認為主頻就決定著CPU的執行速度,這不僅是片面的,而且對於伺服器來講,這個認識也出現了偏差。至今,沒有一條確定的公式能夠實現主頻和實際的運算速度兩者之間的數值關係,即使是兩大處理器廠家Intel(英特爾)和AMD,在這點上也存在著很大的爭議,從Intel的產品的發展趨勢,可以看出Intel很注重加強自身主頻的發展。像其他的處理器廠家,有人曾經拿過一塊1GHz的全美達處理器來做比較,它的執行效率相當於2GHz的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的整體效能。
2、外頻
外頻是CPU的基準頻率,單位是MHz。CPU的外頻決定著整塊主機板的執行速度。通俗地說,在臺式機中,所說的超頻,都是超CPU的外頻(當然一般情況下,CPU的倍頻都是被鎖住的)相信這點是很好理解的。但對於伺服器CPU來講,超頻是絕對不允許的。前面說到CPU決定著主機板的執行速度,兩者是同步執行的,如果把伺服器CPU超頻了,改變了外頻,會產生非同步執行,(桌上型電腦很多主機板都支援非同步執行)這樣會造成整個伺服器系統的不穩定。
目前的絕大部分電腦系統中外頻與主機板前端匯流排不是同步速度的,而外頻與前端匯流排(FSB)頻率又很容易被混為一談,下面的前端匯流排介紹談談兩者的區別。
3、前端匯流排(FSB)頻率
前端匯流排(FSB)頻率(即匯流排頻率)是直接影響CPU與記憶體直接資料交換速度。有一條公式可以計算,即資料頻寬=(匯流排頻率×資料位寬)/8,資料傳輸最大頻寬取決於所有同時傳輸的資料的寬度和傳輸頻率。比方,現在的支援64位的至強Nocona,前端匯流排是800MHz,按照公式,它的資料傳輸最大頻寬是6.4GB/秒。
外頻與前端匯流排(FSB)頻率的區別:前端匯流排的速度指的是資料傳輸的速度,外頻是CPU與主機板之間同步執行的速度。也就是說,100MHz外頻特指數字脈衝訊號在每秒鐘震盪一億次;而100MHz前端匯流排指的是每秒鐘CPU可接受的資料傳輸量是100MHz×64bit÷8bit/Byte=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處理器就不知道從何談起了。
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個位元組。
5、倍頻係數
倍頻係數是指CPU主頻與外頻之間的相對比例關係。在相同的外頻下,倍頻越高CPU的頻率也越高。但實際上,在相同外頻的前提下,高倍頻的CPU本身意義並不大。這是因為CPU與系統之間資料傳輸速度是有限的,一味追求高主頻而得到高倍頻的CPU就會出現明顯的“瓶頸”效應-CPU從系統中得到資料的極限速度不能夠滿足CPU運算的速度。一般除了工程樣版的Intel的CPU都是鎖了倍頻的,少量的如Inter 酷睿2 核心的奔騰雙核E6500K和一些至尊版的CPU不鎖倍頻,而AMD之前都沒有鎖,現在AMD推出了黑盒版CPU(即不鎖倍頻版本,使用者可以自由調節倍頻,調節倍頻的超頻方式比調節外頻穩定得多)。
6、快取
快取大小也是CPU的重要指標之一,而且快取的結構和大小對CPU速度的影響非常大,CPU內快取的執行頻率極高,一般是和處理器同頻運作,工作效率遠遠大於系統記憶體和硬碟。實際工作時,CPU往往需要重複讀取同樣的資料塊,而快取容量的增大,可以大幅度提升CPU內部讀取資料的命中率,而不用再到記憶體或者硬碟上尋找,以此提高系統性能。但是由於CPU芯片面積和成本的因素來考慮,快取都很小。
7、CPU擴充套件指令集
CPU依靠指令來自計算和控制系統,每款CPU在設計時就規定了一系列與其硬體電路相配合的指令系統。指令的強弱也是CPU的重要指標,指令集是提高微處理器效率的最有效工具之一。從現階段的主流體系結構講,指令集可分為複雜指令集和精簡指令集兩部分(指令集共有四個種類),而從具體運用看,如Intel的MMX(Multi Media Extended,此為AMD猜測的全稱,Intel並沒有說明詞源)、SSE、 SSE2(Streaming-Single instruction multiple data-Extensions 2)、SSE3、SSE4系列和AMD的3DNow!等都是CPU的擴充套件指令集,分別增強了CPU的多媒體、圖形圖象和Internet等的處理能力。通常會把CPU的擴充套件指令集稱為”CPU的指令集”。SSE3指令集也是目前規模最小的指令集,此前MMX包含有57條命令,SSE包含有50條命令,SSE2包含有144條命令,SSE3包含有13條命令。目前SSE4也是最先進的指令集,英特爾酷睿系列處理器已經支援SSE4指令集,AMD會在未來雙核心處理器當中加入對SSE4指令集的支援,全美達的處理器也將支援這一指令集
8、封裝形式
CPU封裝是採用特定的材料將CPU晶片或CPU模組固化在其中以防損壞的保護措施,一般必須在封裝後CPU才能交付使用者使用。CPU的封裝方式取決於CPU安裝形式和器件整合設計,從大的分類來看通常採用Socket插座進行安裝的CPU使用PGA(柵格陣列)方式封裝,而採用Slot x槽安裝的CPU則全部採用SEC(單邊接插盒)的形式封裝。現在還有PLGA(Plastic Land Grid Array)、OLGA(Organic Land Grid Array)等封裝技術。由於市場競爭日益激烈,目前CPU封裝技術的發展方向以節約成本為主。
9、多執行緒
同時多執行緒Simultaneous Multithreading,簡稱SMT。SMT可透過複製處理器上的結構狀態,讓同一個處理器上的多個執行緒同步執行並共享處理器的執行資源,可最大限度地實現寬發射、亂序的超標量處理,提高處理器運算部件的利用率,緩和由於資料相關或Cache未命中帶來的訪問記憶體延時。當沒有多個執行緒可用時,SMT處理器幾乎和傳統的寬發射超標量處理器一樣。SMT最具吸引力的是隻需小規模改變處理器核心的設計,幾乎不用增加額外的成本就可以顯著地提升效能。多執行緒技術則可以為高速的運算核心準備更多的待處理資料,減少運算核心的閒置時間。這對於桌面低端系統來說無疑十分具有吸引力。Intel從3.06GHz Pentium 4開始,所有處理器都將支援SMT技術。
10、多核心
多核心,也指單晶片多處理器(Chip Multiprocessors,簡稱CMP)。CMP是由美國斯坦福大學提出的,其思想是將大規模並行處理器中的SMP(對稱多處理器)整合到同一晶片內,各個處理器並行執行不同的程序。與CMP比較, SMT處理器結構的靈活性比較突出。但是,當半導體工藝進入0.18微米以後,線延時已經超過了門延遲,要求微處理器的設計透過劃分許多規模更小、區域性性更好的基本單元結構來進行。相比之下,由於CMP結構已經被劃分成多個處理器核來設計,每個核都比較簡單,有利於最佳化設計,因此更有發展前途。目前,IBM 的Power 4晶片和Sun的 MAJC5200晶片都採用了CMP結構。多核處理器可以在處理器內部共享快取,提高快取利用率,同時簡化多處理器系統設計的複雜度