低功耗設計:為什麼手機晶片要分大小核

modern%20workspace%20with%20laptop%2C%20smartphone...
發表時間:2026 年 10 月 25 日 | 更新日期:2026 年 10 月 25 日 | 編輯:雅寶社區編輯團隊
低功耗設計:為什麼手機晶片要分大小核 - 雅寶社區 · 頂客論壇

把這個關係代進公式,結果就很驚人了。假設某顆核心從 1.0GHz 提升到 2.0GHz,電壓從 0.60V 提升到 0.85V,那麼功耗大約變成 (0.85/0.60)² × 2 ≈ 4 倍。換句話說,你只換到 2 倍的效能,卻付了 4 倍的電費。這就是為什麼「拉高頻率」在行動裝置上是一種奢侈行為,也是大小核設計最根本的出發點。

1-3 漏電功耗:連「什麼都不做」都要付錢

除了動態功耗,還有一項常被忽略的成本:靜態功耗,也就是漏電。電晶體關閉時並不是完全絕緣,仍然會有微量的漏電流流過,這部分功耗約等於 Pstatic ≈ V × Ileak。麻煩的是,漏電流會隨溫度呈指數上升(阿倫尼烏斯行為),形成「溫度越高、漏電越大、發熱越多、溫度更高」的正回饋循環。

在先進製程下,漏電更是難以壓制。這就是為什麼現代 SoC 大量使用電源閘控(Power Gating)與時脈閘控(Clock Gating):當某個核心沒有任務時,直接把它整塊斷電,而不是讓它「待機」。一顆大核即使只是閒置,它龐大的電路面積與較高的漏電,仍然比小核更會吃掉待機電量——這正是小核存在的另一個理由。

二、大小核到底是什麼?拆解異質運算架構

大小核的正式名稱是「異質多核心架構」(Heterogeneous Multi-Processing,HMP)。它的核心思想非常樸素:用不同特性的核心,去處理不同特性的工作。就像一家貨運公司不會全部買跑車——跑車跑得快但油耗驚人,市區短程配送用小貨車反而更划算,真正需要趕時間的急件才派跑車出動。

2-1 大核與小核的微架構差異

大核(Big Core / Performance Core)的設計目標是「單執行緒效能」。它通常具備很寬的超純量指令發射能力、很深的重排序緩衝區(ROB)、複雜的分支預測器、較大的 L1/L2 快取,以及較多的執行單元。這些設計讓它在同一時脈下能完成更多指令(IPC 更高),頻率上限也更高。代價是:晶片面積大、電晶體數量多、漏電高、在低負載時「大而無當」。

小核(LITTLE Core / Efficiency Core)則是反過來:解碼寬度窄、ROB 淺、快取小、頻率上限通常在 2GHz 上下。它的單核效能可能只有大核的三分之一到二分之一,但面積往往只有大核的三分之一到五分之一,而且在低電壓區的能效表現極佳。換句話說,小核追求的不是「每小時能搬多少貨」,而是「每搬一箱貨要花多少油」。

比較項目

大核(Performance Core)

小核(Efficiency Core)

設計目標

單執行緒效能最大化

每瓦效能(能耗比)最大化

微架構

寬解碼、深 ROB、強分支預測、大快取

窄解碼、淺 ROB、小快取、精簡管線

頻率上限

高(旗艦可達 3.5–4.6GHz)

低(約 1.8–2.4GHz)

晶片面積

小(約為大核的 1/3~1/5)

低負載能耗

較差(漏電高)

極佳

典型任務

遊戲主執行緒、相機處理、App 啟動、UI 反應

背景同步、音樂播放、訊息推播、待機維持

2-2 DynamIQ:把大小核放進同一個叢集

早期 ARM 的 big.LITTLE 是把大核與小核做成「兩個獨立叢集」,各自有一組 L2 快取與互連匯流排。這種設計有個致命缺點:核心之間的任務遷移必須跨越叢集,快取會失效,延遲很高,甚至一開始只能做「整個叢集切換」(Cluster Migration),大小核根本無法同時上場。

