當前位置:首頁 » 服務存儲 » 指令和數據在存儲器中地位相同嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

指令和數據在存儲器中地位相同嗎

發布時間: 2022-10-31 21:56:28

A. 指令和數據都存於存儲器中,計算機如何區分它們

計算機區分指令和數據有以下2種方法:

1、通過不同的時間段來區分指令和數據,即在取指令階段(或取指微程序)取出的為指令,在執行指令階段(或相應微程序)取出的即為數據。

2、通過地址來源區分,由PC提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數。

存儲器中的每段存儲空間都會有一個地址,每個指令都包括一段操作數和一段空間地址,cpu會根據操作數去處理地址所指的數據。

一般計算機先讀取存儲器最開始的內容(這一部分是指令),然後載入操作系統(先是LOADER)後由操作系統對硬碟文件系統結構(即是數據)以判斷其他數據和指令的位置

(1)指令和數據在存儲器中地位相同嗎擴展閱讀:

構成存儲器的存儲介質,存儲元,它可存儲一個二進制代碼。由若干個存儲元組成一個存儲單元,然後再由許多存儲單元組成一個存儲器。一個存儲器包含許多存儲單元,每個存儲單元可存放一個位元組(按位元組編址)。

每個存儲單元的位置都有一個編號,即地址,一般用十六進製表示。一個存儲器中所有存儲單元可存放數據的總和稱為它的存儲容量。

假設一個存儲器的地址碼由20位二進制數(即5位十六進制數)組成,則可表示2的20次方,即1M個存儲單元地址。每個存儲單元存放一個位元組,則該存儲器的存儲容量為1MB。

動態存儲器每片只有一條輸入數據線,而地址引腳只有8條。為了形成64K地址,必須在系統地址匯流排和晶元地址引線之間專門設計一個地址形成電路。

使系統地址匯流排信號能分時地加到8個地址的引腳上,藉助晶元內部的行鎖存器、列鎖存器和解碼電路選定晶元內的存儲單元,鎖存信號也靠著外部地址電路產生。

當要從DRAM晶元中讀出數據時,CPU首先將行地址加在A0-A7上,而後送出RAS鎖存信號,該信號的下降沿將地址鎖存在晶元內部。接著將列地址加到晶元的A0-A7上,再送CAS鎖存信號,也是在信號的下降沿將列地址鎖存在晶元內部。然後保持WE=1,則在CAS有效期間數據輸出並保持。

當需要把數據寫入晶元時,行列地址先後將RAS和CAS鎖存在晶元內部,然後,WE有效,加上要寫入的數據,則將該數據寫入選中的存貯單元。

由於電容不可能長期保持電荷不變,必須定時對動態存儲電路的各存儲單元執行重讀操作,以保持電荷穩定,這個過程稱為動態存儲器刷新。

PC/XT機中DRAM的刷新是利用DMA實現的。首先應用可編程定時器8253的計數器1,每隔1⒌12μs產生一次DMA請求,該請求加在DMA控制器的0通道上。當DMA控制器0通道的請求得到響應時,DMA控制器送出到刷新地址信號,對動態存儲器執行讀操作,每讀一次刷新一行。

參考資料來源:網路-存儲器

B. 指令和數據都存於存儲器中,計算機如何區分它們

計算機區分指令和數據有以下2種方法:

  • 通過不同的時間段來區分指令和數據,即在取指令階段(或取指微程序)取出的為指令,在執行指令階段(或相應微程序)取出的即為數據。

  • 通過地址來源區分,由PC提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數。

C. 程序中的指令、數據是如何在存儲器中存儲的

數據和指令都以二進制代碼的形式存儲在存儲器中,從代碼本身無法區別它是數據還是指令,CPU在取指令時把從存儲器中讀取的信息都看作指令,在讀取數據時把從存儲器中讀取的信息都看成是數據。為了區分運算數據和程序中的指令,程序員在編寫程序時需要知道每個數據的存儲位置以及指令的存儲位置,以避免將指令當作數據或者將數據當作指令.

D. 計算機存儲器中的數據和指令怎樣區分

一般計算機先讀取存儲器最開始的內容(這一部分是指令),然後載入操作系統(先是LOADER)後由操作系統對硬碟文件系統結構(即是數據)以判斷其他數據和指令的位置

E. 存儲器中的指令和數據有區別么

通過不同的時間段來區分指令和數據,即在取指令階段(或取指微程序)取出的為指令,在執行指令階段(或相應微程序)取出的即為數據。
 通過地址來源區分,由PC提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數。

F. 指令和數據都存於存儲器中,計算機如何區分它們

