1. 程式人生 > >[py]你真的了解多核處理器嗎? 了解多線程

[py]你真的了解多核處理器嗎? 了解多線程

註意 董事會 fusion 整體 用戶 繼續 高速 多核處理器 真的

你真的了解多核處理器嗎?

技術分享圖片

1.雙核≠雙性能

多核不一定會使你的手機或電腦速度更快,但它將提高你的PC的整體性能,這是一個有所不同的細微的技術特色。多核處理器的性能提升並不是簡單CPU核心的倍數,因為受到兩(多)個核之間共享資源的拖累。比如雙核性能只是單核的1.4~1.8倍,實際情況取決於具體的應用。

技術分享圖片
一個核拼命幹活,拼命轉啊轉啊,其他核在看,最後溫度不斷上升然後藍屏了。。。。

上圖是個笑話,不過你可以用任務管理器可以看到並不是每個核的負載時均勻分配的。

技術分享圖片

這是為什麽一個核轉啊轉啊,最後藍屏的原因。

技術分享圖片

2.多核並不一定高能

從理論上來說,多核的性能肯定要比單核高很多。不過軟件的發展遠遠跟不上硬件發展的速度,這樣多核CPU在實際應用中就無法發揮其應用的功效,比如現在四核CPU已經非常的普及,但是針對四核優化的應用軟件寥寥可數。即使你已經用上八核的CPU,在運行很多軟件時仍然不會感到速度有多快得提升。因此我們並不要唯核是從,多核的不一定是最優的。“夠用就好”永遠是大家裝機時選擇硬件的唯一原則。另外由於架構、主頻的不同,多核也並不一定比少核性能高。

多核不一定高能,的原理跟人多不一定力量大,是一個道理。
技術分享圖片

3.多核不僅是CPU

為了充分發揮CPU功效和減少用戶支出,現在越來越多CPU集成GPU功能,比如Intel就在Sandy Bridge把GPU核心整合進了CPU當中,其GPU核心的圖形核心性能大幅度的提升。

多核化是無奈之舉:以前,半導體工藝的發展可以帶來“一舉三得”的效果,包括提高晶體管速度、降低功耗和縮小芯片面積。但是,當制造工藝發展到90nm或65nm時,泄漏電流的問題凸顯,沿用以往的內部架構來提高頻率的方法難以奏效。為了在不提高工作頻率的條件下實現性能的提升,只能增加CPU內核的數量。

在有許多客戶機要求進行並行處理的服務器中,多核架構容易獲得比較好的效果。但是,問題發生在根據用戶的要求運行應用軟件的客戶機裏。由於可能同時運行的軟件數量有限,即使可以將各個軟件分割以後並行執行,但軟件中必須串行執行的部分仍然會妨礙處理性能的提升。許多相關人士認為,在目前這種架構的PC中,4~8個內核可能是多核處理器能夠獲得較好性能提升效果的極限。

集成多個不同類型的內核:另一方面,提供新體驗的高級用戶接口、動態及靜態圖像分析等新的應用軟件的不斷出現,對處理器的處理性能提出了更高的要求。如果處理器僅在目前以CPU內核為主的架構上繼續發展,這些新應用可能將無法實現。

2007年9月,英特爾公司董事會名譽主席Gordon Moore在英特爾秋季技術峰會上表示:“眾所周知,摩爾定律在物理上是有極限的。大約10年或15年以後,摩爾定律將會遇到根本性障礙,而退出歷史舞臺。”反過來說,Moore認為,半導體工藝的發展很可能還會像以前那樣再延續10年左右。在把工藝發展當作技術推動力的同時,為了越過橫亙在多核架構前面的壁壘,處理器應該采用什麽樣的內部架構呢?

業界想到的方案是采用異構處理器架構,即將不同類型的內核集成在一起。在這種架構中,CPU內核所不擅長的浮點運算及信號處理工作,將由集成在同一塊芯片上的其它可編程內核執行。相關人士認為,集成多個不同類型內核的異構多核架構將成為今後處理器的主流架構。