2017 年 ARM 推出 DynamIQ 架構後,情況徹底改變。DynamIQ 讓不同微架構的核心可以放進同一個 DSU(DynamIQ Shared Unit),共享同一組 L3 快取,核心之間可以自由遷移,而且延遲大幅降低。這使得「1+3+4」「1+5+2」這種三層級配置成為可能,也讓調度器可以真正做到「一顆大核跑主執行緒、其他小核處理背景」的混合運算。

2-3 常見的叢集配置

經過十幾年的演化,市面上出現過的核心配置大致可以整理成下表。數字代表「超大核+大核+小核」的數量:

配置型態

代表晶片

設計理念

4+4(雙叢集)

Exynos 5410、Snapdragon 845

大小核各半,兼顧爆發與待機

1+3+4

Snapdragon 865 / 888 / 8 Gen 1

超大核攻單執行緒,大核撐多工,小核顧待機

1+4+3

Snapdragon 8 Gen 2

壓縮小核數量,把資源移到中核

1+5+2

Snapdragon 8 Gen 3

中核成為主力,小核只處理最輕的任務

4+4(全大核)

聯發科天璣 9300

取消小核,用高效率的中核取代小核角色

2+6

Qualcomm Snapdragon 8 Elite 系列

自研 Oryon 核心,2 超大核+6 效能核

三、關鍵洞察:效能與功耗從來不是線性關係

如果效能與功耗是線性的,那大小核就毫無意義——反正大核跑兩倍快就吃兩倍電,划不划算的答案永遠一樣。但現實不是這樣。真正讓大小核成立的,是「效能—功耗」曲線上的那一段甜蜜區間。

3-1 甜點頻率:每瓦效能最高的位置

如果把「每瓦效能」(每消耗一瓦能換到多少運算量)畫成對頻率的曲線,會得到一個倒 U 型。在極低頻率區,電路還是有固定的漏電與時脈樹開銷,效率並不高;隨著頻率上升,這些固定成本被攤薄,每瓦效能逐漸改善,在某个頻率點達到峰值——這就是所謂的「甜點頻率」(sweet spot)。

一旦超過甜點頻率,為了那一點點額外的時脈,電壓必須不斷往上加,而功耗是電壓的平方,於是效率急速下滑。到了旗艦晶片的最高頻率(例如 4GHz 以上),往往已經遠遠越過甜點,處於「花三倍電換一成效能」的區域。

這正是大小核的分工依據:大核被設計成「可以忍受效率很差、但必須很快」,專門應付少數需要極低延遲的時刻;小核則被設計成「永遠待在甜點頻率附近」,用最有效率的方式處理絕大多數的日常負載。

3-2 Race to Idle 什麼時候成立?

工程界有一句常被引用的話:「快點做完,快點睡覺」(Race to Idle)。意思是與其讓處理器低頻慢慢跑,不如全速跑完再進入深度休眠,總能量反而更低。這句話對嗎?答案是:有條件成立。

如果你是在「同一個電壓頻率點」上比較,或者提升頻率時不需要大幅加壓,那 Race to Idle 確實有效。但如果你必須從 1.0GHz 加壓衝到 2.0GHz,前面算過的結果是功耗變成 4 倍、時間變成一半,總能量變成 2 倍——不但沒有省電,反而更耗電。這就是為什麼「把 App 釘在大核上跑」在低負載情境下往往是反效果。

換個角度看:一個需要 0.2 秒完成的輕量任務,交給小核可能花 0.5 秒,但功耗只有大核的五分之一。計算總能量,小核仍然勝出,而且還有一個額外好處——大核沒被喚醒,就沒有機會把溫度拉起來。對手機這種受散熱限制的裝置來說,避免「不必要的喚醒」比什麼都重要。

3-3 能量延遲積(EDP)與使用者的真實感受

如果只看能量,那全部用小核不就好了?問題在於「延遲」。互動式裝置有一個殘酷的現實:使用者對延遲極度敏感。點一下圖示到畫面出現,超過 100 毫秒就會開始「感覺得到」,超過 300 毫秒就覺得「卡」。

