什麼是程序存儲器
① 程序存儲器的原理是什麼啊
程序存儲器(program memory)
用於保存應用程序代碼,同時還可以用於保存程序執行時用到的數據(例如保存查表信息);
單片機內部的程序寄存器一般為1K~64K位元組,通常是只讀存儲器,因為單片機應用系統大多數是專用系統,一旦研製成功,其軟體也就定性,程序固化到只讀存儲器,用只讀存儲器作為程序存儲器,掉電以後程序不會丟失從而提高系統的可靠性;另外,只讀存儲器集成度高、成本低。根據單片機內部程序存儲器類型的不同有可分為下列產品:
(1)ROM行單片機:內部具有工廠淹沒變成的只讀程序儲存器ROM。這種單片機是定製的,一般價格最低,用戶將調試好的程序代碼交給廠商,廠商在製作單片機是把程序固化到ROM內,二用戶是不能修改ROM中代碼的。這種單片機價格最低,但生產周期較長。適用於大批量生產。
(2)EPROM型單片機:內部具有EPROM型程序存儲器,對於有窗口的EPROM型單片機,可以通過紫外線擦除器擦除EPROM中的程序,用變成工具把新的程序代碼寫入EPROM,且可以反復擦除和寫入,使用方便,但價格貴,適合於研製樣機。對於無窗口的EPROM型單片機,只能寫一次,稱為OTP型單片機。OTP型單憑價格也比較低,既適合於樣機研製,也適用於批量生產。
(3)FLASH Memory型單片機:內部含有FLASH Memory型程序存儲器,用戶可以用編程器對FLASH Memory存儲器快速整體擦除和逐個位元組寫入,這種單片機價格也低、使用方便,是目前最流行的單片機。
② 內存、程序存儲器、地址寄存器有什麼區別
先明白定義再說區別和原理:
1、程序存儲器(program storage)
在計算機的主存儲器中專門用來存放程序、子程序的一個區域。
2、指令寄存器(IR ):用來保存當前正在執行的一條指令。當執行一條指令時,先把它從內存取到數據寄存器(DR)中,然後再傳送至IR。指令劃分為操作碼和地址碼欄位,由二進制數字組成。為了執行任何給定的指令,必須對操作碼進行測試,以便識別所要求的操作。指令解碼器就是做這項工作的。指令寄存器中操作碼欄位的輸出就是指令解碼器的輸入。操作碼一經解碼後,即可向操作控制器發出具體操作的特定信號。
3、程序計數器(PC):為了保證程序(在操作系統中理解為進程)能夠連續地執行下去,CPU必須具有某些手段來確定下一條指令的地址。而程序計數器正是起到這種作用,所以通常又稱為指令計數器。在程序開始執行前,必須將它的起始地址,即程序的一條指令所在的內存單元地址送入PC,因此程序計數器(PC)的內容即是從內存提取的第一條指令的地址。當執行指令時,CPU將自動修改PC的內容,即每執行一條指令PC增加一個量,這個量等於指令所含的位元組數,以便使其保持的總是將要執行的下一條指令的地址。由於大多數指令都是按順序來執行的,所以修改的過程通常只是簡單的對PC加1。
當程序轉移時,轉移指令執行的最終結果就是要改變PC的值,此PC值就是轉去的地址,以此實現轉移。有些機器中也稱PC為指令指針IP(Instruction Pointer)
4、地址寄存器:用來保存當前CPU所訪問的內存單元的地址。由於在內存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來保持地址信息,直到內存的讀/寫操作完成為止 。�
當CPU和內存進行信息交換,即CPU向內存存/取數據時,或者CPU從內存中讀出指令時,都要使用地址寄存器和數據緩沖寄存器。同樣,如果我們把外圍設備的設備地址作為像內存的地址單元那樣來看待,那麼,當CPU和外圍設備交換信息時,我們同樣使用 地址寄存器和數據緩沖寄存器
基本上定義就是區別和應用。
③ 程序存儲器是rom還是ram
1. 在單片機中,程序存儲器通常指的是ROM(Read-Only Memory),它包含單片機運行時所需的指令和數據,這些內容在出廠時被寫入,一般情況下用戶無法修改。ROM可以是掩膜ROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)或FLASH類型。
2. 數據存儲器則是RAM(Random-Access Memory),它用於存儲單片機在運行過程中產生的中間結果和臨時數據。RAM是易失性的存儲介質,這意味著當單片機斷電時,其中的數據會被清空。
這兩個存儲器在單片機中扮演著不同的角色,ROM負責存儲固化的程序代碼,而RAM則用於存儲動態生成的數據。