從同構到異構通用處理器將實現SoC化:Nvidia公司的總裁兼CEO指出:“目前,圖形芯片具有的浮點運算性能已經大大超越了處理器。如果能夠靈活運用,隨著圖形芯片的發展,將會湧現出各種各樣新的應用。”在占據PC及服務器主流地位的x86處理器中,圍繞GPU(圖形處理單元)展開的相關研發工作突然活躍起來。

GPU的集成和通用化取得進展:圍繞GPU的研發方向主要有兩個。首先,是將GPU內核集成到處理器芯片上。AMD公司在2006年7月收購了加拿大的GPU生產商ATI科技公司,並提出了將ATI公司的GPU內核集成到處理器上的Fusion處理器方案。另外,英特爾公司在2007年4月明確表示,正在開發矢量處理器Larrabee(開發代號),其中集成了許多專用於浮點運算的CPU內核。

另一個研發方向是,利用GPU擅長對浮點運算進行並行處理的特點,將其用作矢量處理器。這就是面向通用計算領域的GPGPU(General Purpose Computing on GPU),NVIDIA公司從2006年下半年已陸續推出相關的硬件產品及軟件開發工具(見圖1)。

賽靈思推了一款新器件的時候,估計英特爾老大科再奇驚得要從椅子上掉下來了。

這個新器件是啥?這就是賽靈思今年在大年初五發布的基於16nm FinFET 3D晶體管的FPGA新品---Zynq UltraScale MPSoC

看看它的內部結構:

  • 1、 四核A53處理器 CPU
  • 2、 一個GPU Mali-400MP
  • 3、 一個Cortex-R5 CPU
  • 4、 電源管理單元,AMS單元
  • 5、 H.265(HEVC)視頻編解碼器
  • 6、 安全模塊
  • 7、 UltraScale FPGA 單元;

這其實就是一款異構處理器,如前所述,它是一款ASIC就級的異構處理器!而且是64位,采用16nm FinFET工藝的處理器!而且是采用FPGA實現硬加速的處理器!

Intel收購Altera,說明Intel坐不住了。一場大戲即將開幕。拭目以待。

4. 什麽是雙核、雙芯和超線程

雙(多)核:是指擁有兩(或多個)物理核心(又稱為內核),各種CPU核心都具有固定的邏輯結構,一級緩存、二級緩存、執行單元、指令級單元和總線接口等邏輯單元,各個核心通過超傳輸技術讓CPU內核直接跟外部I/O相連,集成內存控制器技術,使得每個內核都有自己的高速緩存可資遣用,都有自己的專用車道直通I/O,沒有資源爭搶的問題。

雙(多)芯:僅僅將兩(或多個)完整的CPU封裝在一起,連接到同一個前端總線上。由於總線的限制,兩個核心必然會產生總線爭搶,影響性能,而且這樣的核心越多,越容易加劇處理器爭用前端總線帶寬,成為提升系統性能的瓶頸,這是CPU架構引發的先天故障,因此這種雙(多)芯實際上是“假多核”。雙芯有些像是北京郊區開發的大型社區一樣,多個社區利用同一條城市快速路,人們出行(數據處理)肯定要遇到堵車的問題。雙核則是為不同小區開發專用車道,每個小區出行並不交叉(數據可以並行處理),並不會發生堵車現象。

HT技術(即超線程技術):HT技術是在處理器實現2個邏輯處理器(註意不是物理處理器),是充分利用處理器資源,類似虛擬CPU,讓系統誤認為是雙核處理器。而雙核心處理器是集成2個物理核心,是實際意義上的雙核心處理器。舉個形象例子來說,前者好像是一個能用雙手同時炒菜的廚師,但一次只能把一碟菜放到桌面;而雙核心處理器好比2個廚師炒兩個菜,並同時把兩個菜送到桌面。

5.多任務與多線程

多任務是指系統可以同時執行多個任務,比如你可以一邊下載、一邊聽歌,Windows可以很好支持多任務的運行,這和多核CPU並沒有多大關系。多線程則是指系統可以針對某項操作,調用多個CPU進行並行處理。比如支持多線程的PS,在批處理多個操作(如濾鏡、摳圖)時,系統就會調用多路CPU並行處理這些操作以提高操作效率。

[py]你真的了解多核處理器嗎? 了解多線程