中央處理器檢視原始碼討論檢視歷史
中央處理器 | |
---|---|
原圖鏈接圖片來驅動之家 |
中央處理器 (CPU,英語:Central Processing Unit / Processor),是電子計算機的主要設備之一,電腦中的核心配件。其功能主要是解釋計算機指令以及處理計算機軟件中的數據。電腦中所有操作都由CPU負責讀取指令,對指令譯碼並執行指令的核心部件。
目錄
簡介編輯
中央處理器(CPU),是電子計算機的主要設備之一,電腦中的核心配件。其功能主要是解釋計算機指令以及處理計算機軟件中的數據。CPU是計算機中負責讀取指令,對指令譯碼並執行指令的核心部件。中央處理器主要包括兩個部分,即控制器、運算器,其中還包括高速緩衝存儲器及實現它們之間聯繫的數據、控制的總線。電子計算機三大核心部件就是CPU、內部存儲器、輸入/輸出設備。中央處理器的功效主要為處理指令、執行操作、控制時間、處理數據。 [2] 在計算機體系結構中,CPU 是對計算機的所有硬件資源(如存儲器、輸入輸出單元) 進行控制調配、執行通用運算的核心硬件單元。CPU 是計算機的運算和控制核心。計算機系統中所有軟件層的操作,最終都將通過指令集映射為CPU的操作。
發展歷史編輯
CPU出現於大規模集成電路時代,處理器架構設計的迭代更新以及集成電路工藝的不斷提升促使其不斷發展完善。從最初專用於數學計算到廣泛應用於通用計算,從4位到8位、16位、32位處理器,最後到64位處理器,從各廠商互不兼容到不同指令集架構規範的出現,CPU 自誕生以來一直在飛速發展。 CPU發展已經有40多年的歷史了。我們通常將其分成 六個階段。
(1)第一階段(1971年-1973年)
這是4位和8位低檔微處理器時代,代表產品是Intel 4004處理器。 1971年,Intel生產的4004微處理器將運算器和控制器集成在一個芯片上,標誌着CPU的誕生; 1978年,8086處理器的出現奠定了X86指令集架構, 隨後8086系列處理器被廣泛應用於個人計算機終端、高性能服務器以及雲服務器中。
(2)第二階段(1974年-1977年)
這是8位中高檔微處理器時代,代表產品是Intel 8080。此時指令系統已經比較完善了。
(3)第三階段(1978年-1984年)
這是16位微處理器的時代,代表產品是Intel 8086。相對而言已經比較成熟了。
(4)第四階段(1985年-1992年)
這是32位微處理器時代,代表產品是Intel 80386。已經可以勝任多任務、多用戶的作業。 1989 年發布的80486處理器實現了5級標量流水線,標誌着CPU的初步成熟,也標誌着傳統處理器發展階段的結束。
(5)第五階段(1993年-2005年)
這是奔騰系列微處理器的時代。 1995 年11 月,Intel發布了Pentium處理器,該處理器首次採用超標量指令流水結構,引入了指令的亂序執行和分支預測技術,大大提高了處理器的性能, 因此,超標量指令流水線結構一直被後續出現的現代處理器,如AMD(Advanced Micro devices)的K9、 K10、Intel的Core系列等所採用。
(6)第六階段(2005年至今)
是酷睿系列微處理器的時 代,這是一款領先節能的新型微架構,設計的出發點是提供卓然出眾的性能和能效。 為了滿足操作系統的上層工作需求,現代處理器進一步引入了諸如並行化、多核化、虛擬化以及遠程管理系統等功能,不斷推動着上層信息系統向前發展。[1]
工作原理編輯
馮諾依曼體系結構是現代計算機的基礎。在該體系結構下,程序和數據統一存儲,指令和數據需要從同一存儲空間存取,經由同一總線傳輸,無法重疊執行。根據馮諾依曼體系,CPU的工作分為以下 5 個階段:取指令階段、指令譯碼階段、執行指令階段、訪存取數和結果寫回。 取指令(IF,instruction fetch),即將一條指令從主存儲器中取到指令寄存器的過程。程序計數器中的數值,用來指示當前指令在主存中的位置。當 一條指令被取出後,PC中的數值將根據指令字長度自動遞增。 指令譯碼階段(ID,instruction decode),取出指令後,指令譯碼器按照預定的指令格式,對取回的指令進行拆分和解釋,識別區分出不同的指令類 別以及各種獲取操作數的方法。 執行指令階段(EX,execute),具體實現指令的功能。CPU的不同部分被連接起來,以執行所需的操作。 訪存取數階段(MEM,memory),根據指令需要訪問主存、讀取操作數,CPU得到操作數在主存中的地址,並從主存中讀取該操作數用於運算。部分指令不需要訪問主存,則可以跳過該階段。 結果寫回階段(WB,write back),作為最後一個階段,結果寫回階段把執行指令階段的運行結果數據「寫回」到某種存儲形式。結果數據一般會被寫到CPU的內部寄存器中,以便被後續的指令快速地存取;許多指令還會改變程序狀態字寄存器中標誌位的狀態,這些標誌位標識着不同的操作結果,可被用來影響程序的動作。 在指令執行完畢、結果數據寫回之後,若無意外事件(如結果溢出等)發生,計算機就從程序計數器中取得下一條指令地址,開始新一輪的循環,下一個指令周期將順序取出下一條指令。[2]
性能及結構編輯
性能衡量指標 對於CPU而言,影響其性能的指標主要有主頻、 CPU的位數以及CPU的緩存指令集。所謂CPU的主頻,指的就是時鐘頻率,它直接的決定了CPU的性能,因此要想CPU的性能得到很好地提高,提高CPU的主頻是一個很好地途徑。而CPU的位數指的就是處理器能夠一次性計算的浮點數的位數,通常情況下,CPU的位數越高,CPU 進行運算時候的速度就會變得越快。現在CPU的位數一般為32位或者64位。以前人們使用的計算機都是32位系統, 近年來人們使用的計算機的處理器中64位所占用的比例則顯得更多,這是因為64位的計算機的運行速度變得更快,提高了人們的工作效率。而CPU的緩存指令集是存儲在CPU內部的,主要指的是能夠對CPU的運算進行指導以及優化的硬程序。一般來講,CPU 的緩存可以分為一級緩存、二級緩存和三級緩存,而那些處理能力比較強的處理器則一般具有較大的三級緩存。
CPU結構
通常來講,CPU的結構可以大致分為運算邏輯部件、寄存器部件和控制部件等。所謂運算邏輯部件,主要能夠進行相關的邏輯運算,如:可以執行移位操作以及邏輯操作,除此之外還可以執行定點或浮點算術運算操作以及地址運算和轉換等命令,是一種多功能的運算單元。而寄存器部件則是用來暫存指令、數據和地址的。控制部件則是主要用來對指令進行分析並且能夠發出相應的控制信號。而計算機的內存又可以分為隨機存取存儲器(RAM)和只讀儲存器(ROM)。兩者的區別在於,隨機存取存儲器能夠與CPU直接的進行數據的交換,也可以將其稱為主存。對於RAM可以隨時的進行讀寫,而且這個過程的速度很快,因此由於主存所具有的這個優點也往往將其作為操作系統或其他正在運行中的程序的臨時數據存儲媒介;而只讀存儲器ROM是一種只能讀出事先所存數據的存儲器,使用者對於其內部存儲的資料沒有改變的權限也無法對其進行刪除,並且在電源關閉以後資料並不會消失。這種內存也得到了廣泛的應用,在那些資料不需要經常變更的電子或電腦系統中得到了很好地應用。 對於中央處理器來說,可將其看作一個規模較大的集成電路,其主要任務是加工和處理各種數據。傳統計算機的儲存容量相對較小,其對大規模數據的處理過程中具有一定難度,且處理效果相對較低。隨着我國信息技術水平的迅速發展,隨之出現了高配置的處理器計算機,將高配置處理器作為控制中心,對提高計算機CPU的結構功能發揮重要作用。中央處理器中的核心部分就是控制器、運算器,其對提高計算機的整體功能起着重要作用,能夠實現寄存控制、邏輯運算、信號收發等多項功能的擴散,為提升計算機的性能奠定良好基礎。 集成電路在計算機內起到了調控信號的作用,根據用戶操作指令執行不同的指令任務。中央處理器是一塊超大規模的集成電路。它由運算器、控制器、寄存器等組成,如下圖,關鍵操作在於對各類數據的加工和處理。 傳統計算機存儲容量較小,面對大規模數據集的操作效率偏低。新一代計算機採用高配置處理器作為控制中心,CPU在結構功能方面有了很大的提升空間。中央處理器以運算器、控制器為主要裝置,逐漸擴散為邏輯運算、寄存控制、程序編碼、信號收發等多項功能。這些都加快了CPU調控性能的優化升級。[3]
CPU總線
CPU總線是在計算機系統中最快的總線,同時也是芯片組與主板的核心。人們通常把和CPU直接相連的局部總線叫做CPU總線或者稱之為內部總線,將那些和各種通用的擴展槽相接的局部總線叫做系統總線或者是外部總線。在內部結構比較單一的CPU中,往往只設置一組數據傳送的總線即CPU內部總線,用來將CPU內部的寄存器和算數邏輯運算部件等連接起來,因此也可以將這一類的總線稱之為ALU總線。而部件內的總線,通過使用一組總線將各個芯片連接到一起,因此可以將其稱為部件內總線,一般會包含地址線以及數據線這兩組線路。系統總線指的是將系統內部的各個組成部分連接在一起的線路,是將系統的整體連接到一起的基礎;而系統外的總線,是將計算機和其他的設備連接到一起的基礎線路。[4]
核心部分編輯
運算器 運算器是指計算機中進行各種算術和邏輯運算操作的部件, 其中算術邏輯單元是中央處理核心的部分。 [2] (1)算術邏輯單元(ALU)。算術邏輯單元是指能實現多組 算術運算與邏輯運算的組合邏輯電路,其是中央處理中的重要組成部分。算術邏輯單元的運算主要是進行二位元算術運算,如加法、減法、乘法。在運算過程中,算術邏輯單元主要是以計算機指令集中執行算術與邏輯操作,通常來說,ALU能夠發揮直接讀入讀出的作用,具體體現在處理器控制器、內存及輸入輸出設備等方面,輸入輸出是建立在總線的基礎上實施。輸入指令包含一 個指令字,其中包括操作碼、格式碼等。 (2)中間寄存器(IR)。其長度為 128 位,其通過操作數來決定實際長度。IR 在「進棧並取數」指令中發揮重要作用,在執行該指令過程中,將ACC的內容發送於IR,之後將操作數取到ACC,後將IR內容進棧。 (3)運算累加器(ACC)。當前的寄存器一般都是單累加器,其長度為128位。對於ACC來說,可以將它看成可變長的累加器。在敘述指令過程中,ACC長度的表示一般都是將ACS的值作為依據,而ACS長度與 ACC 長度有着直接聯繫,ACS長度的加倍或減半也可以看作ACC長度加倍或減半。 (4)描述字寄存器(DR)。其主要應用於存放與修改描述字中。DR的長度為64位,為了簡化數據結構處理,使用描述字發揮重要作用。 (5)B寄存器。其在指令的修改中發揮重要作用,B 寄存器長度為32位,在修改地址過程中能保存地址修改量,主存地址只能用描述字進行修改。指向數組中的第一個元素就是描述字, 因此,訪問數組中的其它元素應當需要用修改量。對於數組成來說,其是由大小一樣的數據或者大小相同的元素組成的,且連續存儲,常見的訪問方式為向量描述字,因為向量描述字中的地址為字節地址,所以,在進行換算過程中,首先應當進行基本地址 的相加。對於換算工作來說,主要是由硬件自動實現,在這個過程中尤其要注意對齊,以免越出數組界限。
控制器
控制器是指按照預定順序改變主電路或控制電路的接線和 改變電路中電阻值來控制電動機的啟動、調速、制動與反向的主令裝置。控制器由程序狀態寄存器PSR,系統狀態寄存器SSR, 程序計數器PG,指令均存器等組成,其作為「決策機構」,主要任務就是發布命令,發揮着整個計算機系統操作的協調與指揮作用。 控制的分類主要包括兩種,分別為組合邏輯控制器、微程序控制器,兩個部分都有各自的優點與不足。其中組合邏輯控制器結構相對較複雜,但優點是速度較快;微程序控制器設計的結構簡單,但在修改一條機器指令功能中,需對微程序的全部重編。
分類編輯
指令集的方式 CPU的分類還可以按照指令集的方式將其分為精簡指令集計算機(RISC)和複雜指令集計算機(CISC)。 RISC 是基於集成電路進行設計的一種芯片,不過不同的是它對於指令的數目以及尋址的方式進行了改進,使得實現的更加的容易, 指令的並行的執行程度更加的好,並且編譯器的效率也變得越來越高。而由於早期的集成技術還不夠發達,因此早期的計算機往往是CISC架構,需要使用較少的機器語言來完成所需要的計算任務。由於人們的需求越來越多,因此將更多的相對複雜指令加入到了指令系統中,這樣能夠使得計算機變得更加的智能化, 同時這使得計算機的處理效率有着很大的提升, 這也是RISC形成的原因。
嵌入式系統CPU
傳統的嵌入式領域所指範疇非常廣泛,是處理器除了服務器和PC領域之外的主要應用領域。所謂「嵌入式」是指在很多芯片中,其所包含的處理器就像嵌入在裡面不為人知一樣。 近年來隨着各種新技術新領域的進一步發展,嵌入式領域本身也被發展成了幾個不同的子領域而產生了分化。 首先是隨着智能手機(Mobile Smart Phone)和手持設備(Mobile Device)的發展,移動(Mobile)領域逐漸發展成了規模匹敵甚至超過PC領域的一個獨立領域。由於Mobile領域的處理器需要加載Linux操作系統,同時涉及複雜的軟件生態,因此,其具有和PC領域一樣對軟件生態的嚴重依賴。 [8] 其次是實時(Real Time)嵌入式領域。該領域相對而言沒有那麼嚴重的軟件依賴性,因此沒有形成絕對的壟斷,但是由於ARM處理器IP商業推廣的成功,目前仍然以ARM的處理器架構占大多數市場份額,其他處理器架構譬如Synopsys ARC等也有不錯的市場成績。 最後是深嵌入式領域。該領域更像前面所指的傳統嵌入式領域。該領域的需求量非常之大,但往往注重低功耗、低成本和高能效比,無須加載像Linux這樣的大型應用操作系統,軟件大多是需要定製的裸機程序或者簡單的實時操作系統,因此對軟件生態的依賴性相對比較低。
CPU控制技術的主要形式編輯
中央處理器強大的數據處理功有效提升了計算機的工作效率,在數據加工操作時,並不僅僅只是一項簡單的操作,中央處理器的操作是建立在計算機使用人員下達的指令任務基礎上,在執行指令任務過程中,實現用戶輸入的控制指令與CPU的相對應。隨着我國信息技術的快速發展,計算機在人們生活、工作 以及企業辦公自動化中得到廣泛應用,其作為一種主控設備,為促進電子商務網絡的發展起着促進作用,使 CPU 控制性能的升級進程得到很大提高。指令控制、實際控制、操作控制等就是計算機 CPU 技術應用作用表現。 (1)選擇控制。集中處理模式的操作,是建立在具體程序指令的基礎上實施,以此滿足計算機使用者的需求,CPU 在操作過程中可以根據實際情況進行選擇,滿足用戶的數據流程需求。 指令控制技術發揮的重要作用。根據用戶的需求來擬定運算方式,使數據指令動作的有序制定得到良好維持。CPU在執行當中,程序各指令的實施是按照順利完成,只有使其遵循一定順序,才能保證計算機使用效果。CPU 主要是展開數據集自動化處理,其 是實現集中控制的關鍵,其核心就是指令控制操作。 (2)插入控制。CPU 對於操作控制信號的產生,主要是通過指令的功能來實現的,通過將指令發給相應部件,達到控制這些部件的目的。實現一條指令功能,主要是通過計算機中的部件執行一序列的操作來完成。較多的小控制元件是構建集中處理模式的關鍵,目的是為了更好的完成CPU數據處理操作。 (3)時間控制。將時間定時應用於各種操作中,就是所謂的時間控制。在執行某一指令時,應當在規定的時間內完成,CPU的指令是從高速緩衝存儲器或存儲器中取出,之後再進行指令譯碼操作,主要是在指令寄存器中實施,在這個過程中,需要注意嚴格控制程序時間。[5]
相關視頻
CPU到底指的是什麼?
參考資料
- ↑ ,CPU計算和GPU計算,萬方數據,2017-03-12
- ↑ , 關於計算機中央處理器的研究,萬方數據,2018-03-05
- ↑ , 中央處理器集中處理與控制技術探究,萬方數據,2018-07-03
- ↑ , 中央處理器集中處理與控制技術分析,萬方數據,2014-04-08
- ↑ , X86中央處理器安全問題綜述,萬方數據,2019-03-12