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

時間 2021-10-25 21:55:27

1樓:更上百層樓

在計算機中cpu通過運算器區分指令和資料,具體如下:

1、算術邏輯單元(alu)。算術邏輯單元是指能實現多組 算術運算與邏輯運算的組合邏輯電路,其是**處理中的重要組成部分。算術邏輯單元的運算主要是進行二位元算術運算,如加法、減法、乘法。

在運算過程中,算術邏輯單元主要是以計算機指令集中執行算術與邏輯操作,通常來說,alu能夠發揮直接讀入讀出的作用,具體體現在處理器控制器、記憶體及輸入輸出裝置等方面,輸入輸出是建立在匯流排的基礎上實施。輸入指令包含一 個指令字,其中包括操作碼、格式碼等。

2、中間暫存器(ir)。其長度為 128 位,其通過運算元來決定實際長度。ir 在“進棧並取數”指令中發揮重要作用,在執行該指令過程中,將acc的內容傳送於ir,之後將運算元取到acc,後將ir內容進棧。

3、運算累加器(acc)。當前的暫存器一般都是單累加器,其長度為128位。對於acc來說,可以將它看成可變長的累加器。

在敘述指令過程中,acc長度的表示一般都是將acs的值作為依據,而acs長度與 acc 長度有著直接聯絡,acs長度的加倍或減半也可以看作acc長度加倍或減半。

4、描述字暫存器(dr)。其主要應用於存放與修改描述字中。dr的長度為64位,為了簡化資料結構處理,使用描述字發揮重要作用。

5、b暫存器。其在指令的修改中發揮重要作用,b 暫存器長度為32位,在修改地址過程中能儲存地址修改量,主存地址只能用描述字進行修改。指向陣列中的第一個元素就是描述字, 因此,訪問陣列中的其它元素應當需要用修改量。

對於陣列成來說,其是由大小一樣的資料或者大小相同的元素組成的,且連續儲存,常見的訪問方式為向量描述字,因為向量描述字中的地址為位元組地址,所以,在進行換算過程中,首先應當進行基本地址 的相加。對於換算工作來說,主要是由硬體自動實現,在這個過程中尤其要注意對齊,以免越出陣列界限。

2樓:木木疋

其實這個很簡單的,通過不同的時間段來區分指令和資料,即在取指令階段(或取指微程式)取出的為指令,在執行指令階段(或相應微程式)取出的即為資料。如果通過地址**區分,由pc提供儲存單元地址的取出的是指令,由指令地址碼部分提供儲存單元地址的取出的是運算元。

拓展資料:

指令和資料都是應用上的概念。組合語言,通過編譯器編譯,最後送給cpu的都是二進位制數,那麼cpu在一堆紛繁複雜的二進位制,0110000110001中如何區分指令和資料呢?

我們還需要明白以下幾點:

每臺機器的指令,其格式和**所代表的含義都是硬性規定的,故稱之為面向機器的語言,也稱為機器語言。二進位制,作為一種機器碼,計算機可以直接識別,不需要進行任何翻譯。

計算機硬體主要通過不同的時間段來區分指令和資料,即:取指週期(或取指微程式)取出的既為指令,執行週期計算機載入的第一條肯定是指令,然後根據這條指令去取二進位制數,如果這條指令要取運算元,那麼取出來的就是運算元;如果這條指令要取下一條指令,那麼取出來得就是指令。

把指令和資料分開放是為了安全和邏輯結構清晰。

雖然指令和資料存放的格式一樣,但是訪問他們的時機不同。在取指令時期,cpu通過指令流取指令,存放在指令暫存器, 然後解釋並執行指令;在執行指令時期,cpu通過資料流取資料, 存放在資料暫存器。 所以指令流取的是指令,資料流取的是資料。

3樓:清風雅悅

區分指令和資料的具體方法:

一、指令用來確定“做什麼”和“怎樣做”,資料是“做”的時候需要原始數。

二、計算機可以從時間和空間兩方面來區分指令和資料。在時間上,取指週期從記憶體中取出的是指令,而執行週期從記憶體取出或往記憶體中寫入的是資料;在空間上,從記憶體中取出指令送控制器,而執行週期從記憶體從取的資料送運算器、往記憶體寫入的資料也是來自於運算器。

