Keil中儲存器型別和儲存器模型

2021-10-05 12:36:30 字數 1070 閱讀 6346

c51編譯器支援8051及其派生器件結構並提供對8051所有儲存區的訪問。每個變數可以明確地分配到指定儲存空間。對內部資料儲存器的訪問比對外部資料的訪問快許多。因此,應當將頻繁使用的變數放在內部儲存器,而把較少使用的變數放在外部儲存器中。

變數的定義包括了儲存器型別的指定,可以指定變數存放的位置。

儲存器型別

描述code

程式儲存器(64k位元組);通過操作碼movc @a+dptr進行訪問

data

直接定址內部資料儲存器;對變數的最快訪問(128位元組)

idata

間接定址內部資料儲存器;訪問整個內部位址空間(256位元組)

bdata

位定址內部資料儲存器;允許位和位元組混合定址(16位元組)

xdata

外部資料儲存器(64k位元組);通過movx @dptr 訪問

pdata

頁外部資料儲存器(256位元組);通過movx @rn訪問

儲存器模型決定用於函式自變數、自動變數和沒有明確儲存型別的變數的預設儲存器型別。在命令列中使用small、compactlarge控制命令指定儲存器型別。

在該模型中,所有變數都預設位於8051內部資料儲存器。這和使用data指定儲存器型別的方式一樣。此模型對於變數訪問的效率很高,彈所有的資料物件和堆疊必須適合內部ram。堆疊的大小很關鍵。因為使用的堆疊空間是由不同函式巢狀的深度決定的。通常,如果bl51聯結器/定位器都將變數都配置在內部資料儲存器內,small模型是最佳選擇。

使用compact模型,所有變數都預設在外部資料儲存器的一頁內。這和使用pdata指定儲存器型別一樣。該儲存器型別適用於變數不超過256個位元組。此限制是由定址方式所決定的。該儲存器型別的效率低於small模型。對變數的訪問速度要慢一些,但比large模型快。位址的高位元組通常通過口2設定。編譯器沒有設定該口。

在large模型中,所有變數都預設位於外部資料儲存器。這個使用xdata指定儲存器型別一樣。使用資料指標(dptr)進行定址。通過資料指標訪問外部資料儲存器的效率較低。特別是當變數為2個位元組或更多位元組時,該模型的資料訪問比small和compact產生更多的**。

ARM中儲存器的介紹

1 sram sram是英文static ram的縮寫,它是一種具有靜止訪問功能的記憶體,不需要重新整理電路即能儲存它內部儲存的資料。不像dram記憶體那樣需要重新整理電路,每隔一段時間,固定要對dram重新整理充電一次,否則內部的資料即會消失,因此sram具有較高的效能,但是sram也有它的缺點,...

儲存器的型別

兩類儲存器 讀寫型的儲存器和唯讀型的儲存器 讀寫型的儲存器,常被稱為隨機訪問儲存器 ram random access memory 可把資料存入其中任一位址單元,並可在以後的任何時候把資料讀出,或者重新存入新的資料的一種儲存器 ram主要用作存放隨機訪問的程式的資料 唯讀型的儲存器 稱為唯讀儲存器...

唯讀儲存器和閃速儲存器

一 唯讀儲存器rom 掩膜式唯讀儲存器 資料在晶元製造過程中寫入。prom 一次可程式設計唯讀儲存器。eprom 光擦除可程式設計rom,通過紫外線擦除。eeprom 電擦除程式設計rom,可通過電擦除。二 閃速儲存器 flash memory 1 閃速儲存器及其特點 閃速儲存器是一種高密度 非易失...