CPU內部組成結構及指令執行過程

2021-08-20 07:25:34 字數 3163 閱讀 4358

計算機的基本硬體系統由運算器、控制器、儲存器和輸入、輸出裝置五大部件組成。運算器和控制器等部件被整合在一起統稱為**處理單元(central processing unit,cpu)。

cpu通過執行指令來控制程式的執行順序,這是cpu的重要職能。

一條指令功能的實現需要若干個操作訊號來完成,cpu產生每條指令的操作訊號並將操作訊號送往不同的部件,控制相應的部件按指令的功能要求進行操作。

cpu對各種操作進行時間上的控制,這就是時間控制。cpu對每條指令的整個執行過程要進行嚴格控制,即指令執行過程中操作訊號的出現時間、持續時間及出現的時間順序都需要進行嚴格控制。

cpu通過對資料進行算術運算及邏輯運算等方式進行加工處理,資料加工處理的結果被人們所利用。所以,對資料的加工處理也是cpu最根本的任務。

cpu主要有運算器、控制器、暫存器組合內部匯流排等部件組成。

運算器由算術邏輯單元(arithmetic and logic unit,alu),累加暫存器(ac),資料緩衝暫存器(dr),和狀態條件暫存器組成,它是資料加工處理部件,完成計算機的各種算術和邏輯運算。相對於控制器而言,運算器接受控制器的命令而進行動作,即運算器所進行的全部操作都是由控制器發出的控制訊號來指揮的,所以它是執行部件。

alu是運算器的重要組成部件,負責處理資料,實現對資料的算術運算和邏輯運算。

ac通常簡稱為累計器,它是乙個通用暫存器,其功能是當運算器的算術邏輯單元執行算術或邏輯運算時,為alu提供乙個工作區。最後的運算結果放到ac中,因此運算器中至少有乙個累加暫存器。

在對內部儲存器進行讀寫操作時,用dr暫時存放由記憶體儲器讀寫的一條指令或乙個資料字,將不同時間段內讀寫的資料隔離開來。dr作為cpu和記憶體、外部裝置之間的資料傳送中轉站;作為cpu和記憶體、外圍裝置之間在操作速度上的緩衝;在單累加器結構的運算器中,dr還可以件作為運算元暫存器。

psw儲存由算術指令和邏輯指令執行或測試的結果建立的各種條件碼內容,主要分為狀態標誌和控制標誌。這些標誌通常由一位觸發器儲存,儲存了當前指令執行完成之後的狀態。通常乙個算術操作產生乙個運算結果,乙個邏輯操作產生乙個判決。

運算器只能完成運算,而控制器用於控制整個cpu的工作,他決定了計算機執行過程的自動化。它不僅要保證程式的正確執行,而且要能夠處理異常事件。控制器一般包括指令控制邏輯、時序控制邏輯、匯流排控制邏輯和中斷控制邏輯等幾個部分。

時序控制邏輯要為每條指令按時間順序提**有的控制訊號。匯流排邏輯是為多個功能部件服務的資訊通路控制電路。中斷控制邏輯用於控制各種中斷請求,並根據優先順序的高低對中斷請求進行排隊,逐個交給cpu處理。

指令控制邏輯要完成取指令、分析指令和執行指令的操作,其過程分為取指令、指令解碼、按指令操作碼執行、形成下一條指令等步驟。

當cpu執行一條指令時,先把它從記憶體儲器取到緩衝暫存器中,在送入ir暫存,指令解碼器根據ir的內容產生各種微操作指令,控制其他的組成部件工作,完成所需的功能。

pc具有寄存資訊和計數兩種功能,又稱為指令計數器。程式的執行分為兩種情況,一是順序執行,而是轉移執行。當程式開始執行前,將程式的起始位址送入pc,該位址在程式載入到內容是確定,因此pc的內容即是程式第一條指令的位址。執行指令時cpu自動修改pc的內容,以便使其保持的總是將要執行的下一條指令的位址。

ar儲存當前cpu所訪問的記憶體單元的位址。由於記憶體和cpu存在著操作速度上的差異,所以需要使用ar保持位址資訊,知道記憶體的讀寫操作完成為止。

指令分為操作碼和位址碼兩部分,為了能執行任何給定的指令,必須對操作碼進行分析,以便識別所完成的操作。id就是對指令中的操作碼字段進行分析解釋,識別該指令規定的操作,向操作控制器發出具體的控制訊號,控制各部件工作,完成所需的功能。

