CPU是什麼?它在電腦和手機裡做些什麼

約 10 分鐘 · 更新:2026年10月23日

CPU(中央處理器)是把程式裡寫的指令一個一個取出來,照著指令進行計算或讀寫資料的零件。每個指令都是「加」「比較」這類簡單的動作,但CPU每秒能重複數十億次。電腦和手機的應用程式、汽車和家電的控制,都是靠這種簡單動作的反覆累積在運作。

這篇文章可以了解

  • CPU實際在做的事(不斷重複「取出指令、執行指令」)
  • 「3 GHz」「8核心」等數字的意思,以及為什麼光看數字無法決定速度
  • CPU與記憶體、儲存裝置、GPU的角色差異
  • 電腦用的應用程式,為什麼不能直接在手機上執行(指令集的差異)

前提知識:不需要。如果知道電晶體是「用電切換的小開關」,後半會比較容易讀。

生活中的例子

在手機上點一下照片放大。用試算表軟體算出總和。冷氣配合房間的溫度把風減弱。這些動作的背後,都有CPU在運作。

電腦和手機的規格表上,會列出「最高3.5 GHz」「8核心」這類數字。新聞中也會出現「x86」「Arm」等詞。本文會依序看看CPU實際在做什麼,同時說明這些數字和詞的意思。

CPU的工作是執行「指令」

用一句話來說,CPU的工作就是執行程式。程式是把想讓電腦做的工作,分成非常小的步驟排列起來的東西。其中每一個步驟,稱為「指令」。

CPU能直接處理的指令,簡單得出乎意料。代表性的種類如下。

  • 讀取、寫入:從記憶體拿來數字。把數字存回記憶體
  • 計算:把2個數相加、相減等
  • 比較:查看2個數哪個比較大,或是否相等
  • 跳躍:依比較的結果,改變下一個要執行的指令位置

例如,想想「按下按鈕後,讓畫面上的數字加1」這項工作。在CPU中,它會變成「讀取數字」「加1」「寫回」這一串指令。「有沒有按下」的判斷,則由「比較」和「跳躍」組合而成。修照片也好、玩遊戲也好,追根究柢都是這類指令的龐大組合。

CPU接收的指令不是用文字寫成,而是用0和1的排列寫成。這種形式的程式稱為「機器碼」。人寫的程式,要先轉換成機器碼,再交給CPU執行。另外,這裡為了簡化,只列出了代表性的指令種類。

「取出→解讀→執行」的反覆

一串指令放在稱為記憶體的零件中。記憶體是把大量數字加上位址(位置的編號)記住的零件。CPU指定位址,讀寫記憶體的內容。

程式的指令和計算用的資料,都排放在同一個記憶體中。只要換掉程式,同一台機器就能做完全不同的工作,就是這個緣故。這種方式稱為馮紐曼架構,現在幾乎所有電腦都是根據這個想法製造的。

CPU會不斷重複以下3個階段。

  1. 取出(擷取):從記憶體拿來下一個要執行的指令
  2. 解讀(解碼):讀懂這串0和1的排列,是要做什麼的指令
  3. 執行:進行計算或比較。需要時讀寫記憶體中的資料
CPU從記憶體取出指令、解讀、執行的反覆循環 CPU ① 取出 擷取 ② 解讀 解碼 ③ 執行 計算、比較 回到①重複 讀取指令 讀寫資料 記憶體 指令:讀取 指令:加1 指令:寫回 資料:41 資料:7 ①~③每秒重複數十億次
CPU從記憶體取出1個指令(①),解讀(②)並執行(③)。執行時視需要讀寫資料,然後再回到①。圖中省略的部分:記住下一個指令位置的機制、CPU內部的小型記憶位置、讓多個指令重疊進行的設計。

下一個要取出哪個位址的指令,由CPU內部的一個小記憶位置記住。這稱為「程式計數器」。平常每執行1個指令,就前進到下一個位址;只有遇到「跳躍」指令時,才改寫成別的位址。重複執行和依條件分岔,都是用這個機制做出來的。

實際的CPU不會等1個指令走完這3個階段,而是像生產線一樣重疊進行。這稱為管線化處理。而且,能同時進行多個指令的CPU也很普遍。即使如此,結果都設計成和依照程式順序一個一個執行時相同。

時脈頻率:「3 GHz」是什麼數字?

CPU內部的電路,會配合以固定間隔送來的訊號,一點一點推進處理。這個訊號稱為「時脈」。它是規律地重複開、關的電訊號。

時脈頻率表示這個訊號1秒內來幾次。單位Hz(赫茲)是「每秒的次數」,G(giga)是10億。所以3 GHz的意思是,1秒內有30億次訊號。訊號的間隔只有約0.33奈秒(1奈秒是10億分之1秒)。

不過,1次訊號能完成幾個指令,依CPU的設計而不同。這個「每1個時脈能執行的指令數」稱為IPC(Instructions Per Cycle的縮寫)。1秒能執行的指令數,大致是「時脈頻率 × IPC」。即使頻率相同,IPC如果是2倍,同樣時間內就能執行2倍的指令。

