CPU在取指令階段的操作是什麼,簡述CPU執行一條指令的過程

2022-01-20 19:16:29 字數 5960 閱讀 4431

1樓:96未來可期

cpu從儲存器或高速緩衝儲存器中取出指令,放入指令暫存器,並對指令譯碼。

它把指令分解成一系列的微操作,然後發出各種控制命令,執行微操作系列,從而完成一條指令的執行。

指令是計算機規定執行操作的型別和運算元的基本命令。指令是由一個位元組或者多個位元組組成,其中包括操作碼欄位、一個或多個有關運算元地址的欄位以及一些表徵機器狀態的狀態字以及特徵碼。有的指令中也直接包含運算元本身。

擴充套件資料:

cpu工作過程:

提取第一階段,提取,從儲存器或高速緩衝儲存器中檢索指令(為數值或一系列數值)。由程式計數器指定儲存器的位置。

解碼cpu根據儲存器提取到的指令來決定其執行行為。在解碼階段,指令被拆解為有意義的片段。根據cpu的指令集架構定義將數值解譯為指令。

一部分的指令數值為運算碼,其指示要進行哪些運算。其它的數值通常供給指令必要的資訊,諸如一個加法運算的運算目標。

執行在提取和解碼階段之後,緊接著進入執行階段。該階段中,連線到各種能夠進行所需運算的cpu部件。

寫回最終階段,寫回,以一定格式將執行階段的結果簡單的寫回。運算結果經常被寫進cpu內部的暫存器,以供隨後指令快速存取。在其它案例中,運算結果可能寫進速度較慢,但容量較大且較便宜的主記憶體中。

某些型別的指令會操作程式計數器,而不直接產生結果。這些一般稱作「跳轉」(jumps),並在程式中帶來迴圈行為、條件性執行(透過條件跳轉)和函式。許多指令會改變標誌暫存器的狀態位元。

這些標誌可用來影響程式行為,緣由於它們時常顯出各種運算結果。例如,以一個「比較」指令判斷兩個值大小,根據比較結果在標誌暫存器上設定一個數值。這個標誌可藉由隨後跳轉指令來決定程式動向。

在執行指令並寫回結果之後,程式計數器值會遞增,反覆整個過程,下一個指令週期正常的提取下一個順序指令。

2樓:你的牽強誰懂

cpu的基本工作是執行儲存的指令序列,即程式。程式的執行過程實際上是不斷地取出指令、分析指令、執行指令的過程。

取指令(instruction fetch,if)階段是將一條指令從主存中取到指令暫存器的過程。

pc,依此類推。àpc,若為雙字長指令,則(pc)+2à程式計數器pc中的數值,用來指示當前指令在主存中的位置。當一條指令被取出後,pc中的數值將根據指令字長度而自動遞增。

若為單字長指令,則(pc)+1 。

計算機執行程式時,先將有關程式調入記憶體,再將指令調入暫存器,cpu順序呼叫暫存器中的指令並解釋執行,取指令本身是cpu操作的,但是必經記憶體控制器,不過它頂多算個人事管理者,實權在cpu.這東西主要是與各種各樣的實體記憶體接洽使之可用,在cpu排程下與一二級快取進行資料交流。

3樓:匿名使用者

應該是指令暫存器同求

簡述cpu執行一條指令的過程

4樓:匿名使用者

幾乎所有的馮·諾伊曼型計算機的cpu,其工作都可以分為5個階段:取指令、指令譯碼、執行指令、訪存取數、結果寫回。

1.取指令階段

取指令(instruction fetch,if)階段是將一條指令從主存中取到指令暫存器的過程。

程式計數器pc中的數值,用來指示當前指令在主存中的位置。當一條指令被取出後,pc中的數值將根據指令字長度而自動遞增:若為單字長指令,則(pc)+1àpc;若為雙字長指令,則(pc)+2àpc,依此類推。

2.指令譯碼階段

取出指令後,計算機立即進入指令譯碼(instruction decode,id)階段。

在指令譯碼階段,指令譯碼器按照預定的指令格式,對取回的指令進行拆分和解釋,識別區分出不同的指令類別以及各種獲取運算元的方法。

在組合邏輯控制的計算機中,指令譯碼器對不同的指令操作碼產生不同的控制電位,以形成不同的微操作序列;在微程式控制的計算機中,指令譯碼器用指令操作碼來找到執行該指令的微程式的入口,並從此入口開始執行。

3.執行指令階段

在取指令和指令譯碼階段之後,接著進入執行指令(execute,ex)階段。

此階段的任務是完成指令所規定的各種操作,具體實現指令的功能。為此,cpu的不同部分被連線起來,以執行所需的操作。

4.訪存取數階段

根據指令需要,有可能要訪問主存,讀取運算元,這樣就進入了訪存取數(memory,mem)階段。

5.結果寫回階段

作為最後一個階段,結果寫回(write back,wb)階段把執行指令階段的執行結果資料「寫回」到某種儲存形式:

