CPU如何工作

2021-10-05 21:16:06 字數 4645 閱讀 4018

工具通常比機器簡單。

它通常與手一起使用,而機器經常通過動物或蒸汽來驅動。

- 查爾斯·巴貝奇
計算機是一主要由電力驅動的機器,但是其靈活性和可程式設計性有助於實現工具的簡單性。
cpu是計算機的心臟和/或大腦。 它執行提供給它的指令。 它的主要工作是執行算術和邏輯運算並將指令編排在一起。 在深入**主要部分之前,我們先來看一下cpu的主要元件是什麼以及角色是什麼:

處理器的兩個主要元件控制單元cu算術和邏輯單元alu控制單元cu

控制單元cu是cpu的一部分,可幫助協調指令的執行。 它告訴該怎麼辦。 根據說明,它有助於啟用將cpu連線到計算機其他不同部分(包括alu)的電線。 控制單元是cpu接收處理指令的第乙個元件。

控制單元有兩種型別:

硬連線控制單元.microprogrammable(微程式)的控制單元

有線控制單元是硬體,需要對硬體進行更改以新增修改以使其能夠工作,因為可以對可程式設計控制單元進行程式設計以更改其行為。 硬接線cu處理指令的速度更快,而微程式設計的靈活性更高。

算術和邏輯單元— alu

顧名思義,算術和邏輯單元alu執行所有算術和邏輯計算。 alu執行加減運算。 alu由執行這些操作的邏輯電路或邏輯門組成。

大多數邏輯門接受兩個輸入並產生乙個輸出

波紋管是半加法器電路的乙個示例,它具有兩個輸入並輸出結果。 這裡a和b是輸入,s是輸出,c是進製。

cpu的主要工作是執行提供給它的指令。 要在大多數時間處理這些指令,它需要資料。 一些資料是中間資料,其中一些是輸入,其他是輸出。 這些資料和說明一起儲存在以下儲存器中:

暫存器

暫存器是一小組可以儲存資料的地方。 暫存器是鎖存器的組合。鎖存器也稱為觸發器,是儲存1位資訊的邏輯門的組合。

鎖存器有兩根輸入線,寫和輸入線,以及一根輸出線。 我們可以啟用寫入線來更改儲存的資料。 禁用寫線時,輸出始終保持不變。

由一對交叉耦合的或非

門構成的sr鎖存器

cpu具有用於儲存輸出資料的暫存器。 由於它是中間資料,因此傳送到主儲存器(ram)會很慢。 該資料被傳送到通過bus連線的其他暫存器。 暫存器可以儲存指令,輸出資料,儲存位址或任何型別的資料。

記憶體(ram)

ram是暫存器的集合,這些暫存器以優化的方式排列並壓縮在一起,以便可以儲存更多資料。 ram(隨機訪問儲存器)易失,當我們關閉電源時,資料會丟失。 由於ram是用於讀取/寫入資料的暫存器的集合,因此ram接受8位位址的輸入,輸入要儲存的實際資料的資料,最後讀取和寫入使能器,其對鎖存器的作用相同。

什麼是指示

指令是計算機可執行的粒度計算。 cpu可以處理各種指令。

說明包括:

算術諸如加法減法的邏輯指令,諸如,而不是資料的指令如移動輸入輸出負載儲存控制流指令,諸如跳轉如果... goto,呼叫返回通知cpu該程式已經停止

使用組合語言將指令提供給計算機,或者由編譯器生成指令,或者以某些高階語言解釋指令。

這些指令被硬連線到cpu內部。 alu包含算術和邏輯,控制流由cu管理。

在乙個時鐘週期內,計算機可以執行一條指令,但是現代計算機可以執行多條指令。

計算機可以執行的一組指令稱為指令集

cpu時鐘

時鐘週期

計算機的速度取決於其時鐘週期。 它是計算機每秒工作的時鐘週期數。 乙個時鐘週期非常小,大約為250 * 10 * -12秒。 時鐘週期越高,處理器越快。

cpu時鐘週期以ghz(千兆赫)的措施。 1ghz等於10⁹hz(赫茲)。 赫茲表示一秒鐘。 因此1 ghz意味著每秒10個週期。

時鐘週期越快,cpu可執行的指令越多。

clock cycle = 1 /clock  rate

cpu time = number of  clock  cycle /  clock  rate

這意味著可以通過優化提供給cpu的指令來縮短cpu時間,從而提高時鐘速率或減少時鐘週期數。 某些處理器具有增加時鐘週期的能力,但由於是物理變化,因此可能會過熱甚至冒煙/著火。