此外,現在的CPU會依工作量和溫度,細微地調高或調低頻率。規格表上的「最高○ GHz」是條件良好時的上限,並不是一直以這個速度運作。

核心:負責執行指令的部分有好幾個

取出並執行指令的一整套電路,稱為「核心」。晶片是在小小的矽板上做出電路的零件。過去的CPU,1顆晶片上只有1個核心。現在幾乎所有CPU都有多個核心。8核心的CPU,可以同時進行8件工作(8串指令)。

核心會增加,是因為持續提高時脈頻率變得困難。要提高頻率,也必須提高電壓,耗電和發熱會急遽增加。2000年代中期,電腦用CPU的頻率停滯在數GHz。於是各家公司不再提高頻率,而是轉往增加核心的方向。

手機的CPU,很多是把效能高的大核心和耗電少的小核心組合在一起。例如iPhone 15 Pro(2023年)的CPU是6核心。根據Apple的規格,包含2個效能核心和4個節能核心。收信這類輕鬆的工作交給小核心,就能減少電池的消耗。

CPU、記憶體、儲存裝置的角色差異

CPU內部也有記憶的地方,但量非常少。CPU工作時,程式和資料主要放在記憶體(主記憶體)中。規格表上寫的「記憶體8 GB」,指的就是這個。現在的記憶體通常是叫作DRAM的零件,讀寫很快,但關掉電源內容就會消失。

另一方面,關掉電源也能保留照片和應用程式的地方,就是「儲存裝置」。手機的「256 GB」、電腦的SSD都屬於這一類。啟動應用程式時,它的內容會從儲存裝置讀進記憶體,CPU再執行記憶體上的指令。

從CPU的角度看,就連記憶體都很遠,讀取時要等待一段時間。因此,CPU會把常用資料的副本,放在自己身邊又小又快的記憶位置。這稱為快取。記憶體和儲存裝置的差異,在「記憶體和儲存空間有什麼不同?」中詳細說明。

CPU在哪裡?

在電腦中,CPU常常做成獨立的1顆晶片。不過,最近和手機採用相同做法的電腦也增加了。

在手機中,CPU不是單獨的零件。它和繪製影像的電路、通訊的電路等,一起集中在1顆晶片上。這種晶片稱為SoC。集中成1顆,就能做得更小,也更省電。Apple從2020年開始用在Mac上的M1等晶片,也是這種SoC。

汽車和家電中也有CPU。很多是在CPU加上小型記憶體和輸入輸出的電路,做成1顆晶片,稱為微控制器。它負責電子鍋的火候、冷氣的風量、汽車引擎和煞車的控制等。根據技術雜誌IEEE Spectrum(2021年),高級車中,這類控制用的電腦有的多達150個以上。

微控制器和電腦用CPU的差異,整理在「MCU與MPU的差異」的表格中。

CPU與GPU的差異

電腦和手機中,除了CPU,還有一種叫GPU的計算用零件。GPU原本是為了在畫面上繪圖而製造的。這項工作是用相同的步驟,同時計算畫面上數百萬個點的顏色。

CPU和GPU的差異,在於擅長的工作形式。CPU用數量較少的高效能核心,擅長把分岔很多的各種工作,一件一件快速處理完。GPU則排列了數千個簡單的計算電路,擅長把相同的計算一次套用在大量資料上。AI的計算常用GPU,是因為其中很多都是「相同計算的大量反覆」。

兩者沒有高下之分,而是分工。通常由CPU安排整體的流程,再把適合的計算交給GPU。差異整理在「CPU與GPU的差異」的表格中。

CPU由電晶體構成

CPU的電路,是把大量用電切換的小開關連接起來做成的。這種開關叫作電晶體。把開關組合起來,就能做出做簡單判斷的電路,例如「2個輸入都是1,就輸出1」。這稱為「邏輯電路」。

再把邏輯電路組合起來,就能做出把用0和1表示的數(二進位)相加的電路,以及記住數字的電路。把它們組合好幾層,就成了能取出、解讀、執行指令的CPU。電晶體的原理在「電晶體是什麼?」中說明。邏輯電路可以用「邏輯電路模擬器」實際組合試試看。

CPU使用的電晶體數量,隨著時代大幅增加。1971年發售的Intel 4004,是最早收進1顆晶片的CPU(微處理器)之一。它的電晶體約2,300個。2020年發表的Apple M1,約有160億個。不過,M1的數字不只是CPU的部分,而是包含GPU等在內的整顆晶片的數量。

指令集:x86與Arm的差異

CPU有哪些指令,各用0和1的什麼排列來表示,這個約定稱為指令集。正式名稱是「指令集架構(ISA)」。指令集是軟體和CPU之間的約定。只要指令集相同,即使內部電路的構造和速度不同,也能執行相同機器碼的程式。

