回顧2012年初,大陸手機業者打出「蓄4待發」的規格口號,亦即4核處理器、4吋以上螢幕、4G通訊(指LTE,但真正4G通訊應為LTE-Advanced)及Android 4.0作業系統。
而2013年,業界開始提出新一波主打規格,其中手機處理器被高度預估將有8核發展,若此屬實,則純就核數而言,已比一般PC處理器所用的核心更多(2~4核),可謂達伺服器水準,到底手機是否需要達8核水準?以下將從技術角度進行探討。
多核不等於高效能
核心數的增加,不代表運算效能也線性增加,而是逐漸趨緩的走勢,在相同時脈、相同製程、相同微架構的電路設計等前提下,若單核晶片的效能為100%,則雙核晶片的效能不會是200%,而是低於200%,原因在於2個核心必須對運算工作進行溝通協調,協調即會造成效能損耗。
若要減少核心間的協調耗損,則需要傳輸量大、路由繞徑智慧化的晶片內匯流排(On-Chip Bus),好的匯流排設計可以減少損耗,如雙核可達170%效能,協調耗損為30%,差的匯流排則高損耗,雙核僅有140%效能。
隨著晶片內核數的增加,每增加1個核所能帶來的邊際效能將遞減,假若單核為100%效能,追加第2核可再加70%效能,但再追加第3核恐僅再加60%,第4核更只有50%,將4個核加總的結果是100+70+60+50=280,即4核的真實效能僅為2.8核。
此為單純硬體電路方面的效能估算,不代表軟體實際執行所發揮的效能,倘若手機作業系統不能對多核進行最佳化編譯,不能即時、充分發揮硬體功效,則效能還必須再往下打折扣。舉例而言,Windows Phone 7.x版的手機作業系統僅能支援單核,即便採行雙核手機晶片,依然只能發揮單核功效。
如果晶片電路能在愈多核的情況下,其協調折耗仍然很少,學理上稱為效能的擴展延伸性(Scalability)佳,再將作業系統,甚至是作業系統之上的資料庫、虛擬機器、應用程式等一併考慮,這些軟體也必須同樣具有擴展延伸性,如此效能才能獲得充分發揮,此稱為真實應用效能(Real Application Performance),而不是只在特有的基準標竿(Benchmark)測試上得到高分。
圖一 : 最理想的多核效能擴展延伸是線性擴展(Scaling Linearly),每增加1個處理核心,均可增加100%的效能,然此在實務上幾乎不可能,至多在基準標竿測試中出現逼近結果。(圖片來源:gwan.com) |
|
多核的功耗挑戰
增加核數除對效能有影響外,功耗用電也會受影響,每增加1個核,意味著核的用電增加1倍,雙核為2倍用電,8核便則8倍用電。
為了減少耗電,晶片業者著手更智慧化的省電設計,採行如同家庭與辦公大樓類似的省電手法,凡沒有在用的房間立即關燈,減少照明用電。類似的,多核晶片把晶片內的多個電路功效劃分成一個個的島區,當軟體不支援多核執行時,就把多核的供電關閉,僅提供單核供電,或需要多少個核執行即對多少個核提供電力,以此精省晶片的整體電能。
這樣還不夠,晶片業者發現晶片的運作時脈每增加10%,功耗則高至20~30%,用電量呈指數性攀升。為了節省電能,許多產品的CPU多以降頻方式執行,如ASUS Eee PC與Apple iPhone等,在時脈上都降低30%,但電能卻可精省至50%,以此增加電池使用時間。
進一步的,晶片業者也發現愈是高階製程架構的處理核心,在重度運算負荷下的用電效益較佳,一旦處於輕載狀態,反有較高的基礎電能開銷。因此,新的行動用晶片除了單純增加核心外,也加入較初階的處理核心。
1. 高低組態核心搭配趨勢
例如TI OMAP4晶片在配置2個Cortex-A9核心外,也配置2個Cortex-M3核心,一旦晶片處於輕載(輕運算負荷)狀態,則關閉對A9核心的供電,僅交由Cortex-M3核心執行,而在負荷變重時才喚醒A9投入運算。
類似的,TI OMAP5也延續類似設計,採行2個Cortex-A15與2個Cortex-M4,或如NVIDIA Tegra 3晶片,一般在行銷上宣稱為4核晶片,但實際上晶片內配置了5個Cortex-A9核心,其中第5核心以較低時脈運作(500MHz,另4核為1.2GHz~1.6GHz),在輕載狀態下使用,功效角色類似OMAP4中的Cortex-M3,也類似OMAP5中的Cortex-M4。
由於高低組態搭配已成了「為追求省電而不得不採行的設計趨勢」,因此手機處理核心的領導業者ARM也提出官方版的高低搭配設計,稱為big.LITTLE技術,提出以Cortex-15(重載)與Cortex-A7(輕載)搭配的高低組合。
事實上,目前最受關注、最可能率先推出8核設計晶片的業者是Samsung,側面消息顯示Samsung將推出的Exynos 5440即為8核晶片,內部的核心配置為4個Cortex-A15(1.8GHz)與4個Cortex-A7(1.2GHz)。
圖二 : NVIDIA Tegra 3晶片的裸晶圖,可明顯看到中間5個Cortex-A9核心,其中有1顆以低頻運作為主。(圖片來源:NVIDIA) |
|
2. 即時動態調整頻率
除高低微架構的核心搭配外,即時動態調整運作頻率也成為「效能與用電」兼顧的手法,如Tegra 3在4核全開(不列計500MHz的低頻)時每個核以1.2GHz時脈運作,但若僅1核運作時,時脈則可拉高至1.3GHz,時脈能拉高的原因有二,一是單核少去與他核溝通協調,可更加速執行,二是關閉多核後僅一核運作,晶片的功耗較低,發熱較少,允許以較高時脈運作,因為溫度也是晶片能否更高速運作的條件。
事實上,Intel的Turbo Boost技術即是偵測處理器晶片溫度來自動決定晶片能否以更高頻率運作,若溫度升高至晶片難再承受的程度,便會嘗試降低晶片的運作時脈,以緩和晶片持續高熱的情況,待溫度降至可承受的程度後,才再次調高運作時脈。
多核的製程議題
增加核數除了影響效能、功耗外,成本與體積(或稱電路面積)也必須考慮。從製造層面考慮,則晶片電路面積幾等於晶片成本,另再加外部的封裝、測試成本,而採行更先進、更縮密的半導體製程,例如從40nm縮至28nm,則初期的光罩成本高昂,但晶片的量產成本卻可降低,不過先決條件是新舊製程的良率一致,沒有惡化,然新製程初期的良率較低。
在此還要提醒考慮另一成本,即處理核心的授權成本,依據ARM所訂立的商業規格,每使用一種核心即必須先支付技術授權費,而後每顆晶片若有配置了該核心,則每顆都會被收取量產權利金。因此,核數愈多即表示要支付愈多費用給ARM,若採行不同類型的ARM核心,也必須再支付一筆使用他款核心的技術授權費。
一切為了行銷
歸結上述可了解,所謂8核並非是相同強悍規格的核心,而是重載型、輕載型高低搭配的核心,效能不僅不可能是重載單核的8倍,以半數核心均屬輕載型的組態配置下,效能恐與現有4核重載設計相差無幾,或是在輕載多核的運算需求下有較佳的表現。
不過,確實有晶片業者確實構想8個均為重載型核心的晶片,目前傳聞MTK的MT6599晶片將是8個Cortex-A15核心,然如前所言,即便擁有8個核,效能也不會是單核的8倍,而是逐核遞減。重載8核的設計,確實能比4輕核加4重核更有效能,但也可能更耗電,因此已知MT6599將採28nm製程生產,以新製程收斂功耗。
若無上述的技術,對一般終端消費者而言,僅以廣告行銷與規格型錄研判,則認為8核擁有顯著的效能提升,進而提高選購意願,此正是手機晶片業者與手機業者所期望的,8核在規格行銷上是個很好發揮的題材。
結論
最後,不僅手機處理晶片,各應用領域的處理晶片均朝多核化發展,原因在於持續精進處理器的微架構設計,所能帶來的加速效益已經趨緩,且每更動一次設計,連帶的後續驗證程序過於繁複,經常有晶片已投片量產才發現設計有瑕疵錯誤,之後以韌體、軟體方式去彌補,甚至回收晶片。另外以單核、少核晶片為基礎,以提升運作時脈的方式獲取效能,也一樣碰上瓶頸。
相對的,由於半導體縮密製程技術的精進,且多核執行的編譯器成熟發展,因此多核成了近年來處理器持續提升效能的主流手段,核心直接增加數目的好處是不用再對設計進行驗證,因為過往已驗證過,然缺點如前所述,晶片間的溝通協調成了新的效能瓶頸,因此多核晶片的後續技術精進,多聚焦在核心間的匯流排上。
往未來看,手機處理晶片的效能也將如個人電腦處理晶片一樣,逐漸達到效能需求飽和的情景,且隨Internet、雲端應用的發達,晶片內外的傳輸通量將成為發展重點,晶片運算執行處理效能則退至次位要求,這樣的趨勢已逐漸到來。
(作者為CTIMES特約主筆)