深入了解CPU的工作原理

2020-11-21 北方網

  Central Processing Unit(CPU):中央處理器,PC的大腦,是計算機中處理數據的地方,同時也是性能和價格的決定因素。

  

  在過去的一年中,CPU的速度已從600 MHz飆升至1 GHz。到今年年底,CPU的速度有望突破1.5 GHz大關。CPU的速度競賽仍在繼續,但是有一點要注意:你的CPU的性能絕不僅僅是由MHz或者GHz前面的數字來決定的――那只是商家用來吹噓的賣點。隨著晶片運算速度的加快以及在應用中對性能需求的增加,你比以往任何時候更需要了解在你的CPU中到底發生著什麼事情。

  

  以下是你所應該知道的:

  ?CPU的三項基本功能:讀數據、處理數據以及把數據寫到存儲器中。

  ?CPU的原始頻率是由兆赫茲的數量決定的,但是其它的因素,例如設計方法,也同樣的影響著晶片的性能。

  ?你為你的PC選擇什麼樣的CPU取決於你將願意花多少錢,以及你打算用PC來幹什麼。

  

  一、物理結構

  

  在你了解你的CPU如何工作以前,你應該知道它是由什麼製成的。CPU是由數百萬在顯微鏡下才能看得見的電晶體,經過化學的和照相平板印刷的過程,蝕刻到一塊磨光了的只有你拇指甲蓋大小的矽片上而形成的。

  那些微小的電晶體用來存儲表示0、1的電荷,而0、1則構成了計算機所能使用的二進位語言。成組的電晶體連在一起存儲數據;它們還對數據進行邏輯的和數學的計算,並且藉助於一個石英的晶體鍾,像同步的遊泳者一樣協調一致地發揮作用。簡言之,它們能夠處理數據。

  

  二、CPU的組成

  

  CPU處理存儲在內存單元上的信息。那些信息可以是數據,也可以是指令。數據是一個二進位表達式,例如表示字母、數字和顏色。而指令則告訴CPU如何處理這些數據,例如對它們進行加、減或者移動等操作。

  CPU對數據進行三種基本操作:讀取數據、對數據進行處理、然後通常還要把把數據寫回到存儲器上。對於最簡單的構成,CPU只需要四個部分來實現它對數據的操作:指令、指令指示器、一些寄存器以及算術邏輯單元。

  指令指示器告訴CPU它所需要的指令放在內存中的哪個位置。

  寄存器是CPU內部的臨時存儲單元。它保存等待被處理的數據,或者是已經處理過的數據(比如說,把兩個數相加後的結果)。

  算術邏輯單元,或簡稱為ALU,是CPU的運算器,執行指令所指示的數學和邏輯運算。

  CPU還包括一些協助基本單元完成工作的附加單元:

  取指器負責從RAM或者CPU上的存儲區取出指令。

  解碼器從取指器中取出指令,把它翻譯成CPU所能理解的語言。同時它也決定了完成該指令需要哪些步驟。

  控制器的工作是管理和控制CPU的所有操作。它告訴ALU什麼時候開始計算,取指器什麼時候取一個0-1值,以及解碼器什麼時候把該值翻譯成一條指令。

  

  三、跟蹤指令的處理過程

  

  以下是CPU的工作過程:指令指示器指向內存中存放指令的地方。取指器在那裡取出指令,並把它交給解碼器。解碼器解釋指令,並決定為完成該指令需要哪些步驟。(一條指令可以由許多按規定順序完成的步驟組成。)

  然後,ALU執行指令所要求的操作:它對數據進行加、減運算,或者其它的一些處理。在CPU解釋並執行完一條指令後,控制器會告訴取指器在內存中取出下一條指令。這個過程一直持續著――一條指令接一條指令,以令人眼花的速度運行――直到最後,產生你在屏幕上所見的結果。一個程序,例如文字處理,就是由一系列的指令和數據構成的。

  為了使一切都按時發生,各組成部分還需要一個時鐘發生器。時鐘發生器是用來調節CPU的每一個動作的。像節拍器一樣,它發出調整CPU步伐的脈衝。這些脈衝是以每秒數百萬次,或者兆赫茲來計算的,後者,你也許還記得,是CPU原始頻率的計量單位。時鐘發生器每秒鐘發出的脈衝越多,CPU的運行速度就越快。在相同的條件下,700 MHz的CPU比600 MHz的CPU運行得快,但是,對於幾個CPU的並行以及其它的形式來說,這些數字的意義並不那麼重大。

  

  四、CPU的增強功能

  

  CPU只需要幾個基本的部分就可以完成其工作,但是一直以來,為了提高其整體性能,生產廠家不斷地修改了它的基本設計。最終的目的是一致的:為了使它更快地處理數據。

  在尋找提高處理速度的方法時,晶片製造商們發現CPU在向RAM讀取數據或指令時,其本身沒有在進行什麼工作。為了減少CPU的空閒期,他們在CPU的內部放置了一塊稱為cache的存儲區。數據和指令可以暫存在CPU中,這樣就減少了訪問RAM的次數。

  出於擴展cache的想法,系統製造商們把高速的(價格昂貴的)RAM――也被稱為第二級cache,或者L2 cache――放在CPU的第一級cache和RAM系統之間。越靠近CPU,就意味著訪問RAM的次數越少。

  第二級cache對於提高CPU的性能是如此有益,以致於不久許多處理器就把它集成到CPU的內部,為存放數據和指令提供了更多的空間。

  

  五、更多的ALUs以及新增的FPU

  

  為了提高運算性能,晶片製造商在CPU內部增設了另外一個算術邏輯單元。理論上,可以一次完成以前兩倍的工作。使用多個ALU,就像廚房裡有兩個人,而不是一個人在張羅,這意味著工作可以完成得更快。

  除了使用多個ALU,Intel還在CPU內部集成了浮點運算單元(FPU)。FPU能夠處理非常大的數和非常小的數(具有許多十進位位)。在FPU處理這些運算時候,ALU可以空閒出來,做一些其它的事情,因而進一步增強了CPU的性能。

  AMD和Intel都曾經通過對指令進行流水線操作,或者並行操作來加速指令的執行過程。一條指令的執行需要許多獨立的步驟――例如取指和解碼。本來CPU只能執行完一條指令以後才能開始下一條指令的執行。但是現在,離散的電路可以執行各個獨立的步驟。

  一旦一條指令從第一步執行到第二步,那麼運行其第一步的電晶體就可以空出來,執行下一條指令,因而加快了執行速度。這就像爬梯子一樣:一旦你的腳離開了一層臺階,你後面的人就可以跟上來。

  為了提高CPU的性能,還增加了分支預測,即猜測程序可能會跳到哪一步;推測執行,即提前執行程序可能執行的步驟;還有隨機運行,即不按程序的原有順序來執行程序的指令。

  所有這些改進都大大提高了CPU的運算速度,例如今年的二月份,已經達到了1 GHz的水平,但是性能的標準也變得不再可靠起來。計算機世界的測試表明最近幾次速度的提升已經帶來了負效益,特別是在使用那些非常依賴於硬碟的速度以及RAM的容量和速度的辦公室應用軟體的時候。

  

  六、PC機裡的CPU

  

  有兩大巨頭主導著PC機的CPU市場:Intel和AMD,其中Intel在商用電腦和家用電腦的市場上佔據了80%的份額。這兩家公司都有適應於高檔機、中檔機和低檔機的各種類型的CPU。也有其它公司生產的CPU,例如Motorola的PowerPC 750,該款CPU是為Apple的Macintosh而設計的。

  無論是AMD的 Athlon ,還是 Intel的 Pentium III,在運行Microsoft的窗口作業系統時,其性能都是首屈一指的。這兩款CPU在設計和性能上大致相當,兩者都包含有能加速3D遊戲和計算機輔助軟體運行的增強功能。

  AMD和Intel的高檔CPU可供大量的PC機使用,其使用範圍從中等價格的家用機(600-850 MHz)一直到最昂貴的工程系統和高檔的多媒體系統(大約866 MHz以上)。而最新款的CPU的價格可以在整個系統價格的$200 到 $1000 之間。

  在高檔機中,具有1-GHz的CPU頻率的PC機,價格在$2700 到$3300 之間,同時還取決於它的其它配件。而在中檔機中,擁有Intel或者AMD的600-850 MHz CPU的PC機,其價格從900美元高達1600多美元.

  某些經濟實惠的CPU(價格在$150以下的)與Athlons和PIIIs相比,其時鐘速度要慢一些,cache的容量也更小,或速度更慢,並且增強功能也較少。例如AMD的K6-III、K6-2 以及Intel的Celeron,可作為價格低於$1000的PC機的配置.

  可攜式電腦上通常不能運行最快的CPU。因為桌面型的設計比膝上型的更易於散熱,這就意味著後者只能使用速度較慢且功能還不是那麼強大的CPU。而且處理器的速度越快,消耗的電能就越多,也就很容易耗光電池的能量。所以目前,所使用的最快的可攜式電腦的頻率大約為700 MHz。

  

  七、前景展望

  

  CPU的製造商們總是不斷地尋求改進的方法來提高CPU的性能。最近,他們的製作工藝已經從0.25微米達到了0.18微米的新水平,這使得電晶體之間的間隔更小,並且與同樣設計的結構相比,其運行速度更快,發熱量更小。另外,用於電晶體間互連的鋁線也已經被銅線所代替,而後者具有更佳的導電性能。

  但是這些改進並不意味著會停止對更高的CPU時鐘頻率的追逐。Intel已經推出新一代的Pentium4處理器,其頻率高達1.5 GHz,並將在今年年底上市。AMD也承諾將緊追不捨。(編譯 蔣志華)

  