指令如何執行

指令按順序儲存在ram中。 對於乙個假設的cpu,指令由op**(操作**)和儲存器或暫存器位址組成

控制單元指令暫存器(ir)中有兩個暫存器載入指令的op**和指令位址暫存器,後者載入當前執行指令的位址。 cpu內還有其他暫存器,用於儲存儲存在指令後4位位址中的值。

讓我們以一組指令加兩個數字為例。 以下是說明以及說明:

步驟1 — load_a 8:

最初將指令儲存在ram中,例如<1100 1000>。 前4位是操作碼。 這確定了指令。 該指令被提取到控制單元的ir中。 該指令被解碼為load_a,這意味著它需要將資料載入到位址1000中,該位址是指令a的最後4位。

步驟2 — load_b 2

與上面類似,這會將記憶體位址2(0010)中的資料載入到cpu暫存器b。

第3步-新增ba

現在,下一條指令是將這兩個數字相加。 此處,cu告訴alu執行加法運算並將結果儲存回暫存器a。

步驟4 — store_a 23

這是一組非常簡單的指令,有助於將兩個數字相加。

我們已經成功地新增了兩個數字!

匯流排

cpu,暫存器,儲存器和io裝置之間的所有資料都通過匯流排傳輸。 為了將資料載入到剛剛新增的儲存器中,cpu將儲存器位址放入位址匯流排,並將總和的結果放入資料匯流排,並在控制匯流排中啟用正確的訊號。 通過這種方式,資料將在匯流排的幫助下被載入到記憶體中。

src: https : computing)#/media/file: computer_system_bus.svg快取

cpu還具有將指令預取到其快取的機制。 眾所周知,處理器可以在一秒鐘內完成數百萬條指令。 這意味著從ram提取指令要比執行指令花費更多的時間。 因此,cpu快取記憶體會預取一些指令以及資料,以便快速執行。

如果快取記憶體和操作記憶體中的資料不同,則將資料標記為髒位

指令流水線

現代cpu將指令流水線用於指令執行中的並行化。 提取,解碼,執行。 當一條指令處於解碼階段時,cpu可以為提取階段處理另一條指令。

當一條指令依賴於另一條指令時,這將產生乙個問題。 因此,處理器以不相同的順序執行不相關的指令。

多核計算機

它基本上是不同的cpu,但是有一些共享資源,例如快取。

效能 cpu的效能取決於其執行時間。

performance = 1 /execution time

假設乙個程式執行需要20毫秒。 cpu的效能為1/20 = 0.05ms

relative performance = execution time 1 / execution time 2

cpu效能要考慮的因素是指令執行時間和cpu時鐘速度。 因此,要提高程式的效能,我們要麼需要提高時鐘速度,要麼需要減少程式中的指令數量。 處理器速度有限,具有多核功能的現代計算機每秒可支援數百萬條指令。 但是,如果我們編寫的程式有很多指令,則會降低整體效能。

大o標記使用給定的輸入確定如何影響效能。

cpu中進行了大量優化,以使其更快並盡可能地發揮效能。 在編寫任何程式時,我們需要考慮減少提供給cpu的指令數量將如何提高電腦程式的效能。

from:

CPU是如何工作的

該文章翻譯自 translated by cpu,也被叫做微處理器,是計算機的心臟,大腦.我們就來看看計算機的核心是如何工作的吧 通常來說,乙個工具要比乙個機器更加簡單,因為工具通常以手驅動,而機器以力驅動 查爾斯 巴貝奇 計算機,通常來說,是以電力驅動的機器.不過他的靈活性與可程式設計性幫助我們更...

cpu工作原理

眾所周知,cpu是電腦的 心臟 是整個微機系統的核心,因此,它也往往成了各種檔次微機的代名詞,如昔日的286 386 486,奔騰 pii k6到今天的piii p4 k7等。回顧cpu發展歷史,cpu在製造技術上已經獲得了極大的提高,主要表現在整合的電子元件越來越多,從開始整合幾千個電晶體,到現在...

多執行緒在單核cpu與多核cpu下如何工作

1.多執行緒在單核和多核cpu上的執行效率問題的討論 a1 多執行緒在單cpu中其實也是順序執行的,不過系統可以幫你切換那個執行而已,其實並沒有快 反而慢 多個cpu的話就可以在兩個cpu中同時執行了.a2 單核cpu上執行的多執行緒程式,同一時間只能乙個執行緒在跑,系統幫你切換執行緒而已,系統給每...