發展歷史 CPU發展已經有50多年的歷史了。我們通常將其分成六個階段。
(3)第三階段(1978年-1984年)。這是16位微處理器的時代,代表產品是
Intel 8086 。相對而言已經比較成熟了。
1989 年發布的
80486 處理器實現了5級
標量流水線 ,標誌著CPU的初步成熟,也標誌著傳統處理器發展階段的結束。
(5)第五階段(1993年-2005年)。這是
奔騰 系列微處理器的時代。
工作原理 取指令(IF,instruction fetch),即將一條指令從
主存儲器 中取到
指令暫存器 的過程。
程式計數器 中的數值,用來指示當前指令在主存中的位置。當一條指令被取出後,
程式計數器 (PC)中的數值將根據指令字長度自動遞增。
指令解碼階段(ID,instruction decode),取出指令後,
指令解碼器 按照預定的
指令格式 ,對取回的指令進行拆分和解釋,識別區分出不同的指令類別以及各種獲取運算元的方法。現代CISC處理器會將拆分已提高並行率和效率。
執行指令階段(EX,
execute ),具體實現指令的功能。CPU的不同部分被連線起來,以執行所需的操作。
訪存取數階段(MEM,memory),根據指令需要訪問主存、讀取運算元,CPU得到運算元在主存中的地址,並從主存中讀取該運算元用於運算。部分指令不需要訪問主存,則可以跳過該階段。
結果
寫回 階段(WB,write back),作為最後一個階段,結果寫回階段把執行指令階段的運行結果數據“寫回”到某種存儲形式。結果數據一般會被寫到CPU的內部暫存器中,以便被後續的
指令 快速地存取;許多指令還會改變
程式狀態字暫存器 中標誌位的狀態,這些標誌位標識著不同的操作結果,可被用來影響程式的動作。
在指令執行完畢、結果數據寫回之後,若無
意外事件 (如結果溢出等)發生,計算機就從
程式計數器 中取得下一條指令地址,開始新一輪的循環,下一個
指令周期 將順序取出下一條指令。許多複雜的CPU可以一次提取多個
指令 、
解碼 ,並且同時執行。
簡介 中央處理器(CPU),是電子
計算機 的主要設備之一,電腦中的核心配件。其功能主要是解釋
計算機指令 以及處理計算機軟體中的數據。CPU是計算機中負責讀取指令,對指令解碼並
執行指令 的核心部件。中央處理器主要包括兩個部分,即控制器、
運算器 ,其中還包括
高速緩衝存儲器 及實現它們之間聯繫的
數據 、控制的
匯流排 。電子計算機三大核心部件就是CPU、
內部存儲器 、輸入/
輸出設備 。中央處理器的功效主要為處理指令、執行操作、控制時間、處理數據。
在
計算機體系結構 中,CPU是對計算機的所有硬體資源(如
存儲器 、輸入輸出單元) 進行控制調配、執行通用運算的核心硬體單元。CPU是
計算機 的運算和控制核心。
計算機系統 中所有軟體層的操作,最終都將通過
指令集 映射為CPU的操作。
性能結構 性能衡量指標 對於CPU而言,影響其性能的指標主要有
主頻 、 CPU的位數、CPU的快取
指令集 、
CPU核心 數和IPC(
每周期指令數 )。所謂CPU的主頻,指的就是
時鐘頻率 ,它直接的決定了CPU的性能,可以通過超頻來提高CPU主頻來獲得更高性能。而CPU的位數指的就是處理器能夠一次性計算的
浮點數 的位數,通常情況下,CPU的位數越高,CPU進行運算時候的速度就會變得越快。21世紀20年代後
個人電腦 使用的CPU一般均為64位,這是因為64位處理器可以處理範圍更大的數據並原生支持更高的
記憶體定址 容量,提高了人們的
工作效率 。而CPU的快取指令集是存儲在CPU內部的,主要指的是能夠對CPU的運算進行指導以及最佳化的硬程式。一般來講,CPU 的快取可以分為
一級快取 、
二級快取 和
三級快取 ,快取性能直接影響CPU處理性能。部分特殊職能的CPU可能會配備四級快取。
CPU結構 通常來講,CPU的結構可以大致分為運算
邏輯部件 、
暫存器 部件和控制部件等。所謂運算邏輯部件,主要能夠進行相關的
邏輯運算 ,如:可以執行移位操作以及
邏輯操作 ,除此之外還可以執行定點或
浮點 算術運算 操作以及地址運算和轉換等命令,是一種多功能的
運算單元 。而
暫存器 部件則是用來暫存指令、數據和
地址 的。控制部件則是主要用來對指令進行分析並且能夠發出相應的
控制信號 。
對於中央處理器來說,可將其看作一個規模較大的
積體電路 ,其主要任務是加工和處理各種數據。
傳統計算機 的儲存容量相對較小,其對大規模數據的處理過程中具有一定難度,且處理效果相對較低。隨著我國信息技術水平的迅速發展,隨之出現了高配置的處理器計算機,將高配置處理器作為
控制中心 ,對提高計算機CPU的
結構功能 發揮重要作用。中央處理器中的核心部分就是控制器、運算器,其對提高計算機的整體功能起著重要作用,能夠實現暫存控制、邏輯運算、信號收發等多項功能的擴散,為提升計算機的性能奠定良好基礎。
積體電路在計算機內起到了調控信號的作用,根據用戶
操作指令 執行不同的指令任務。中央處理器是一塊超大規模的積體電路。它由運算器、控制器、暫存器等組成,如下圖,關鍵操作在於對各類數據的加工和處理。
中央處理器結構
傳統計算機
存儲容量 較小,面對大規模
數據集 的操作效率偏低。新一代計算機採用高配置處理器作為控制中心,CPU在結構功能方面有了很大的提升空間。中央處理器以運算器、控制器為主要裝置,逐漸擴散為邏輯運算、暫存控制、程式編碼、信號收發等多項功能。這些都加快了CPU調控性能的最佳化升級。
CPU匯流排 CPU匯流排是在計算機系統中最快的匯流排,同時也是
晶片組 與主機板的核心。人們通常把和CPU直接相連的
局部匯流排 叫做
CPU匯流排 或者稱之為
內部匯流排 ,將那些和各種通用的
擴展槽 相接的局部匯流排叫做
系統匯流排 或者是
外部匯流排 。在內部結構比較單一的CPU中,往往只設定一組
數據傳送 的匯流排即CPU內部匯流排,用來將CPU內部的暫存器和算數邏輯運算部件等連線起來,因此也可以將這一類的匯流排稱之為
ALU 匯流排。而部件內的匯流排,通過使用一組匯流排將各個晶片連線到一起,因此可以將其稱為部件
內匯流排 ,一般會包含
地址線 以及數據線這兩組線路。系統匯流排指的是將系統內部的各個組成部分連線在一起的線路,是將
系統 的整體連線到一起的基礎;而系統外的匯流排,是將計算機和其他的設備連線到一起的基礎線路。
核心部分 運算器 (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,
程式計數器 PC,
指令暫存器 等組成,其作為“
決策機構 ”,主要任務就是發布命令,發揮著整個
計算機系統 操作的協調與指揮作用。 控制的分類主要包括兩種,分別為組合邏輯控制器、
微程式控制器 ,兩個部分都有各自的優點與不足。其中組合
邏輯控制器 結構相對較複雜,但優點是速度較快;
微程式 控制器設計的結構簡單,但在修改一條
機器指令 功能中,需對微程式的全部重編。
品牌介紹 “龍芯”系列晶片 龍芯2號系列是面向桌面和高端嵌入式套用的64位高性能
低功耗處理器 。龍芯2號產品包括
龍芯2E 、2F、2H和2K1000等晶片。龍芯2E首次實現對外生產和銷售授權。
龍芯2F 平均性能比龍芯 2E高20%以上,可用於個人計算機、行業終端、工業控制、數據採集、網路安全等領域。龍芯2H於2012年推出正式產品,適用計算機、
雲終端 、
網路設備 、消費類電子等領域需求,同時可作為
HT 或者
PCI -e接口的全功能套片使用。2018年,龍芯推出
龍芯2K1000 處理器,它主要是面向網路安全領域及
移動智慧型 領域的雙核處理晶片,主頻可達1
GHz ,可滿足
工業物聯網 快速發展、
自主可控 工業安全體系的需求。
龍芯3號系列是面向
高性能計算機 、伺服器和高端桌面套用的
多核處理器 ,具有高頻寬,高性能,低功耗的特徵。龍芯3A3000/3B3000處理器採用自主
微結構 設計,主頻可達到1.5
GHz 以上;計畫2019年面向市場的
龍芯3A4000 為龍芯第三代產品的首款四核晶片,該晶片基於28nm工藝,採用新研發的GS464V 64位高性能處理器核架構,並實現 256位
向量指令 ,同時最佳化片內互連和訪存通路, 集成64位
DDR3 /4
記憶體控制器 ,集成片內安全機 制,主頻和性能將再次得到大幅提升。
Intel
AMD 根據
AMD 產品線規劃,截至2021年AMD
銳龍 5000系列處理器有Ryzen 9/Ryzen 7/Ryzen 5/Ryzen 3四個消費級產品線。此外還有面向
伺服器 市場的第三代霄龍EPYC處理器和面向HEDT平台的執行緒撕裂者系列。
上海兆芯 上海兆芯積體電路有限公司 是成立於2013年的國資控股公司,其生產的處理器採用x86架構,產品主要有開先ZX-A、ZX-c/ZX-C+、 ZX-D、開先KX一 5000和KX一6000;開勝ZX—C+、ZX—D、KH一20000 等。其中開先KX一5000系列處理器採用28 nm工藝,提供4核或8核兩種版本,整體性能較上一代產品提升高達140%,達到國際主流通用
處理器性能 水準,能夠全面滿足黨政桌面辦公套用,以及包括
4K 超高清 視頻觀影等多種娛樂套用需求。開勝KH-20000系列處理器是兆芯面向伺服器等設備推出的CPU產品。開先KX-6000系列
處理器主頻 高達3.0 GHz,兼容全系列
Windows作業系統 及中科方德、
中標麒麟 、普華等國產自主可控作業系統,性能與Intel第七代的
酷睿i5 相當。
上海申威 申威處理器 簡稱“Sw處理器”,出自於DEC的Alpha 21164,採用
Alpha 架構,具有完全自主智慧財產權,其產品有單核Sw-1、雙核Sw-2、四核Sw-410、十六核SW-1600/SW-1610等。
神威藍光 超級計算機 使用了8704片SW一1600,搭載
神威睿思作業系統 ,實現了軟體和硬體全部國產化。而基於Sw-26010構建的“
神威·太湖之光 ”超級計算機自2016 年6月發布以來,已連續四次占據世界超級計算機TOP 500榜單第一,“神威·太湖之光”上的兩項千萬 核心整機套用包攬了2016、2017年度世界
高性能計算 套用領域最高獎“
戈登·貝爾 ”獎。
分類 指令集的方式 嵌入式系統CPU 傳統的嵌入式領域所指範疇非常廣泛,是處理器除了伺服器和PC領域之外的主要
套用領域 。所謂“嵌入式”是指在很多晶片中,其所包含的處理器就像嵌入在裡面不為人知一樣。
近年來隨著各種新技術新領域的進一步發展,嵌入式領域本身也被發展成了幾個不同的子領域而產生了分化。
首先是隨著
智慧型手機 (Mobile Smart Phone)和
手持設備 (Mobile Device)的發展,移動(Mobile)領域逐漸發展成了規模匹敵甚至超過PC領域的一個獨立領域。由於Mobile領域的處理器需要載入
Linux 作業系統,同時涉及複雜的軟體生態,因此,其具有和PC領域一樣對軟體生態的嚴重依賴。
其次是實時(Real Time)嵌入式領域。該領域相對而言沒有那么嚴重的軟體
依賴性 ,因此沒有形成絕對的壟斷,但是由於
ARM 處理器IP商業推廣的成功,目前仍然以ARM的處理器架構占大多數
市場份額 ,其他處理器架構譬如
Synopsys ARC等也有不錯的市場成績。
最後是深嵌入式領域。該領域更像前面所指的傳統嵌入式領域。該領域的
需求量 非常之大,但往往注重
低功耗 、低成本和高
能效比 ,無須載入像
Linux 這樣的大型套用作業系統,軟體大多是需要定製的
裸機 程式或者簡單的
實時作業系統 ,因此對軟體生態的依賴性相對比較低。
大型機CPU 大型機 ,或者稱大型主機。大型機使用專用的處理器指令集、作業系統和套用軟體。大型機一詞,最初是指裝在非常大的帶框鐵盒子裡的大型計算機系統,以用來同小一些的
小型機 和
微型機 有所區別。
減少大型機CPU消耗是個重要工作。節約每個
CPU周期 ,不僅可以延緩硬體升級,還可以降低基於使用規模的
軟體授權 費。
大型機
體系結構 主要包括以下兩點:高度虛擬化,
系統資源 全部共享。大型機可以整合大量的負載於一體,並實現資源
利用率 的最大化;異步
I/O操作 。即當執行
I/O 操作時CPU將
I/O指令 交給I/O
子系統 來完成,CPU自己被釋放執行其它指令。因此主機在執行繁重的I/O任務的同時,還可以同時執行其它工作。
控制技術形式 中央處理器強大的數據處理功有效提升了計算機的
工作效率 ,在
數據加工 操作時,並不僅僅只是一項簡單的操作,中央處理器的操作是建立在計算機使用人員下達的指令任務基礎上,在
執行指令 任務過程中,實現用戶輸入的
控制指令 與CPU的相對應。隨著我國信息技術的快速發展,計算機在人們生活、工作 以及企業辦公自動化中得到廣泛套用,其作為一種主控設備,為促進電子商務網路的發展起著
促進作用 ,使 CPU 控制性能的升級進程得到很大提高。指令控制、
實際控制 、操作控制等就是計算機CPU
技術套用 作用表現。
(1)選擇控制。集中處理模式的操作,是建立在具體程式指令的基礎上實施,以此滿足計算機使用者的需求,CPU 在操作過程中可以根據實際情況進行選擇,滿足用戶的
數據流程 需求。 指令
控制技術 發揮的重要作用。根據用戶的需求來擬定運算方式,使
數據指令 動作的有序制定得到良好維持。CPU在執行當中,程式各指令的實施是按照順利完成,只有使其遵循一定順序,才能保證計算機使用效果。CPU主要是展開
數據集 自動化處理,其 是實現
集中控制 的關鍵,其核心就是指令控制操作。
(2)插入控制。CPU 對於操作
控制信號 的產生,主要是通過指令的功能來實現的,通過將指令發給相應部件,達到控制這些部件的目的。實現一條
指令功能 ,主要是通過計算機中的部件執行一序列的操作來完成。較多的小
控制元件 是構建集中處理模式的關鍵,目的是為了更好的完成CPU數據處理操作。
與GPU比較 GPU GPU 即
圖像處理器 ,CPU和GPU的
工作流程 和
物理結構 大致是類似的,相比於CPU而言,
GPU 的工作更為單一。在大多數的
個人計算機 中,GPU僅僅是用來繪製
圖像 的。如果CPU想畫一個二維圖形,只需要發個指令給GPU,GPU就可以迅速計算出該圖形的所有
像素 ,並且在
顯示器 上指定位置畫出相應的圖形。由於GPU會產生大量的熱量,所以通常顯示卡上都會有獨立的散熱裝置。
設計結構 CPU有強大的算術
運算單元 ,可以在很少的
時鐘周期 內完成算術計算。同時,有很大的快取可以保存很多數據在裡面。此外,還有複雜的邏輯
控制單元 ,當程式有多個分支的時候, 通過提供
分支預測 的能力來降低延時。GPU是基於大的
吞吐量 設計,有很多的算術
運算單元 和很少的快取。同時GPU支持大量的執行緒同時運行,如果他們需要訪問同一個數據,快取會合併這些訪問,自然會帶來延時的問題。儘管有延時,但是因為其算術運算單元的數量龐大,因此能夠達到一個非常大的吞吐量的效果。
使用場景 顯然,因為CPU有大量的快取和複雜的
邏輯控制 單元,因此它非常擅長邏輯控制、串列的運算。相比較而言,GPU因為有大量的算術運算單元,因此可以同時執行大量的計算工作,它所擅長的是大規模的
並發計算 , 計算量大但是沒有什麼
技術含量 ,而且要重複很多次。這樣一說,我們利用GPU來提高程式
運算速度 的方法就顯而易見了。使用CPU來做複雜的邏輯控制,用GPU來做簡單但是量大的算術運算,就能夠大大地提高程式的
運行速度 。
安全問題 CPU 蓬勃發展的同時也帶來了許多的
安全問題 。1994 年出現在
Pentium 處理器上的 FDIV
bug (奔騰
浮點除 錯誤)會導致
浮點數 除法出現錯誤;1997年
Pentium 處理器上的F00F異常指令可導致CPU
當機 ;2011年Intel處理器
可信執行技術 (TXT,trusted execution technology)存在
緩衝區溢出 問題,可被攻擊者用於許可權提升;2017年 Intel管理引擎(
ME ,management engine)組件中的漏洞可導致遠程非授權的任意
代碼 執行;2018年,Meltdown 和
Spectre 兩個CPU漏洞幾乎影響到過去20年製造的每一種計算設備,使得存儲在數十億設備上的隱私信息存在被泄露的風險。這些安全問題嚴重危害國家
網路安全 、關鍵基礎設施安全及重要行業的
信息安全 ,已經或者將要造成巨大損失。
未來發展 通用中央處理器(CPU)晶片是
信息產業 的基礎部件,也是
武器裝備 的核心器件。我國缺少具有
自主智慧財產權 的CPU技術和產業,不僅造成信息 產業受制於人,而且
國家安全 也難以得到全面保障。 “十五”期間,國家“863計畫”開始支持自主研發CPU。“十一五”期間,“核心
電子器件 、
高端通用晶片 及基礎
軟體產品 ”(“
核高基 ”)重大專項將“863計 劃”中的CPU成果引入產業。從“十二五”開始,我國在多個領域進行自主研發CPU的套用和
試點 ,在一定範圍內形成了自主技術和產業體系,可滿足武器裝備、
信息化 等領域的套用需求。但國外CPU壟斷已久,我國自主研發CPU產品和市場的成熟還需要一定時間。