通過不同時間段來區分指令和數據:即在取指令階段取出的是指令,在執行指令階段取出的是數據。

通過地址來源區分:由PC提供存儲單元地址取出的是指令,由指令碼部分提供存儲單元地址取出的是操作數。

存儲器注意事項

編程器要想正確使用,必須安裝列印機驅動程序才行(以便列印埠輸出指令信號),可以隨便安裝一個驅動,大容量存儲器可代替小容量,小容量不可以代替大容量存儲器。

對於AT,ST,BR公司的24系列存儲器,在工作時,其7腳需接低電平。而KOA,KOR,KS公司的24系列存儲器,其7腳需接高電平。否則不能存台。如遇到存儲塊出現只能讀不能寫的情況下,可改變7腳的電平試試(通過10K電阻接電源正極或直接接地)。

G. 指令和數據都存於存儲器中,計算機如何區分它們

有以下2種方法:

方法一:通過不同的時間段來區分指令和數據,即在取指令階段(或取指微程序)取出的為指令,在執行指令階段(或相應微程序)取出的即為數據。

方法二:通過地址來源區分,由PC提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數。

H. 指令和數據在內存中的區分

計算機載入的第一條肯定是指令,然後根據這條指令去取二進制數,如果這條指令要取操作數,那麼取出來的就是操作數;如果這條指令要取下一條指令,那麼取出來得就是指令。
把指令和數據分開放是為了安全和邏輯結構清晰。
隨便指令和數據存放的格式一樣,但是訪問他們的時機不同
在取指令時期,cpu通過指令流取指令,存放在指令寄存器,
然後解釋並執行指令,在執行指令時期,cpu通過數據流取數據,
存放在數據寄存器。
所以指令流取的是指令,數據流取的是數據。
其實很簡單,在取指令周期取得就是指令,讀數據周期讀的就是數據了。

I. 馮.諾依曼計算機工作方式的基本特點是什麼

馮.諾依曼計算機採用二進制形式表示數據和指令:在存儲程序的計算機中,數據和指令都是以二進制形式存儲在存儲器中的。從存儲器存儲的內容來看兩者並無區別.都是由0和1組成的代碼序列,只是各自約定的含義不同而已。

計算機在讀取指令時,把從計算機讀到的信息看作是指令;而在讀取數據時,把從計算機讀到的信息看作是操作數。數據和指令在軟體編制中就已加以區分,所以正常情況下兩者不會產生混亂。

為了控制指令序列的執行順序,設置一個程序(指令)計數器PC(Program Counter),讓它存放當前指令所在的存儲單元的地址。

如果程序現在是順序執行的,每取出一條指令後PC內容加l,指示下一條指令該從何處取得。如果程序將轉移到某處,就將轉移的目標地址送入PC,以便按新地址讀取後繼指令。


(9)指令和數據在存儲器中地位相同嗎擴展閱讀:

局限性

存儲器是線性編址,按順序排列的地址訪問,這是有利於存儲和執行機器語言,適用於數值計算。但高級語言的存儲採用的是一組有名字的變數,是按名字調用變數而非按地址訪問,且高級語言中的每個操作對於任何數據類型都是通用的。

不管採用何種數據結構,多維數組、二叉樹還是圖,最終在存儲器上都必須轉換成一維的線性存儲模型進行存儲。這些因素都導致了機器語言和高級語言之間存在很大的語義差距,這些語義差距之間的映射大部分都要由編譯程序來完成,在很大程度上增加了編譯程序的工作量。

J. 在存儲器中指令和數據在形式上有什麼區別嗎

變數可以存儲在存儲器中的不同位置,這取決於它們的存活。在外部函數中定義的變數(全局變數或靜態外部變數)和函數內部靜態變數的定義,它的生存正在運行的整個過程中,這些變數存儲在,數據段,數據段(datasegment)留在存儲器中的一些固定大小的空間,它分為兩部分這些變數的,其中的一部分被用來初始化一個變數來存儲其他部分被用來存儲一個未初始化的變數。開始,當程序退出塊,直到
當函數中定義的自動變數從程序(不使用定義的關鍵字static變數)的生存開始在一個代碼塊執行它。只存在於調用函數的周期函數的參數作為變數。這些變數被存儲在所述的棧(stack)。堆棧的存儲器空間的一部分,啟動小,然後,直到它到達一個預定義的邊界逐漸自動增加。在DOS下,如沒有虛擬內存(virtualmemory)系統,此限制是由系統決定的,通常是非常大的,所以程序員不必擔心堆棧空間的枯竭。