導航:首頁 > 軟體知識 > 計算機如何區分數據與程序

計算機如何區分數據與程序

發布時間:2023-01-12 16:14:38

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

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

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

存儲器注意事項

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

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

B. 在計算機中cpu如何區分指令和數據

在計算機中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)計算機如何區分數據與程序擴展閱讀:

cpu的工作原理:

取指令(IF,instruction fetch),即將一條指令從主存儲器中取到指令寄存器的過程。程序計數器中的數值,用來指示當前指令在主存中的位置。當 一條指令被取出後,PC中的數值將根據指令字長度自動遞增。

指令解碼階段(ID,instruction decode),取出指令後,指令解碼器按照預定的指令格式,對取回的指令進行拆分和解釋,識別區分出不同的指令類 別以及各種獲取操作數的方法。

執行指令階段(EX,execute),具體實現指令的功能。CPU的不同部分被連接起來,以執行所需的操作。

訪存取數階段(MEM,memory),根據指令需要訪問主存、讀取操作數,CPU得到操作數在主存中的地址,並從主存中讀取該操作數用於運算。部分指令不需要訪問主存,則可以跳過該階段。

結果寫回階段(WB,write back),作為最後一個階段,結果寫回階段把執行指令階段的運行結果數據「寫回」到某種存儲形式。

結果數據一般會被寫到CPU的內部寄存器中,以便被後續的指令快速地存取;許多指令還會改變程序狀態字寄存器中標志位的狀態,這些標志位標識著不同的操作結果,可被用來影響程序的動作。

C. 如何區分指令和數據

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

問題二:在計算機中cpu如何區分指令和數據 在存儲程序的計算機中,指令和數據都以二進制的形式存儲在存儲器中。因為他們都是二進制的代碼,所以從存儲器中存儲的內同本身看不出是指令還是數據。計算機在讀取指令時把從存儲器中讀到的信息都看成指令,而在讀取數據的時候則把從存儲器里讀到的信息都看成操作數。

問題三:指令和數據均存放在內存中,計算機如何區分它們是指令還是數據 樓主:
計算機區分指令和數據有以下2種方法:
?通過不同的時間段來區分指令和數據,即在取指令階段(或取指微程序)取出的為指令,在執行指令階段(或相應微程序)取出的即為數據。
?通過地址來源區分,由PC提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數。

問題四:cpu如何區別指令和數據 參考下別人的
分兩個方面說:
1可執行文件的角度:可執行文件分為許多段,一般.text存放代碼,.data段存放數據,不同段是有不同屬性的,例如.text段的屬性是可執行的。這樣就區別了代碼和數據。
亥.CPU指令有一個格式,一個指令包括了操作碼(對應你的指令)和操作數(對應你的數據),而指令本身相對格式是固定的(可能變長)。所以CPU是很容易知道前幾個二進制是什麼指令,而根據這個指令又可以知道後面多少位是第一個數據,後面多少位是第二個數據。然後下一個指令的起始地址是直接存在IP寄存器里的。

問題五:cpu如何區別指令和數據,它們不都是二進制存儲在計算機內么? 分兩個方面說:
1可執行文件的角度:可執行文件分為許多段,一般.text存放代碼,.data段存放數據,不同段是有不同屬性的,例如.text段的屬性是可執行的。這樣就區別了代碼和數據。
2.CPU指令有一個格式,一個指令包括了操作碼(揣應你的指令)和操作數(對應你的數據),而指令本身相對格式是固定的(可能變長)。所以CPU是很容易知道前幾個二進制是什麼指令,而根據這個指令又可以知道後面多少位是第一個數據,後面多少位是第二個數據。然後下一個指令的起始地址是直接存在IP寄存器里的。

問題六:cpu怎樣區別指令和數據 指令周期(也可說是時鍾周期)。
CPU總是先讀取指令,根據指令的要求類型採取讀取數據。

問題七:指令和數據均存放在內存中,計算機如何區分它們是指令還是數據 每個位元組都有一個地址cs指定代碼段ip在代碼段中指定當前要執行的指令 ds指定數據段具體訪問數據由各通用指針寄存器指定,就是要訪問的數據
麻煩採納,謝謝!

