一、什么是存儲(chǔ)器
存儲(chǔ)器(Memory)是計(jì)算機(jī)系統(tǒng)中的記憶設(shè)備,用來存放程序和數(shù)據(jù)。計(jì)算機(jī)中的全部信息,包括輸入的原始數(shù)據(jù)、計(jì)算機(jī)程序、中間運(yùn)行結(jié)果和最終運(yùn)行結(jié)果都保存在存儲(chǔ)器中。它根據(jù)控制器指定的位置存入和取出信息。
二、存儲(chǔ)器的構(gòu)成
構(gòu)成存儲(chǔ)器的存儲(chǔ)介質(zhì),目前主要采用半導(dǎo)體器件和磁性材料。存儲(chǔ)器中最小的存儲(chǔ)單位就是一個(gè)雙穩(wěn)態(tài)半導(dǎo)體電路或一個(gè)CMOS晶體管或磁性材料的存儲(chǔ)元,它可存儲(chǔ)一個(gè)二進(jìn)制代碼。由若干個(gè)存儲(chǔ)元組成一個(gè)存儲(chǔ)單元,然后再由許多存儲(chǔ)單元組成一個(gè)存儲(chǔ)器。一個(gè)存儲(chǔ)器包含許多存儲(chǔ)單元,每個(gè)存儲(chǔ)單元可存放一個(gè)字節(jié)。每個(gè)存儲(chǔ)單元的位置都有一個(gè)編號,即地址,一般用十六進(jìn)制表示。一個(gè)存儲(chǔ)器中所有存儲(chǔ)單元可存放數(shù)據(jù)的總和稱為它的存儲(chǔ)容量。假設(shè)一個(gè)存儲(chǔ)器的地址碼由20位二進(jìn)制數(shù)(即5位十六進(jìn)制數(shù))組成,則可表示220,即1M個(gè)存儲(chǔ)單元地址。每個(gè)存儲(chǔ)單元存放一個(gè)字節(jié),則該存儲(chǔ)器的存儲(chǔ)容量為1KB。
三、存儲(chǔ)器的分類
(1)半導(dǎo)體存儲(chǔ)器:用半導(dǎo)體器件組成的存儲(chǔ)器。U盤是半導(dǎo)體存儲(chǔ)器,U盤內(nèi)集成的是Flash芯片,存儲(chǔ)介質(zhì)為半導(dǎo)體。
(2)磁表面存儲(chǔ)器:用磁性材料做成的存儲(chǔ)器。
(1)隨機(jī)存儲(chǔ)器:任何存儲(chǔ)單元的內(nèi)容都能被隨機(jī)存取,且存取時(shí)間和存儲(chǔ)單元的物理位置無關(guān)。
(2)順序存儲(chǔ)器:只能按某種順序來存取,存取時(shí)間和存儲(chǔ)單元的物理位置有關(guān)。
(1)只讀存儲(chǔ)器(ROM):存儲(chǔ)的內(nèi)容是固定不變的,只能讀出而不能寫入的半導(dǎo)體存儲(chǔ)器。
(2)隨機(jī)讀寫存儲(chǔ)器(RAM):既能讀出又能寫入的半導(dǎo)體存儲(chǔ)器。
(1)非永久記憶的存儲(chǔ)器:斷電后信息即消失的存儲(chǔ)器。
(2)永久記憶性存儲(chǔ)器:斷電后仍能保存信息的存儲(chǔ)器。
5、按在計(jì)算機(jī)系統(tǒng)中的作用分
根據(jù)存儲(chǔ)器在計(jì)算機(jī)系統(tǒng)中所起的作用,可分為主存儲(chǔ)器、輔助存儲(chǔ)器、高速緩沖存儲(chǔ)器、控制存儲(chǔ)器等。為了解決對存儲(chǔ)器要求容量大,速度快,成本低三者之間的矛盾,目前通常采用多級存儲(chǔ)器體系結(jié)構(gòu),即使用高速緩沖存儲(chǔ)器、主存儲(chǔ)器和外存儲(chǔ)器。
四、存儲(chǔ)器的層次結(jié)構(gòu)
在一個(gè)過程與 SPI 管理器聯(lián)接之前,當(dāng)前存儲(chǔ)器環(huán)境是上層執(zhí)行器環(huán)境,所以所有由過程自身通過 palloc/repalloc 或通過 SPI 應(yīng)用函數(shù)在聯(lián)接到 SPI 管理器之前分配的存儲(chǔ)器都在這個(gè)環(huán)境里.
按照與CPU的接近程度,存儲(chǔ)器分為內(nèi)存儲(chǔ)器與外存儲(chǔ)器,簡稱內(nèi)存與外存。內(nèi)存儲(chǔ)器又常稱為主存儲(chǔ)器(簡稱主存),屬于主機(jī)的組成部分;外存儲(chǔ)器又常稱為輔助存儲(chǔ)器(簡稱輔存),屬于外部設(shè)備。CPU不能像訪問內(nèi)存那樣,直接訪問外存,外存要與CPU或I/O設(shè)備進(jìn)行數(shù)據(jù)傳輸,必須通過內(nèi)存進(jìn)行。在 80386以上的高檔微機(jī)中,還配置了高速緩沖存儲(chǔ)器(cache),這時(shí)內(nèi)存包括主存與高速緩存兩部分。對于低檔微機(jī),主存即為內(nèi)存。
把存儲(chǔ)器分為幾個(gè)層次主要基于下述原因:
1、合理解決速度與成本的矛盾,以得到較高的性能價(jià)格比。半導(dǎo)體存儲(chǔ)器速度快,但價(jià)格高,容量不宜做得很大,因此僅用作與CPU頻繁交流信息的內(nèi)存儲(chǔ)器。磁盤存儲(chǔ)器價(jià)格較便宜,可以把容量做得很大,但存取速度較慢,因此用作存取次數(shù)較少,且需存放大量程序、原始數(shù)據(jù)(許多程序和數(shù)據(jù)是暫時(shí)不參加運(yùn)算的)和運(yùn)行結(jié)果的外存儲(chǔ)器。計(jì)算機(jī)在執(zhí)行某項(xiàng)任務(wù)時(shí),僅將與此有關(guān)的程序和原始數(shù)據(jù)從磁盤上調(diào)入容量較小的內(nèi)存,通過CPU與內(nèi)存進(jìn)行高速的數(shù)據(jù)處理,然后將最終結(jié)果通過內(nèi)存再寫入磁盤。這樣的配置價(jià)格適中,綜合存取速度則較快。
為解決高速的CPU與速度相對較慢的主存的矛盾,還可使用高速緩存。它采用速度很快、價(jià)格更高的半導(dǎo)體靜態(tài)存儲(chǔ)器,甚至與微處理器做在一起,存放當(dāng)前使用最頻繁的指令和數(shù)據(jù)。當(dāng)CPU從內(nèi)存中讀取指令與數(shù)據(jù)時(shí),將同時(shí)訪問高速緩存與主存。如果所需內(nèi)容在高速緩存中,就能立即獲取;如沒有,再從主存中讀取。高速緩存中的內(nèi)容是根據(jù)實(shí)際情況及時(shí)更換的。這樣,通過增加少量成本即可獲得很高的速度。
2、使用磁盤作為外存,不僅價(jià)格便宜,可以把存儲(chǔ)容量做得很大,而且在斷電時(shí)它所存放的信息也不丟失,可以長久保存,且復(fù)制、攜帶都很方便。
五、存儲(chǔ)器管理
服務(wù)器在存儲(chǔ)器環(huán)境按這樣的方法分配存儲(chǔ)器:在某個(gè)環(huán)境分配的存儲(chǔ)器可以被環(huán)境析構(gòu)器釋放而不會(huì)影響其他環(huán)境中分配的存儲(chǔ)器.所有存儲(chǔ)器分配(通過 palloc 等)都被當(dāng)作在當(dāng)前環(huán)境的區(qū)域中分配存儲(chǔ)器.如果你試圖釋放(或再分配)不在當(dāng)前環(huán)境的存儲(chǔ)器,你將得到不可預(yù)料的結(jié)果.創(chuàng)建存儲(chǔ)器環(huán)境和切換存儲(chǔ)器環(huán)境是 SPI 管理器中存儲(chǔ)器管理器的任務(wù).SPI 過程處理兩種存儲(chǔ)器環(huán)境:上層執(zhí)行器存儲(chǔ)器環(huán)境和過程存儲(chǔ)器環(huán)境(如果已聯(lián)接).在一個(gè)過程與 SPI 管理器聯(lián)接之前,當(dāng)前存儲(chǔ)器環(huán)境是上層執(zhí)行器環(huán)境,所以所有由過程自身通過 palloc/repalloc 或通過 SPI 應(yīng)用函數(shù)在聯(lián)接到 SPI 管理器之前分配的存儲(chǔ)器都在這個(gè)環(huán)境里.在進(jìn)行 SPI_connect 調(diào)用之后,當(dāng)前環(huán)境是過程自身所有的.通過 palloc/repalloc 或通過 SPI 應(yīng)用函數(shù)分配的存儲(chǔ)器(除了 SPI_copytuple,SPI_modifytuple,SPI_palloc 和 SPI_repalloc 以外)都在這個(gè)環(huán)境中分配.當(dāng)進(jìn)程與
SPI 管理器斷開(通過調(diào)用 SPI_finish)后,當(dāng)前環(huán)境恢復(fù)為上層執(zhí)行器環(huán)境并且所有在過程存儲(chǔ)器環(huán)境分配的存儲(chǔ)器都被釋放,并且不可繼續(xù)使用!如果你想返回一些東西給上層執(zhí)行器,那么你必須為此在上層環(huán)境分配一片存儲(chǔ)器!SPI 不能自動(dòng)釋放在上層執(zhí)行器環(huán)境里分配的存儲(chǔ)器!SPI 在查詢完成后自動(dòng)釋放查詢執(zhí)行期間的存儲(chǔ)器分配!
是一張數(shù)碼存儲(chǔ)卡,可以是活動(dòng)的,也可以是固定的,用于保存圖像和視頻。
一種緊湊型閃存卡,(Compact Flash Card)。像PC卡那樣插入數(shù)碼相機(jī),它可用適配器,(又稱轉(zhuǎn)接卡),使之適應(yīng)標(biāo)準(zhǔn)的PC卡閱讀器或其他的PC卡設(shè)備。CF存儲(chǔ)卡的部分結(jié)構(gòu)采用強(qiáng)化玻璃及金屬外殼,CF存儲(chǔ)卡采用Standard ATA/IDE接口界面,配備有專門的PCMCIA適配器(轉(zhuǎn)接卡),筆記本電腦的用戶可直接在PCMCIA插槽上使用,使數(shù)據(jù)很容易在數(shù)碼相機(jī)與電腦之間傳遞。
即SecureDigital Card(加密數(shù)字卡), 尺寸大小為:32mm×24mm×2.1mm ,存儲(chǔ)的速度快,體積小巧,目前市面上較多數(shù)數(shù)碼相機(jī)使用這種格式的存儲(chǔ)卡,市場占有率較高。
Micro SD卡又稱TF卡,是更小的SD卡,尺寸大小為:15mm×11mm×1mm,也能以轉(zhuǎn)接器來連接于SD卡插槽中使用。目前市面上較多應(yīng)用在網(wǎng)絡(luò)監(jiān)控?cái)z像頭以及一些小型便攜設(shè)備中。
六、嵌入式應(yīng)用中存儲(chǔ)器類型的選擇技巧
存儲(chǔ)器的類型將決定整個(gè)嵌入式系統(tǒng)的操作和性能,因此存儲(chǔ)器的選擇是一個(gè)非常重要的決策。無論系統(tǒng)是采用電池供電還是由市電供電,應(yīng)用需求將決定存儲(chǔ)器的類型(易失性或非易失性)以及使用目的(存儲(chǔ)代碼、數(shù)據(jù)或者兩者兼有)。另外,在選擇過程中,存儲(chǔ)器的尺寸和成本也是需要考慮的重要因素。對于較小的系統(tǒng),微控制器自帶的存儲(chǔ)器就有可能滿足系統(tǒng)要求,而較大的系統(tǒng)可能要求增加外部存儲(chǔ)器。為嵌入式系統(tǒng)選擇存儲(chǔ)器類型時(shí),需要考慮一些設(shè)計(jì)參數(shù),包括微控制器的選擇、電壓范圍、電池壽命、讀寫速度、存儲(chǔ)器尺寸、存儲(chǔ)器的特性、擦除/寫入的耐久性以及系統(tǒng)總成本。