在8086CPU中,取指令和執行指令的過程是什麼

時間 2022-01-14 11:20:10

1樓:sang_yi_平

直接mov al想要的資料,不需要他去讀io的資料多的空使用nop來**對齊

一般你這指令,下面還有判斷指令,不相等就跳轉之類的,改為nop空操作或強制跳轉jmp

沒提交就不能用request物件了。

用js 把。寫個函式。

然後 在下拉框onchange的時候呼叫。。。

函式裡這樣取下拉框的值document.表單名.下拉列表name沒有表單就直接document.

下拉列表namejs那個函式裡再加個轉向的語句,把取得的值作為引數再傳遞到這個頁面,然後用request取值,判斷並輸出。。

不用ajax的話,就只能整頁重新整理了,不過這樣做使用者是體驗不到什麼不合適的,還是原來的頁面,沒有什麼不妥。

2樓:匿名使用者

匯流排是什麼型別就是什麼型別唄,

取指就是,pc送位址經過位址匯流排。指令,dr——ir--——id。都是通過db資料匯流排。再發出相應的控制命令,經控制匯流排。

執行指令根據實際情況也是通過資料匯流排或位址匯流排或控制匯流排。

8086內部匯流排都為並行通訊。並行就是多根線,同時傳輸。

所以說都是並行。

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

3樓:匿名使用者

幾乎所有的馮·諾伊曼型計算機的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的內部暫存器中,以便被後續的指令快速地訪問;

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

4樓:冰冰大柚子

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

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

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

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

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

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

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

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

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

5樓:縱橫豎屏

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可以同時取出、解碼和執行多條指令,體現並行處理的特性。

6樓:

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

取指令的任務是:根據程式計數器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就是這樣一條一條地執行指令,完成所有規定

8086cpu在中斷響應週期獲取中斷型別號有幾種方法

有貨 8086cpu的中斷系統具有256箇中斷,每個中斷用一個唯一的中斷向量號標識。向量號也稱為向量號或型別號,它用一個位元組表示 0 255,對應256箇中斷。8086的中斷可以分成外部中斷和內部中斷兩類。1 外部中斷 外部中斷是來自8086cpu之外的原因引起的程式中斷。它又分成兩種情況 可遮蔽...

在計算機中cpu如何區分指令和資料

更上百層樓 在計算機中cpu通過運算器區分指令和資料,具體如下 1 算術邏輯單元 alu 算術邏輯單元是指能實現多組 算術運算與邏輯運算的組合邏輯電路,其是 處理中的重要組成部分。算術邏輯單元的運算主要是進行二位元算術運算,如加法 減法 乘法。在運算過程中,算術邏輯單元主要是以計算機指令集中執行算術...

cpu執行時程式是在flash中還是在RAM

x86cpu和微控制器讀取程式的具體途徑。pc機在執行程式的時候將程式從外存 硬碟 中,調入到ram中執行,cpu從ram中讀取程式和資料。而微控制器的程式則是固化在flash中,cpu執行時直接從flash中讀取程式,從ram中讀取資料。造成這種差別的具體原因分析。x86構架的cpu是基於馮。諾依...