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