相關焦點

  • AVR定時器工作原理
    ;TCNT0為T/C 寄存器,它的值在定時器的每個工作周期裡加一或減一,實現定時操作,CPU可以隨時讀寫TCNT0;OCR0:輸出比較寄存器,它包含一個8 位的數據,不間斷地與計數器數值TCNT0 進行比較。
  • 帶你深入理解內存對齊最底層原理
    相信絕大多數的人都了解內存對齊,對齊後性能高。但是其最最底層的原理是啥呢? 有的人可能會說,因為高速緩存的工作機制。讀者你很聰明,這是原因之一。但我今天想挖的是更底層一點的原理,讓我們去內存的物理構成裡找找答案!
  • 2、認識計算機核心,CPU是如何工作的,了解CPU結構及工作原理
    3、CPU的工作原理CPU的工作原理就像一個工廠對產品的加工過程:進人工廠的原料(程序指令),經過物資部門(控制器)的調度分配,被送往生產線(運算器),生產出成品(寄存器組)後,再存儲在倉庫(內存)中,最後等著拿到市場上去賣(交由應用程式使用)。這個過程看起來相當長,實際上只是一瞬間發生的事情。
  • gpu工作原理介紹
    gpu使顯卡減少了對cpu的依賴,並進行部分原本cpu的工作,尤其是在3D圖形處理時。gpu所採用的核心技術有硬體T&L、立方環境材質貼圖和頂點混合、紋理壓縮和凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而硬體T&L技術可以說是gpu的標誌。
  • 固態硬碟、機械硬碟工作原理和區別
    在了解兩種硬碟的工作原理之前,我們要了解下計算機的工作原理。計算機是怎麼樣給我們提供服務的呢?
  • 帶你詳細深入了解薩德系統中威脅最大的相控陣雷達的工作原理
    帶你詳細深入了解薩德系統中威脅最大的相控陣雷達的工作原理 工程師2 發表於 2018-05-18 10:37:00 薩德反導系統,也叫THAAD,即末端高空防禦飛彈,是美國陸軍研發的一款攔截短程和中程彈道飛彈的末端防禦系統
  • 8086/8088CPU的基本結構與其工作原理
    之前,我們給出了計算機系統模型,它並不特別針對某一種具體的計算機系統,只是為讀者快速搭建一個深入計算機系統底層的框架。並且,在上一章中,著重介紹的是整個計算機系統的基本組成以及它的工作原理。由於CPU是計算機系統中的核心部件,機器指令的執行是由它來完成的,因此,細化理解CPU的基本結構以及它的工作原理成為學習指令系統的基礎。本章將針對8086/8088CPU晶片,介紹其基本構成與工作原理,為學習下一章的80868088CPU指令系統做好準備。
  • 深入剖析 Docker 容器原理
    當前機器上有很多的進程正在執行,在上述進程中有兩個非常特殊,一個是 pid 為 1 的 /sbin/init 進程,另一個是 pid 為 2 的 kthreadd 進程,這兩個進程都是被 Linux 中的上帝進程 idle 創建出來的,其中前者負責執行內核的一部分初始化工作和系統配置,也會創建一些類似 getty 的註冊進程,而後者負責管理和調度其他的內核進程。
  • 火妹科技:深入遊戲引擎的原理
    深入學習遊戲引擎原理短時間不會讓你的工作有什麼卓越的成效,但是可以彌補只使用遊戲引擎導致的問題,而且學習遊戲引擎原理,更多時候不是一定就為了自己日後要造個遊戲引擎,而是更深入理解自己的遊戲引擎,更好地使用它。
  • [Spring] 深入了解事務原理
    Spring事務的基本原理Spring事務的本質其實就是資料庫對事務的支持,沒有資料庫的事務支持,spring是無法提供事務功能的。解決這個問題,也就可以從整體上理解Spring的事務管理實現原理了。下面簡單地介紹下,註解方式為例子配置文件開啟註解驅動,在相關的類和方法上通過註解@Transactional標識。
  • 深入理解macd工作原理
    macd工作原理通過ema12,ema26日均價線可以知道macd其實就是由這兩天均價線變化出來的,使用macd時應該以主圖為主,macd為輔,macd用在周線,月線圖上穩定性要比日線穩定性強很多
  • Netty學習-netty的工作原理
    首先來一段簡單的Netty服務端代碼(用於理解工作原理): public static void main(String[] args) throws Exception { //創建BossGroup 和 WorkerGroup //說明 //1.
  • 自製CPU,了解計算機工作原理——認識NE555定時器
    NE555原理圖U2- = 1/3×VCCU3+ = 2/3×VCC03三、原理NE555定時器經典電路要講清楚NE555定時器的原理,必須從NE555的充放電的兩個過程中來講解。
  • 小心CPU選錯新娘 詳解析熱管工作原理
    ■了解熱管從定義開始     當我們作為一名消費者去購買散熱器的時候,最關注的一大特徵就是熱管及其數量。     其實,熱管,對於大多數人來說並不陌生,但談到熱管內部構造以及工作原理時,其工作原理又是如何?今天,筆者與大家一同揭開我們身邊最熟悉的「陌生人——熱管」的神秘面紗。
  • 紋身機的工作原理你了解多少?
    大家都知道紋身機分為線圈機,馬達機兩類,那麼它們的工作原理你知道多少?
  • 數字籤名的工作原理
    上期我們了解了數字籤名的三個等級類型以及數字籤名在商業、教育、醫療和政府等眾多領域的應用,所以這期我們要接著深入了解,數字證書的技術原理。數字籤名是公鑰基礎結構的基礎部分。當我們說PKI時,一般想到的是數字證書,證書頒發機構(CA),銀行使用的Key,以及SSL通信等等。
  • 短網址的工作原理
    那麼短網址縮短的原理是什麼呢?下文我將簡要介紹一下。短網址的工作原理主要有兩種形式:1、將原網址通過MD5轉化成一串小字母,這種方法簡單,但是這種算法是不可逆的,所以別想著直接反轉短地址,如果你想深入了解這種算法,可以百度「MD5」+」短網址」 2、資料庫類型的存儲式,通過給每個長網址自動分配ID和CODE來實現網址的轉換,然後當用戶訪問時,通過查詢數據裡面ID和CODE對應的原網址,實現實時跳轉。
  • 從零開始了解CPU攢機常識
    基頻,基準頻率,又稱默頻,是CPU輕度工作時的頻率,你平時看看電影刷刷網頁,CPU基本就是以這個頻率工作的,當電腦閒置或者開啟大型程序時,CPU也會自動調低或者調高頻率,所以在選購的時候一般不用考慮基頻。
  • 大話5G——深入了解5G QOS原理
    引言 筆者在上一篇文章中介紹了SDAP協議,其SDAP協議是為OQS而生的,並且5G的QOS機制和4G還是有很多差異性的,部分讀者反映在閱讀SDAP協議的時候由於對QOS原理不了解,從而導致理解SDAP協議會有些吃力,因此本文主要針對5G QOS原理進行介紹。
  • Epoll的本質(內部實現原理)
    了解epoll本質的第三步,要從作業系統進程調度的角度來看數據接收。阻塞是進程調度的關鍵一環,指的是進程在等待某事件(如接收到網絡數據)發生之前的等待狀態,recv、select和epoll都是阻塞方法。了解「進程阻塞為什麼不佔用cpu資源?」,也就能夠了解這一步。