比如:要計算機做1+2=?中,“+”表示要做什麼和怎樣做,1和2則是做的時候需要的原始數。

現在假設某cpu中,“+”用二進位制“00000001”來表示,“1、2”分別用“00000001、00000010”來表示。那麼,這段程式存入記憶體中就是這樣的:

***x1:00000001

***x2:00000001

***x3:00000010 前面的***x1 ***x2

***x3表示記憶體的地址

從上面可以看出,“+”指令和被加數是完全相同的,當然,這是我故意這樣假設的,但是,在實際情況中,這種情況是大量存在的。在正常情況下,cpu只能把***x1記憶體中的00000001作為指令,***x2記憶體中的00000001作為被加數才能得到正確的結果。那麼cpu如何才能做到不把第二個00000001也當成“+”呢?

1.人們把記憶體的某個地址規定為起始地址(又稱為復位地址),也就是說,當計算機開機或者被強行復位(也就是機箱上那個重啟動按鈕按下的的時候),cpu立即跳轉到這個地址中,並且把它裡面的**作為指令來執行,同時根據這個指令的長度和格式判斷下一條指令在什麼地方。

對於x86系列cpu(也就是現在人們常用的什麼奔xx、賽xx系列),它的復位地址是ffff0,如果表示成邏輯地址則是:ffff:0000。

對debug比較熟悉的朋友或者會在一些高階語言中嵌入組合語言的朋友可以這樣做一個試驗:

用debug執行一條指令(這是一條無條件跳轉指令):jmp  ffff:0000,或者在高階語言中嵌入這條彙編指令,執行後,你就會發現,計算機重新啟動了。

其實,用程式控制計算機重啟的最本質的操作就是這樣的。

2.給各種指令規定了相應的長度和格式。比如:

某數+某數這條指令就規定:這條指令的長度是3個位元組,其中第一個位元組表示“+”,後面兩個位元組表示被加數和加數。於是,當cpu到達這個指令後,就自動把第一個**作為指令,後面兩個**作為資料,依次類推,第4個**就必然是指令.....

拓展資料:

一、計算機指令

計算機指令就是指揮機器工作的指示和命令,程式就是一系列按一定順序排列的指令,執行程式的過程就是計算機的工作過程。

原理:控制器靠指令指揮機器工作,人們用指令表達自己的意圖,並交給控制器執行。一臺計算機所能執行的各種不同指令的全體,叫做計算機的指令系統,每一臺計算機均有自己的特定的指令系統,其指令內容和格式有所不同。

通常一條指令包括兩方面的內容:操作碼和運算元,操作碼決定要完成的操作,運算元指參加運算的資料及其所在的單元地址。

在計算機中,操作要求和運算元地址都由二進位制數碼錶示,分別稱作操作碼和地址碼,整條指令以二進位制編碼的形式存放在儲存器中。

指令的種類和多少與具體的機型有關,在此不詳述,請參見具體的機器資料手冊。

指令的順序執行,將完成程式的執行,因而有必要了解指令的執行過程。首先是取指令和分析指令。按照程式規定的次序,從記憶體儲器取出當前執行的指令,並送到控制器的指令暫存器中,對所取的指令進行分析,即根據指令中的操作碼確定計算機應進行什麼操作。

程式流程圖其次是執行指令。根據指令分析結果,由控制器發出完成操作所需的一系列控制電位,以便指揮計算機有關部件完成這一操作,同時,還為取下一條指令作好準備。

二、計算機資料

計算機資料表示是指處理機硬體能夠辨認並進行儲存、傳送和處理的資料表示方法。

處理機硬體能夠辨認並進行儲存、傳送和處理的資料表示方法。一臺處理機的資料表示方法是處理機設計人員規定的,儘管資料的**和形式有所不同,但輸入這臺處理機並經它處理的全部資料都必須符合規定。軟體設計人員還可以依此來規定各資料型別(如虛數、向量等)和組織複雜的資料結構(如記錄、文卷等)。

早期的機械式和繼電式計算機都用具有10個穩定狀態的基本元件來表示十進位制資料位0,1,2,…,9。一個資料的各個資料位是按10的指數順序排列的,如386.45=3×10+8×10+6×10+4×10+5×10。

