基本概念
處理器一般指中央處理器,中央處理器(CPU,Central Processing Unit)是一塊超大規模的積體電路,是一台計算機的運算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計算機指令以及處理計算機軟體中的數據。
處理器結構分為單處理器和多處理器結構,單處理器結構是指只有一個CPU來控制系統。
結構
CPU的根本任務就是執行指令,對計算機來說最終都是一串由“0”和“1”組成的序列。CPU從邏輯上可以劃分成3個模組,分別是控制單元、運算單元和存儲單元,這三部分由CPU內部匯流排連線起來。如下所示 :
控制單元
控制單元是整個CPU的指揮控制中心,由指令暫存器IR(Instruction Register)、指令解碼器ID(Instruction Decoder)和操作控制器OC(Operation Controller)等,對協調整個電腦有序工作極為重要。它根據用戶預先編好的程式,依次從存儲器中取出各條指令,放在指令暫存器IR中,通過指令解碼(分析)確定應該進行什麼操作,然後通過操作控制器OC,按確定的時序,向相應的部件發出微操作控制信號。操作控制器OC中主要包括節拍脈衝發生器、控制矩陣、時鐘脈衝發生器、復位電路和啟停電路等控制邏輯。
運算單元
是運算器的核心。可以執行算術運算(包括加減乘數等基本運算及其附加運算)和邏輯運算(包括移位、邏輯測試或兩個值比較)。相對控制單元而言,運算器接受控制單元的命令而進行動作,即運算單元所進行的全部操作都是由控制單元發出的控制信號來指揮的,所以它是執行部件。
存儲單元
包括CPU片內快取和暫存器組,是CPU中暫時存放數據的地方,裡面保存著那些等待處理的數據,或已經處理過的數據,CPU訪問暫存器所用的時間要比訪問記憶體的時間短。採用暫存器,可以減少CPU訪問記憶體的次數,從而提高了CPU的工作速度。但因為受到晶片面積和集成度所限,暫存器組的容量不可能很大。暫存器組可分為專用暫存器和通用暫存器。專用暫存器的作用是固定的,分別暫存相應的數據。而通用暫存器用途廣泛並可由程式設計師規定其用途,通用暫存器的數目因微處理器而異。
工作原理
我們將上圖細化一下,可以得出CPU的工作原理概括如下:
總的來說,CPU從記憶體中一條一條地取出指令和相應的數據,按指令操作碼的規定,對數據進行運算處理,直到程式執行完畢為止。
物理成分
CPU包括運算邏輯部件、暫存器部件和控制部件等。
標準組分邏輯部件
英文Logic components;運算邏輯部件。可以執行定點或浮點算術運算操作、移位操作以及邏輯操作,也可執行地址運算和轉換。
更細一點,從實現的功能方面看,CPU大致可分為如下八個邏輯單元:
(1)指令暫存器 :它是晶片上的指令倉庫,有了它CPU就不必停下來查找計算機記憶體中的指令,從而大幅提高了CPU的運算速度。
(2)指令解碼器 :它負責將複雜的機器語言指令解譯成運算邏輯單元(ALU)和暫存器能夠理解的簡單格式,就像一位外交官。
(3)控制單元 :既然指令可以存入CPU,而且有相應指令來完成運算前的準備工作,背後自然有一個扮演推動作用的角色——它便是負責整個處理過程的操作控制器。根據來自解碼單元的指令,它會生成控制信號,告訴運算邏輯單元(ALU)和暫存器如何運算、對什麼進行運算以及對結果進行怎樣的處理。
(4)暫存器 :它對於CPU來說非常的重要,除了存放程式的部分指令,它還負責存儲指針跳轉信息以及循環操作命令,是運算邏輯單元(ALU)為完成控制單元請求的任務所使用的數據的小型存儲區域,其數據來源可以是高速快取、記憶體、控制單元中的任何一個。
(5)邏輯運算單元(ALU) :它是CPU晶片的智慧型部件,能夠執行加、減、乘、除等各種命令。此外,它還知道如何讀取邏輯命令,如或、與、非。來自控制單元的訊息將告訴運算邏輯單元應該做些什麼,然後運算單元會從暫存器中間斷或連續提取數據,完成最終的任務。
(6)預取單元 :PU效能發揮對其依賴非常明顯,預取命中率的高低直接關係到CPU核心利用率的高低,進而帶來指令執行速度上的不同。根據命令或要執行任務所提出的要求,何時時候,預取單元都有可能從指令高速快取或計算機記憶體中獲取數據和指令。當指令到達時,預取單元最重要的任務就是確保所有指令均排列正確,然後傳送給解碼單元。
(7)匯流排單元 :它就像一條高速公路,快速完成各個單元間的數據交換,也是數據從記憶體流進和流出CPU的地方。
(8)數據高速快取 :存儲來自解碼單元專門標記的數據,以備邏輯運算單元使用,同時還準備了分配到計算機不同部分的最終結果。
暫存器
暫存器部件,包括暫存器、專用暫存器和控制暫存器。 通用暫存器又可分定點數和浮點數兩類,它們用來保存指令執行過程中臨時存放的暫存器運算元和中間(或最終)的操作結果。 通用暫存器是中央處理器的重要部件之一。
控制器
英文Control unit;控制部件,主要是負責對指令解碼,並且發出為完成每條指令所要執行的各個操作的控制信號。
其結構有兩種:一種是以微存儲為核心的微程式控制方式;一種是以邏輯硬布線結構為主的控制方式。
微存儲中保持微碼,每一個微碼對應於一個最基本的微操作,又稱微指令;各條指令是由不同序列的微碼組成,這種微碼序列構成微程式。中央處理器在對指令解碼以後,即發出一定時序的控制信號,按給定序列的順序以微周期為節拍執行由這些微碼確定的若干個微操作,即可完成某條指令的執行。
簡單指令是由(3~5)個微操作組成,複雜指令則要由幾十個微操作甚至幾百個微操作組成。