cpu是怎麼執行指令的,CPU是怎麼執行指令的?

2022-01-13 09:06:58 字數 5990 閱讀 7664

1樓:你的合夥人

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

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

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

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

擴充套件資料

cpu主要功能

1、處理指令

英文processing instructions;這是指控制程式中指令的執行順序。程式中的各指令之間是有嚴格順序的,必須嚴格按程式規定的順序執行,才能保證計算機系統工作的正確性。

2、執行操作

英文perform an action;一條指令的功能往往是由計算機中的部件執行一系列的操作來實現的。cpu要根據指令的功能,產生相應的操作控制訊號,發給相應的部件,從而控制這些部件按指令的要求進行動作。

3、控制時間

英文control time;時間控制就是對各種操作實施時間上的定時。在一條指令的執行過程中,在什麼時間做什麼操作均應受到嚴格的控制。只有這樣,計算機才能有條不紊地工作。

4、處理資料

即對資料進行算術運算和邏輯運算,或進行其他的資訊處理。

其功能主要是解釋計算機指令以及處理計算機軟體中的資料, 並執行指令。在微型計算機中又稱微處理器,計算機的所有操作都受cpu控制,cpu的效能指標直接決定了微機系統的效能指標。

cpu具有以下4個方面的基本功能:資料通訊,資源共享,分散式處理,提供系統可靠性。運作原理可基本分為四個階段:

提取(fetch)、解碼(decode)、執行(execute)和寫回(writeback)。

2樓:

一般是按照順序一條條的執行,它也會根據指令要求跳轉,條件選擇,或是迴圈執行。它執行指令的速度要看cpu內部結構如何還跟cpu的主頻高低。

3樓:

是可以同時只能給你做個比方了,具體不清除

比如2個程式同時執行,而cpu會給其中一個80%,而另一隻能佔用20%,此時如果還有另一進城加入進來,那麼相對的1和2的佔用都要相對減少,這時如果1完成了,那麼2將成為主要,程序3的佔用率會提高。

大概就這意思,實在是不記得了,在一年級的計算機基礎裡就講過

4樓:哎

通過指令集

intel sse sse2 sse3

5樓:匿名使用者

通過指令集

intel sse sse2 sse3

amd am+

通過這些指令集

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

6樓:匿名使用者

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

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

7樓:冰冰大柚子

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

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

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

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

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

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

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

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

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

8樓:縱橫豎屏

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

9樓:

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

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

低功耗CPU是怎麼做到的?CPU是如何工作的?

低功耗cpu其實就是通過更高密度的製造工藝做到的,而且cpu往往是通過積體電路加上 執行程式才可以實現運作。一 低功耗cpu是通過高密度製造工藝做到的。隨著目前很多手機都已經推出市場,越來越多的人想要了解什麼叫做低功耗的cpu,cpu也就是我們所說的核心處理器,低功耗的cpu自然也就是低功耗的核心處...

CPU是什麼,什麼是CPU

cpu是一塊超大規模的積體電路,是一臺計算機的運算核心 core 和控制核心 control unit 處理器的縮寫。cpu,cpu是電腦中的核心配件,電腦中所有操作都由cpu負責讀取指令,對指令譯碼並執行指令的核心部件。此外,中國藥科大學的英語簡稱也是cpu china pharmaceutica...

什麼叫cpu,什麼是CPU

cpu是一塊超大規模的積體電路,是一臺計算機的運算核心 core 和控制核心 control unit 處理器 central processing unit,cpu 是電子計算機的主要裝置之一。其功能主要是解釋計算機指令以及處理計算機軟體中的資料。所謂的計算機的可程式設計性主要是指對cpu的程式設...