但是,要求處理機的基本電子元件具有10個穩定狀態比較困難,十進位制運算器邏輯線路也比較複雜。多數元件具有兩個穩定狀態,二進位制運算也比較簡單,而且能節省裝置,二進位制與處理機邏輯運算能協調一致,且便於用邏輯代數簡化處理機邏輯設計。因此,二進位制遂得到廣泛應用。

定點表示法 在二進位制中,0和 1分別由處理機電子元件的兩個穩定狀態表示, 2為數的基底。二進位制字元資料表示法用二進位制位序列組成供輸入、處理和輸出用的編碼稱為字元資料。字元資料包括各種運算子號、關係符號、貨幣符號、字母和數字等。

中國通用的是2023年頒佈的國家標準 gb1988-80《資訊處理交換用的七位編碼字符集》(見表),它以7個二進位制位表示 128個字元。它包括32個控制字符集、94個圖形字符集、一個間隔字元和一個抹掉字元。

4樓:匿名使用者

在儲存程式的計算機中,指令和資料都以二進位制的形式儲存在儲存器中。因為他們都是二進位制的**,所以從儲存器中儲存的內同本身看不出是指令還是資料。計算機在讀取指令時把從儲存器中讀到的資訊都看成指令,而在讀取資料的時候則把從儲存器裡讀到的資訊都看成運算元。

5樓:匿名使用者

cpu中不區分資料和指令,只認高低電平,也就是0,1訊號。

6樓:匿名使用者

cpu只是執行指令。。。明白了把。

7樓:雌鹿沒有角

根據指令週期的不同階段來區分是指令還是資料。

cpu的工作過程就分成了取指令、分析指令、執行指令過程。(沒有為什麼,就是吃飯要先張嘴一樣)

通常取指令階段取到的就是指令,再執行階段取出的是資料。

你可能疑問是為什麼不是依據指令操作碼的譯碼結果。

因為提取指令操作碼是在取完指令之後了,操作碼要告訴alu進行什麼樣的運算的,而不是指令了

8樓:惰惰先森

計算機載入的第一條肯定是指令,然後根據這條指令去取二進位制數,如果這條指令要取運算元,那麼取出來的就是運算元;如果這條指令要取下一條指令,那麼取出來得就是指令。

把指令和資料分開放是為了安全和邏輯結構清晰。

隨便指令和資料存放的格式一樣,但是訪問他們的時機不同在取指令時期,cpu通過指令流取指令,存放在指令暫存器,然後解釋並執行指令,在執行指令時期,cpu通過資料流取資料,存放在資料暫存器。

所以指令流取的是指令,資料流取的是資料。

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

木木疋 其實這個很簡單的,通過不同的時間段來區分指令和資料,即在取指令階段 或取指微程式 取出的為指令,在執行指令階段 或相應微程式 取出的即為資料。如果通過位址 區分,由pc提供儲存單元位址的取出的是指令,由指令位址碼部分提供儲存單元位址的取出的是運算元。拓展資料 指令和資料都是應用上的概念。組合...

在計算機中CPU是通過什麼匯流排和記憶體交換資料的?

在計算機中cpu是通過資料匯流排和位址匯流排進行的匯流排和記憶體交換資料的,這是啥時候的考題了。資訊傳送是由資料匯流排。資訊定址是由位址匯流排,控制是讀還是寫資訊是由控制匯流排。此題意不清,資訊即資料。資料傳送是需要位址匯流排和資料匯流排配合的。資料傳送之前儲存器還要控制讀寫狀態。只能說資訊傳送是使...

記憶體條在計算機中的作用,記憶體條在計算機中的作用 具體

什麼是記憶體呢?在計算機的組成結構中,有乙個很重要的部分,就是儲存器。儲存器是用來儲存程式和資料的部件,對於計算機來說,有了儲存器,才有記憶功能,才能保證正常工作。儲存器的種類很多,按其用途可分為主儲存器和輔助儲存器,主儲存器又稱記憶體儲器 簡稱記憶體 輔助儲存器又稱外儲存器 簡稱外存 外存通常是磁...