所以工程上會用「能量延遲積」(Energy-Delay Product,EDP=E × t)來綜合評估:既要省電,又不能太慢。調度器真正在解的,是一個帶約束的最佳化問題——在滿足延遲要求的前提下,把總能耗壓到最低。這也解釋了為什麼手機調度不是「永遠優先用小核」,而是有一套複雜的動態判斷。

四、誰決定哪顆核心上場?調度器的角色

有了大小核,下一個問題是:誰來決定工作分配?答案是作業系統核心裡的「排程器」(Scheduler)。這是整個大小核架構中最容易被忽略、卻最直接影響使用體驗的一環。

4-1 Linux 的 EAS 與 schedutil

Android 基於 Linux 核心,其大小核調度主要依賴 EAS(Energy Aware Scheduling,能耗感知調度)。EAS 的核心概念是:系統會預先建立一份「能耗模型」(Energy Model),描述每一顆 CPU 在每一個頻率點下的耗電量。當一個新任務被喚醒時,排程器會模擬「把它放在哪顆核心、跑在哪個頻率」的各種組合,選擇總能耗最低的方案。

另一個關鍵角色是 schedutil,它是 CPUFreq 的頻率調節器(governor)。它會根據目前執行佇列的利用率(utilization)來決定該核心要跑多快。負載輕就降頻降壓,負載重就往上推。搭配 EAS,整個系統就能做到「輕任務待在小核、重任務搬到大核」的動態平衡。

4-2 Android 的 cpuset、uclamp 與廠商調校

在 Linux 之上,Android 還加了一層管理。首先是 cpuset:系統把執行程序分成 top-app(前景 App)、foreground、background 等群組,並限制背景任務只能使用小核。這正是「為什麼你開一堆背景 App,手機還是能維持待機」的關鍵。

其次是 uclamp(Utilization Clamping):讓任務可以「宣告」自己的效能需求。例如一個需要低延遲的音訊執行緒,可以設定 uclamp_min 拉高下限,避免被降到小核而產生爆音;反過來,一個純背景的資料同步可以設定 uclamp_max,主動避免被丟到大核上浪費電。

最後,晶片廠與手機廠還會再疊加自己的調校層(例如高通的 Boost Framework、各家廠商的遊戲模式)。這些調校往往決定了同一顆晶片在不同品牌手機上的實際表現差異。

4-3 調度失靈的時候:為什麼偶爾會卡一下

既然調度這麼聰明,為什麼手機還是會卡?因為調度器只能根據「過去的負載」推測「未來的需求」。當你突然從桌面切換到重量級 App,系統需要時間把任務搬到大核、把頻率拉上去,這段「反應時間」就是使用者感受到的那一瞬間不順。

另一個常見問題是「大核被反覆喚醒」。如果一個任務剛好卡在大小核之間的門檻,調度器可能不斷把它搬來搬去,導致快取失效、頻率震盪,最終既耗電又不順。這也是廠商調校功力差異最大的地方——好的調校能讓大小核的切換平滑到讓使用者完全感覺不到。

五、演進史:從 big.LITTLE 到全大核

大小核不是一天長成的。回頭看這十幾年的演進,其實就是一部「如何在散熱牆與效能需求之間找平衡」的歷史。

5-1 2011–2016:big.LITTLE 的摸索期

2011 年,ARM 發表了 big.LITTLE 架構,以 Cortex-A15 搭配 Cortex-A7,首次提出「大核+小核」的概念。2013 年三星的 Exynos 5410 成為首款商用產品,採用四個 A15 加四個 A7 的 4+4 配置。

不過早期體驗並不理想。最初的「叢集遷移」模式只能整組切換,大小核無法同時工作,切換瞬間還會有效能斷層。後來演進到「全域任務調度」(GTS,即 Heterogeneous Multi-Processing),才真正做到大小核同時上場、任務自由遷移。這段期間,業界其實是在摸索一件事:硬體做出來了,但軟體還沒準備好。

5-2 2017–2022:DynamIQ 與三叢集時代