暫存器組可分為專用暫存器和通用暫存器。運算器和控制器中的暫存器是專用暫存器,起作用是固定的。通用暫存器用途廣泛並可由程式設計師規定其用途,其數目因處理器不同有所差異。

取指階段:

程式計數器pc裝入第一條指令的位址101,pc的內容被放到指令位址匯流排上,對指令進行解碼並啟動讀命令。從101號位址讀出mov指令,通過指令匯流排ibus裝入指令暫存器ir,程式計數器pc內容加1,變成102,為下一條指令做好準備。指令暫存器ir中的操作碼被解碼,cpu識別出是mov指令,至此取指階段完成。

執行階段:

操作控制器oc送出控制訊號到通用暫存器,選擇r1(10)為源暫存器,ro(00)為目標暫存器。oc送出控制訊號到alu,指定alu做傳送操作,開啟alu輸出三態門,將alu輸出(10)送的資料匯流排dbus上,任何時刻dbus上只能有乙個資料。將dbus上的資料打入資料緩衝暫存器dr,將dr中的資料打入目標暫存器ro,ro的內容由00變為10至此mov指令執行完畢。

取指階段:

lad指令的取指階段和mov指令完全相同。

執行階段:

oc發出控制命令,開啟ir輸出三態門,將指令中的直接位址碼6放到資料匯流排dbus上,裝入位址暫存器ar,將數存6號單元中的數100讀出到dbus上,裝入緩衝暫存器dr。將dr中的數100裝入通用暫存器r1,原來r1中的值10被覆蓋,至此lad指令執行完畢。

取指階段:

add指令的取指階段和其他指令相同。

執行階段:

操作控制器oc送出控制訊號到通用暫存器,選擇r1(100)為源暫存器,r2(20)為目標暫存器。alu做r1和r2的加法運算,開啟alu輸出三態門,將運算結果120放到資料匯流排dbus上,然後打入緩衝暫存器dr。alu產生的進製訊號儲存在狀態字暫存器psw中,將dr中數值120裝入r2中,r2原來的數20被覆蓋。到此add指令執行結束。

取指階段:

sto指令的取指階段和其他指令相同。

執行階段:

操作控制器oc送出控制訊號到通用暫存器,選擇r3(30)作為資料儲存器的位址。開啟通用暫存器輸出三態門,將位址30放到dbus上並裝入位址暫存器ar,並進行位址解碼。操作控制器oc送出控制訊號到通用暫存器,選擇r2(120)作為數存的寫入資料放到dbus上。將數值120寫入數存30單元,原先的資料40被沖掉。至此sto指令執行結束。

取指階段:

jmp指令的取指週期和其他指令相同。

執行階段:

oc發出控制命令,開啟ir輸出三態門,將ir中的位址碼101傳送到dbus上,將dbus上的位址碼101打入到程式計數器pc中,pc中原先的位址106被更換。於是下一條指令不是從106單元取出,而是轉移到101單元取出。至此jmp指令執行週期結束。

以上內容是對於cpu功能、組成以及執行指令的一些總結和整理,有不足之處,希望大家批評指正。

CPU內部組成結構及指令執行過程

計算機的基本硬體系統由運算器 控制器 儲存器和輸入 輸出裝置五大部件組成。運算器和控制器等部件被整合在一起統稱為 處理單元 central processing unit,cpu cpu通過執行指令來控制程式的執行順序,這是cpu的重要職能。一條指令功能的實現需要若干個操作訊號來完成,cpu產生每條...

CPU內部組成結構及指令執行過程

計算機的基本硬體系統由運算器 控制器 儲存器和輸入 輸出裝置五大部件組成。運算器和控制器等部件被整合在一起統稱為 處理單元 central processing unit,cpu cpu通過執行指令來控制程式的執行順序,這是cpu的重要職能。一條指令功能的實現需要若干個操作訊號來完成,cpu產生每條...

cpu的組成及分工

控制單元是上帝 掌控一切 運算單元只負責算術和邏輯運算,運算的指令由控制單元提供,資料由暫存器提供 儲存單元 一方面給運算單元提供輸入輸出,另一方面在控制單元的控制下和記憶體通訊 控制單元使用運算單元的計算結果進行自我調整 工作流程猜測 獲取指令 指令解碼 指令執行 暫存器在控制器控制下從記憶體讀取...