結果資料經常被寫到cpu的內部暫存器中,以便被後續的指令快速地存取;

在有些情況下,結果資料也可被寫入相對較慢、但較廉價且容量較大的主存。許多指令還會改變程式狀態字暫存器中標誌位的狀態,這些標誌位標識著不同的操作結果,可被用來影響程式的動作。

5樓:冰冰大柚子

**處理器(cpu)工作都可以分為5個階段:取指令、指令譯碼、執行指令、訪存取數、結果寫回。

1、取指令階段,取指令(instruction fetch,if)階段是將一條指令從主存中取到指令暫存器的過程。

2.指令譯碼階段,取出指令後,計算機立即進入指令譯碼(instruction decode,id)階段。在指令譯碼階段,指令譯碼器按照預定的指令格式,對取回的指令進行拆分和解釋,識別區分出不同的指令類別以及各種獲取運算元的方法。

3、執行指令階段,在取指令和指令譯碼階段之後,接著進入執行指令(execute,ex)階段。此階段的任務是完成指令所規定的各種操作,具體實現指令的功能。為此,cpu的不同部分被連線起來,以執行所需的操作。

4、訪存取數階段,根據指令需要,有可能要訪問主存,讀取運算元,這樣就進入了訪存取數(memory,mem)階段。此階段的任務是:根據指令地址碼,得到運算元在主存中的地址,並從主存中讀取該運算元用於運算。

5、結果寫回階段,結果寫回(writeback,wb)階段把執行指令階段的執行結果資料「寫回」到某種儲存形式:結果資料經常被寫到cpu的內部暫存器中,以便被後續的指令快速地存取。在指令執行完畢、結果資料寫回之後,若無意外事件(如結果溢位等)發生,計算機就接著從程式計數器pc中取得下一條指令地址,開始新一輪的迴圈,下一個指令週期將順序取出下一條指令。

最早的計算機器僅內含固定用途的程式。現代的某些計算機依然維持這樣的設計方式,通常是為了簡化或教育目的。例如一個計算器僅有固定的數學計算程式,它不能拿來當作文書處理軟體,更不能拿來玩遊戲。

若想要改變此機器的程式,你必須更改線路、更改結構甚至重新設計此機器。當然最早的計算機並沒有設計成那種可程式設計化。當時所謂的「重寫程式」很可能指的是紙筆設計程式步驟,接著制訂工程細節,再施工將機器的電路配線或結構改變。

而儲存程式型電腦的概念改變了這一切。藉由創造一組指令集結構,並將所謂的運算轉化成一串程式指令的執行細節,讓此機器更有彈性。接著將指令當成一種特別型態的靜態資料,一臺儲存程式型電腦可輕易改變其程式,並在程控下改變其運算內容。

6樓:縱橫豎屏

cpu執行一條指令分為5個階段:取指令、指令譯碼、執行指令、訪存取數、結果寫回。

1.取指令階段

取指令(instruction fetch,if)階段是將一條指令從主存中取到指令暫存器的過程。

程式計數器pc中的數值,用來指示當前指令在主存中的位置。當一條指令被取出後,pc中的數值將根據指令字長度而自動遞增:若為單字長指令,則(pc)+1àpc;若為雙字長指令,則(pc)+2àpc,依此類推。

2.指令譯碼階段

取出指令後,計算機立即進入指令譯碼(instruction decode,id)階段。

在指令譯碼階段,指令譯碼器按照預定的指令格式,對取回的指令進行拆分和解釋,識別區分出不同的指令類別以及各種獲取運算元的方法。

在組合邏輯控制的計算機中,指令譯碼器對不同的指令操作碼產生不同的控制電位,以形成不同的微操作序列;在微程式控制的計算機中,指令譯碼器用指令操作碼來找到執行該指令的微程式的入口,並從此入口開始執行。

在傳統的設計裡,cpu中負責指令譯碼的部分是無法改變的。不過,在眾多運用微程式控制技術的新型cpu中,微程式有時是可重寫的,可以通過修改成品cpu來改變cpu的譯碼方式。

3.執行指令階段

在取指令和指令譯碼階段之後,接著進入執行指令(execute,ex)階段。

此階段的任務是完成指令所規定的各種操作,具體實現指令的功能。為此,cpu的不同部分被連線起來,以執行所需的操作。

例如,如果要求完成一個加法運算,算術邏輯單元alu將被連線到一組輸入和一組輸出,輸入端提供需要相加的數值,輸出端將含有最後的運算結果。

4.訪存取數階段

根據指令需要,有可能要訪問主存,讀取運算元,這樣就進入了訪存取數(memory,mem)階段。

此階段的任務是:根據指令地址碼,得到運算元在主存中的地址,並從主存中讀取該運算元用於運算。

5.結果寫回階段

作為最後一個階段,結果寫回(writeback,wb)階段把執行指令階段的執行結果資料「寫回」到某種儲存形式:結果資料經常被寫到cpu的內部暫存器中,以便被後續的指令快速地存取;在有些情況下,結果資料也可被寫入相對較慢、但較廉價且容量較大的主存。