2017 年的 DynamIQ 架構是重要分水嶺。共享 L3、單叢集異構、低延遲遷移,讓「三叢集」配置成為主流。2019 年 Snapdragon 855 的 1+3+4 配置,幾乎定義了接下來幾年的旗艦標準:一顆超大核攻單執行緒、三顆大核撐多工、四顆小核顧待機。

2020 年,ARM 推出 Cortex-X1 系列「客製化超大核」(CXC 計畫),把單核效能推到極致,也正式確立了「超大核—大核—小核」的三層架構。這段時間,手機晶片的單核效能開始逼近輕薄筆電,但功耗與散熱的壓力也同步升高。

5-3 2023 之後:全大核與自研核心的年代

2023 年底,聯發科天璣 9300 丟出一顆震撼彈:取消小核,改成 4 顆 Cortex-X4 加 4 顆 Cortex-A720 的全大核配置。這個決定在當時引發大量討論——沒有小核,待機怎麼辦?

答案有兩個層面。第一,製程進步讓「中核」的能效已經接近過去的小核,低負載時把 A720 降到 1GHz 附近,功耗可以壓得相當低。第二,行動裝置的待機主要靠「深度睡眠」(Deep Sleep)與系統層的省電機制,而不是靠小核硬撐。換句話說,小核過去負責的「待機」工作,有相当一部分其實已經被更底層的電源管理接手了。

另一條路線是「自研核心」。高通在 Snapdragon 8 Elite 系列改用收購 Nuvia 團隊開發的 Oryon 核心,採 2 顆超大核加 6 顆效能核的 2+6 配置,完全跳脫 ARM 公版。蘋果則從一開始就走自己的路,A 系列與 M 系列一向採用「少數效能核+多數節能核」的配置,並靠極高的微架構效率取勝。

六、跨平台對照:PC 的大小核與手機有何不同

大小核不是手機專利。2021 年 Intel 的 Alder Lake 首次在 x86 平台上導入 P-core(效能核)與 E-core(效率核)的混合架構,微軟也為此在 Windows 11 中導入 Thread Director,把調度資訊提供給作業系統。蘋果的 M 系列晶片更是把手機那套思路直接搬到電腦上。

但兩者的處境其實差很多。PC 有主動散熱(風扇、水冷)、通常插著電、機殼空間大,功耗預算可能是 65W、125W 甚至更高;手機則是被動散熱、靠電池、空間寸土寸金,功耗預算只有個位數瓦特。同樣叫大小核,手機的容錯空間小得多——PC 排程錯了頂多多轉幾圈風扇,手機排程錯了就是燙手加掉電。

另一個差異是生態。PC 上的軟體過去做夢都沒想過會有異質核心,很多老程式假設「所有核心都一樣快」,導致排程器必須非常保守。手機從 Android 5.0 時代就開始面對大小核,整個生態對異質架構的適應反而更成熟。

七、開發者與使用者能做些什麼

7-1 給 App 開發者:寫出「對調度器友善」的程式

