當前位置:才華齋>計算機>計算機硬體>

CPU的處理技術有哪些

計算機硬體 閱讀(3.07W)

CPU,被稱為中央處理器,那麼一定就是處理各種資料操作的,那麼,CPU處理那麼龐大的資料,採用了哪些技術呢?小編帶你瞭解CPU的處理技術。

CPU的處理技術有哪些

多執行緒

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

多核心

多核心,也指單晶片多處理器(Chip Multiprocessors,簡稱CMP)。CMP是由美國斯坦福大學提出的,其思想是將大規模並行處理器中的SMP(對稱多處理器)整合到同一晶片內,各個處理器並行執行不同的程序。這種依靠多個CPU同時並行地執行程式是實現超高速計算的一個重要方向,稱為並行處理。與CMP比較,SMT處理器結構的靈活性比較突出。但是,當半導體工藝進入0.18微米以後,線延時已經超過了門延遲,要求微處理器的設計通過劃分許多規模更小、區域性性更好的基本單元結構來進行。相比之下,由於CMP結構已經被劃分成多個處理器核來設計,每個核都比較簡單,有利於優化設計,因此更有發展前途。IBM 的Power 4晶片和Sun的MAJC5200晶片都採用了CMP結構。多核處理器可以在處理器內部共享快取,提高快取利用率,同時簡化多處理器系統設計的複雜度。但這並不是說明,核心越多,效能越高,比如說16核的CPU就沒有8核的CPU運算速度快,因為核心太多,而不能合理進行分配,所以導致運算速度減慢。在買電腦時請酌情選擇。2005年下半年,Intel和AMD的新型處理器也將融入CMP結構。新安騰處理器開發程式碼為Montecito,採用雙核心設計,擁有最少18MB片內快取,採取90nm工藝製造。它的每個單獨的核心都擁有獨立的L1,L2和L3 cache,包含大約10億支電晶體。

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負擔過高,而另一顆負擔很少的情況,無法發揮最大效能,更糟糕的是可能導致宕機。

NUMA技術

NUMA即非一致訪問分佈共享儲存技術,它是由若干通過高速專用網路連線起來的獨立節點構成的系統,各個節點可以是單個的CPU或是SMP系統。在NUMA中,Cache 的一致性有多種解決方案,一般採用硬體技術實現對cache的一致性維護,通常需要作業系統針對NUMA訪存不一致的特性(本地記憶體和遠端記憶體訪存延遲和頻寬的不同)進行特殊優化以提高效率,或採用特殊軟體程式設計方法提高效率。NUMA系統的例子。這裡有3個SMP模組用高速專用網路聯起來,組成一個節點,每個節點可以有12個CPU。像Sequent的系統最多可以達到64個CPU甚至256個CPU。顯然,這是在SMP的基礎上,再用NUMA的技術加以擴充套件,是這兩種技術的結合。

亂序執行

亂序執行(out-of-orderexecution),是指CPU允許將多條指令不按程式規定的順序分開發送給各相應電路單元處理的技術。這樣將根據個電路單元的狀態和各指令能否提前執行的具體情況分析後,將能提前執行的指令立即傳送給相應電路單元執行,在這期間不按規定順序執行指令,然後由重新排列單元將各執行單元結果按指令順序重新排列。採用亂序執行技術的目的是為了使CPU內部電路滿負荷運轉並相應提高了CPU的執行程式的速度。

分枝技術

(branch)指令進行運算時需要等待結果,一般無條件分枝只需要按指令順序執行,而條件分枝必須根據處理後的結果,再決定是否按原先順序進行。

控制器

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

在處理器內部整合記憶體控制器,使得北橋晶片將變得不那麼重要,改變了處理器訪問主存的方式,有助於提高頻寬、降低記憶體延時和提升處理器性製造工藝:Intel的I5可以達到28奈米,在將來的CPU製造工藝可以達到22奈米。