許多指令還會改變程式狀態字暫存器中標誌位的狀態,這些標誌位標識著不同的操作結果,可被用來影響程式的動作。

在指令執行完畢、結果資料寫回之後,若無意外事件(如結果溢位等)發生,計算機就接著從程式計數器pc中取得下一條指令地址,開始新一輪的迴圈,下一個指令週期將順序取出下一條指令。

許多新型cpu可以同時取出、譯碼和執行多條指令,體現並行處理的特性。

7樓:

計算機每執行一條指令都可分為三個階段進行。即取指令-----分析指令-----執行指令。

取指令的任務是:根據程式計數器pc中的值從程式儲存器讀出現行指令,送到指令暫存器。

分析指令階段的任務是:將指令暫存器中的指令操作碼取出後進行譯碼,分析其指令性質。如指令要求運算元,則尋找運算元地址。

計算機執行程式的過程實際上就是逐條指令地重複上述操作過程,直至遇到停機指令可迴圈等待指令。

一般計算機進行工作時,首先要通過外部裝置把程式和資料通過輸入介面電路和資料匯流排送入到儲存器,然後逐條取出執行。但微控制器中的程式一般事先我們都已通過寫入器固化在片內或片外程式儲存器中。因而一開機即可執行指令。

下面我們將舉個例項來說明指令的執行過程:

開機時,程式計算器pc變為0000h。然後微控制器在時序電路作用下自動進入執行程式過程。執行過程實際上就是取出指令(取出儲存器中事先存放的指令階段)和執行指令(分析和執行指令)的迴圈過程。

例如執行指令:mov a,#0e0h,其機器碼為「74h e0h」,該指令的功能是把運算元e0h送入累加器,

0000h單元中已存放74h,0001h單元中已存放e0h。當微控制器開始執行時,首先是進入取指階段,其次序是:

1 程式計數器的內容(這時是0000h)送到地址暫存器;

2 程式計數器的內容自動加1(變為0001h);

3 地址暫存器的內容(0000h)通過內部地址匯流排送到儲存器,以儲存器中地址譯碼電跟,使地址為0000h的單元被選中;

4 cpu使讀控制線有效;

5 在讀命令控制下被選中儲存器單元的內容(此時應為74h)送到內部資料匯流排上,因為是取指階段,所以該內容通過資料匯流排被送到指令暫存器。至此,取指階段完成,進入譯碼分析和執行指令階段。

由於本次進入指令暫存器中的內容是74h(操作碼),以譯碼器譯碼後微控制器就會知道該指令是要將一個數送到a累加器,而該數是在這個**的下一個儲存單元。所以,執行該指令還必須把資料(e0h)從儲存器中取出送到cpu,即還要在儲存器中取第二個位元組。其過程與取指階段很相似,只是此時pc已為0001h。

指令譯碼器結合時序部件,產生74h操作碼的微操作系列,使數字e0h從0001h單元取出。因為指令是要求把取得的數送到a累加器,所以取出的數字經內部資料匯流排進入a累加器,而不是進入指令暫存器。至此,一條指令的執行完畢。

微控制器中pc="0002h",pc在cpu每次向儲存器取指或取數時自動加1,微控制器又進入下一取指階段。這一過程一直重複下去,直至收到暫停指令或迴圈等待指令暫停。cpu就是這樣一條一條地執行指令,完成所有規定

指令的操作碼錶示,組合語言中的操作碼是什麼意思

選a。操作碼指計算機程式中所規定的要執行操作的那一部分指令或欄位 通常用 表示 其實就是指令序列號,用來告訴cpu需要執行哪一條指令。指令系統的每一條指令都有一個操作碼,它表示該指令應進行什麼性質的操作。不同的指令用操作碼這個欄位的不同編碼來表示,每一種編碼代表一種指令。組成操作碼欄位的位數一般取決...

用護照買的高鐵票 在自助取票機上可以操作取票嗎?

用護照買的高鐵票 在自助取票機上不可以操作取票。在自動售 取 票機,請將乘車人的居民身份證原件,放在指定位置,由機器自動識讀後,按提示操作,即可換取紙質車票。實行火車票實名制以來,乘客使用最多的購票證件是二代身份證。但購買火車票可使用臨時身份證 戶口簿 護照等24種有效身份證件。旅客使用護照在網際網...

小學教育階段的重點是什麼,孩子在小學階段最重要的任務是什麼

養成愛學習 愛勞動 守紀律 有道德等全面發展的新人 自學自理習慣的養成,越早越好。這是最重點。養成良好的生活習慣和學習習慣,注意加強品德教育 孩子在小學階段最重要的任務是什麼?小學教育是基礎教育,既是各級各類學校教育的基礎,也是個體身心發展的基礎。所以小學教育的任務就是打好基礎。孩子在小學階段要打好...