大小核的存在,意味著開發者不能再用「核心數=並行度」這種粗糙的假設。以下是幾個實務上最容易踩雷的地方:

  • 避免忙碌迴圈與高頻輪詢:一直問「好了沒」的程式碼會讓小核持續運轉,看起來 CPU 使用率不高,實際上卻很耗電。
  • 背景工作交給系統排程:Android 的 WorkManager 會配合系統的省電策略,在合適的時機(例如充電、螢幕關閉)執行,比你自己開執行緒硬跑更省電。
  • 不要假設核心數等於可平行度:8 核手機的 8 顆核心效能差距可能達三倍以上,開 8 條執行緒反而會讓調度器忙於搬運任務。
  • 用 uclamp 表達需求:需要低延遲的執行緒可以設定效能下限,純背景工作則可以設定上限,主動告訴系統「我不需要大核」。
  • 測量要看能耗,不是只看 CPU 使用率:一支 CPU 使用率 5% 但一直喚醒大核的 App,耗電可能比使用率 20% 但都在小核上的 App 更高。
  • 7-2 給一般使用者:幾個實用的小觀念

  • 省電模式其實就是在限制大核:多數手機的省電模式會降低最高頻率、限制大核使用,因此犧牲的是瞬間反應速度,換來的是續航。
  • 別長期開「高效能模式」:這個模式會放寬散熱與功耗限制,讓大核更容易被喚醒,代價是發熱與耗電明顯增加。
  • 注意背景同步:社群、郵件、雲端硬碟若全部開啟即時同步,會讓小核持續被喚醒,待機耗電自然降不下來。
  • 散熱環境會直接影響效能:邊充電邊玩遊戲、或在大太陽下使用,機身溫度一高,系統就會主動降頻保護,這時再怎麼調設定也沒用。
  • 八、常見迷思與問答

    迷思一:小核是「閹割版」,能關就關、能不用就不用,手機才會快?

    正好相反。小核的存在是為了讓大核「不必被叫醒」。把背景任務全部丟給大核,只會讓溫度上升、頻率被迫下調,最終連遊戲幀率都會被拖累。真正好的設計,是讓九成的工作都待在小核上,把大核留給真正需要的那一刻。

    迷思二:核心越多一定越耗電?

    不一定。耗電取決於「核心的類型、跑多快、跑多久」,而不是單純的數量。八顆小核同時以低頻運作,總功耗可能遠低於兩顆大核全速運轉。反過來說,一顆大核在待機時漏掉的電,也可能比四顆小核加起來還多。

    迷思三:全大核就是效能怪獸、一定很耗電?

    這要看「大核」的定義。天璣 9300 這類全大核設計,用的是能效表現優異的「中核」來取代傳統小核,在低負載時把頻率壓到很低,實際待機表現未必比傳統配置差。真正的差別在於它把成本花在「多執行緒效能」上,適合重度使用者,但對只滑社群的輕度使用者來說,未必是最佳解。

    迷思四:跑分高就代表日常使用省電?

    跑分通常測的是「短時間峰值效能」,而省電看的是「長時間平均功耗」,兩者幾乎沒有直接關聯。一支手機的續航,更多取決於螢幕、射頻、待機管理與調度策略,而不是處理器的峰值分數。

    迷思五:把 App 釘在大核上跑會比較順?

    短時間內可能感覺比較順,但代價是溫度上升得更快,一旦撞到散熱牆,系統反而會降頻,導致之後更卡。這也是為什麼現代調度器不會讓單一 App 長期獨占大核——那不是效能,是預支。

    九、結語:低功耗設計是一場「取捨的藝術」

    回過頭來看,「為什麼手機晶片要分大小核」這個問題,答案其實可以濃縮成一句話:因為手機的功耗預算太有限,而真實世界的負載太不平均。

    使用者的日常是這樣的:一天當中有大量時間在待機、滑社群、聽音樂,這些任務需要的運算量很小,但要求的待機時間很長;同時,一天當中也會有幾分鐘在玩遊戲、錄影、開大型 App,這些任務需要極低的延遲與極高的效能。用同一種核心去應付這兩種極端,必然是浪費——要嘛待機耗電,要嘛反應遲鈍。

    大小核就是這個矛盾下的產物。它把「效能」與「能效」拆成兩種專長,再靠作業系統的調度器把它們縫合起來。從 2011 年的 big.LITTLE,到 2017 年的 DynamIQ,再到 2023 年之後的全大核與自研核心,每一次架構調整,本質上都是在重新回答同一個問題:在散熱與電池的雙重限制下,怎麼把每一焦耳的電,用在最該用的地方?

    下一次當你拿起手機、輕鬆滑過一個網頁的時候,不妨想想:在你手指移動的那零點幾秒裡,調度器已經替你完成了上百次的判斷,決定該叫醒哪顆核心、跑多快、什麼時候讓它回去睡覺。這,就是低功耗設計最迷人的地方。

    本文由「雅寶社區 · 頂客論壇」3C 科技教學專欄整理,若你對晶片架構、行動裝置功耗或 App 效能優化有更多興趣,歡迎在論壇中繼續交流討論。

    ```

    🏠 返回首頁