問題八:CPU如何區分讀出的代碼是指令還是數據 計算機執行時,先取指令放到指令寄存器中,再分析指令,然後執行指令,根據需要去取數。
cpu給出指令或數據的地址,根據地址去取。我是這么理解的,也不知對不對

問題九:指令和數據都存於存儲器中,計算機如何區分它們? 一般一個應用程序中,有控制命令和數據兩大類,在DOS下,命令通過匯編--編譯,轉換成機器碼,數據存貯在相應的地址中,不會和機器碼起沖突,這是由編譯決定的。而在運行過程中,機器碼和數據均被調入內存,在運行機器碼時,控制命令把寄存器設置成1,運行操作,控制命令把這個寄存器設置成0時,數據就被調入了。以前學的,有點忘了,相關書籍:匯編語言程序設計

D. 計算機如何區分內存中的程序與數據

通常完成一條指令可分為取指階段、分析階段和執行階段。在取指階段通過訪問存儲器可將指令取出;在執行階段通過訪問存儲器可將操作數取出。這樣,雖然指令和數據都是以0、1代碼形式存在存儲器中,但CPU可以判斷出在取指階段訪存取出的0、1代碼是指令;在執行階段訪存取出的0、1代碼是數據。
計算機區分指令和數據有以下2種方法:
 通過不同的時間段來區分指令和數據,即在取指令階段(或取指微程序)取出的為指令,在執行指令階段(或相應微程序)取出的即為數據。
 通過地址來源區分,由PC提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數。

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

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

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

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

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

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

(5)計算機如何區分數據與程序擴展閱讀:

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

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

假設一個存儲器的地址碼由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控制器送出到刷新地址信號,對動態存儲器執行讀操作,每讀一次刷新一行。

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

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

有以下2種方法:

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

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

G. 計算機如何區分指令和數據

區分指令和數據的具體方法:

一、指令用來確定「做什麼」和「怎樣做」,數據是「做」的時候需要原始數。

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

比如:要計算機做1+2=?中,「+」表示要做什麼和怎樣做,1和2則是做的時候需要的原始數。現在假設某CPU中,「+」用二進制「00000001」來表示,「1、2」分別用「00000001、00000010」來表示。那麼,這段程序存入內存中就是這樣的:


XXXX1:00000001

XXXX2:00000001

XXXX3:00000010前面的XXXX1XXXX2

XXXX3表示內存的地址


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


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


對於X86系列CPU(也就是現在人們常用的什麼奔XX、賽XX系列),它的復位地址是FFFF0,如果表示成邏輯地址則是:FFFF:0000。對DEBUG比較熟悉的朋友或者會在一些高級語言中嵌入匯編語言的朋友可以這樣做一個試驗:


用DEBUG執行一條指令(這是一條無條件跳轉指令):jmpFFFF: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為數的基底。二進制字元數據表示法用二進制位序列組成供輸入、處理和輸出用的編碼稱為字元數據。字元數據包括各種運算符號、關系符號、貨幣符號、字母和數字等。

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

網路計算機指令

閱讀全文

與計算機如何區分數據與程序相關的資料

熱點內容
貿易公司代理需要多少服務費 瀏覽:3
選擇什麼程序添加到文件 瀏覽:25
燕窩面膜怎麼做代理 瀏覽:402
lod信息採集是什麼意思 瀏覽:161
程序語言注重什麼 瀏覽:235
為什麼產品密鑰激活不拉 瀏覽:856
數據相關本科專業有哪些 瀏覽:59
algex是什麼程序 瀏覽:161
為什麼數據過大遞歸調試不出來 瀏覽:210
哪裡可以免費獲得電商小程序 瀏覽:517
貴州貴陽市場在哪裡 瀏覽:719
柔性磁電技術有限公司怎麼樣 瀏覽:53
幣客迎是什麼交易所 瀏覽:264
西昌蟲草交易市場在哪裡 瀏覽:145
手機數據授權怎麼設置 瀏覽:447
上課數據如何保存 瀏覽:65
美團交易解鎖是什麼意思 瀏覽:803
什麼叫信息化校園環境 瀏覽:714
商品st數據是什麼意思 瀏覽:218
水肌澳分享如何招代理 瀏覽:607