1. 在計算機中如何區別程序和數據
計算機中的程序和數據區別如下:
1、計算機數據是指所有能輸入到計算機並被計算機程序處理的符號的介質的總稱,計算機程序是指為了得到某種結果而可以由計算機等具有信息處理能力的裝置執行的代碼化指令序列。
2、計算機數據可以被定義為被程序處理的信息。中央處理器有時有一組微指令控制硬體,數據可以是一個有待執行的程序,程序可以編寫成去編寫其它的程序。
(1)計算機內指令和數據如何區分擴展閱讀:
計算機程序通常都具有兩種表現形式:程序的目標代碼,即目標程序,指可體現為一個電脈沖序列的一串二進 制數(由「0」和「1」組成)指令編碼。這種電脈沖序列是 用來驅動計算機工作(以取得某種結果)時的計算機程 序的表現形式。
源程序,指由一系列排列有序的符號化指令或符號化語句。作為符號化的指令序列或語句序列,程序可以用數字、文字及符號表現,並且可以用有形媒體如紙、磁帶、磁碟等把表現加以固定。當一項程序以源代碼的形式開發出來之後,通常可利用計算機系統將其「翻譯」成可供計算機執行的目標代碼。
編寫一個程序去生成另外一個程序的過程被稱之為原編程(Metaprogramming)。它可以被應用於讓程序根據給定數據生成代碼。單一一個程序可能不足以表示給定數據的所有方面。讓一個程序去分析這個數據並生成新的程序去處理數據所有的方面可能會容易一些。Lisp就是一例支持這種編程模式的程序語言。
在神經網路里儲存的權重是一種數據。正是這些權重數據,跟網路的拓撲結構一起,定義了網路的行為。人們通常很難界定這些數據到底表示什麼或者它們是否可以由程序來代替。這個例子以及跟人工智慧相關的其它一些問題進一步考驗程序和數據的區別。
網路–計算機程序
2. 指令和數據都存於存儲器中,計算機如何區分它們
通過不同時間段來區分指令和數據:即在取指令階段取出的是指令,在執行指令階段取出的是數據。
通過地址來源區分:由PC提供存儲單元地址取出的是指令,由指令碼部分提供存儲單元地址取出的是操作數。
存儲器注意事項
編程器要想正確使用,必須安裝列印機驅動程序才行(以便列印埠輸出指令信號),可以隨便安裝一個驅動,大容量存儲器可代替小容量,小容量不可以代替大容量存儲器。
對於AT,ST,BR公司的24系列存儲器,在工作時,其7腳需接低電平。而KOA,KOR,KS公司的24系列存儲器,其7腳需接高電平。否則不能存台。如遇到存儲塊出現只能讀不能寫的情況下,可改變7腳的電平試試(通過10K電阻接電源正極或直接接地)。
3. 計算機如何區分指令和數據
其實這個很簡單的,通過不同的時間段來區分指令和數據,即在取指令階段(或取指微程序)取出的為指令,在執行指令階段(或相應微程序)取出的即為數據。如果通過地址來源區分,由PC提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數。
拓展資料:
指令和數據都是應用上的概念。匯編語言,通過編譯器編譯,最後送給CPU的都是二進制數,那麼CPU在一堆紛繁復雜的二進制,0110000110001中如何區分指令和數據呢?
我們還需要明白以下幾點:
每台機器的指令,其格式和代碼所代表的含義都是硬性規定的,故稱之為面向機器的語言,也稱為機器語言。二進制,作為一種機器碼,計算機可以直接識別,不需要進行任何翻譯。
計算機硬體主要通過不同的時間段來區分指令和數據,即:取指周期(或取指微程序)取出的既為指令,執行周期計算機載入的第一條肯定是指令,然後根據這條指令去取二進制數,如果這條指令要取操作數,那麼取出來的就是操作數;如果這條指令要取下一條指令,那麼取出來得就是指令。
把指令和數據分開放是為了安全和邏輯結構清晰。
雖然指令和數據存放的格式一樣,但是訪問他們的時機不同。在取指令時期,cpu通過指令流取指令,存放在指令寄存器, 然後解釋並執行指令;在執行指令時期,cpu通過數據流取數據, 存放在數據寄存器。 所以指令流取的是指令,數據流取的是數據。
4. 指令和數據均存放在內存中,計算機如何從時間和空間上區分它們是指令還是數據
1.數據區分兩種,一種是 棧數據,和堆數據。
2.而全局變數和靜態變數和常量字元串放在文本區或者叫全局區,
3.並在文本區的隔壁還有一個是指令區,專門放指令
他們分別有一個段基址寄存器指向他們的。所以怎麼之別是不需要你來關心的,是由操作系統和進程tcb塊來管理。