廣泛使用的指令集,代表有2種。一種是「x86」,從Intel在1978年發表的8086延續下來,用在許多Windows電腦和伺服器上。另一種是「Arm」。根據Arm公司截至2024年3月的年度報告,Arm在手機用CPU中的比例,多年來都超過99%。

電腦用的應用程式不能直接在手機上執行,原因之一就是這個差異。人寫的程式,一般會先用轉換用的軟體變成機器碼再發布。這時,就要決定轉成哪種指令集的機器碼。x86用的機器碼,對Arm的CPU來說是一串意思不通的0和1。

同一個程式,也會依指令集變成不同的機器碼 人寫的程式 依指令集轉換 x86的機器碼 Arm的機器碼 能執行 能執行 x86的CPU Arm的CPU x86的機器碼在Arm的CPU上 無法直接執行
同一個程式,要依指令集轉換成不同的機器碼。圖中省略的部分:作業系統的差異、把其他指令集的機器碼轉換後執行的機制、在即將執行前才轉換成機器碼的方式。

不過,這是簡化過的說明。實際上,還有管理整台電腦的基本軟體(作業系統,OS)的差異。即使是相同的CPU,Windows的應用程式也不能直接在Android上執行。反過來,只要使用轉換的機制,也能執行為其他指令集設計的應用程式。

例如,Apple從2020年開始,把Mac的CPU從Intel的產品改為Arm架構的自家晶片。當時,Apple準備了「Rosetta 2」這個機制,可以把Intel用的應用程式轉換後執行。此外,也有把兩種機器碼放進同一個應用程式發布的方法,Apple建議開發者採用這種方法。

常見的誤解

誤解:CPU是電腦的「大腦」,會自己思考

實際上,CPU不理解指令的意思,只是照著寫好的指令執行。應用程式看起來聰明,是因為人寫的程式設計得好。AI也一樣,是CPU或GPU在執行由大量資料做出來的計算步驟。此外,程式和資料大部分都在CPU外面的記憶體和儲存裝置中。「大腦」的比喻容易讓人誤以為CPU在思考或記憶,所以本文不使用。

誤解:GHz數字越大的CPU越快

實際上,速度不只由時脈頻率決定。1個時脈能完成的指令數(IPC)、核心數、等待記憶體的時間等,影響都很大。設計不同的CPU之間,頻率較低的反而較快,也是常有的事。同系列的產品之間,頻率可以當作參考。廠牌或世代不同時,要用接近實際用途的程式實測的結果(基準測試)來比較,才可靠。

誤解:核心變成2倍,什麼都會快2倍

實際上,會變快的只有能拆開、同時進行的部分。必須等前一個計算結果才能往下走的部分,增加核心也不會變快。這個極限稱為阿姆達爾定律。可以用「阿姆達爾定律計算工具」,改變能拆開的比例和核心數,實際確認看看。

從數字來看

項目數字比較起來
3 GHz時脈1次的間隔約0.33奈秒連光也只能前進約10 cm的時間
Intel 4004的時脈(1971年)最高740 kHz(1秒74萬次)現在數GHz的CPU,是它的數千倍
電晶體數量4004約2,300個,M1(2020年)約160億個約50年間增加約700萬倍
iPhone 15 Pro(2023年)的CPU核心6核心效能核心2個+節能核心4個
Arm在手機用CPU中的比例超過99%Arm公司截至2024年3月的年度報告

光1秒約前進30萬km。把它分成30億份,每份約10 cm。CPU中的訊號,必須在這麼短的時間內通過電路。

從表中可以看出,時脈增加數千倍的期間,電晶體數量增加了約700萬倍。CPU變快的原因不只是頻率。利用增加的電晶體,增加核心和快取,讓1個時脈能完成更多指令,這點的影響更大。

進一步學習

接著閱讀

系列「電腦的原理」的文章

  1. 電腦怎麼用0和1計算?二進位與加法電路
  2. CPU是什麼?它在電腦和手機裡做些什麼
  3. AI為什麼要用GPU?同時處理大量乘法的原理
  4. 作業系統(OS)是什麼?它在電腦和手機裡做些什麼
  5. CPU快取記憶體是什麼?讓CPU不必苦等記憶體的原理
  6. NPU是什麼?手機和電腦裡的AI專用電路原理
  7. FPGA是什麼?做好之後還能改寫電路的晶片原理
  8. ASIC是什麼?特定應用積體電路與CPU、FPGA的差異
  9. 編譯器是什麼?程式變成機器碼的過程
  10. 邏輯閘是什麼?用AND、OR、NOT計算的原理
  11. RISC-V是什麼?人人都能使用的開放指令集
  12. 演算法是什麼?靠步驟的巧思讓計算變快的原理
  13. 資料庫是什麼?表格、SQL與索引的運作原理
  14. Git是什麼?版本控制的原理與GitHub的差異

這個領域的題目: CPU與架構

參考資料

入門解說一覽