嵌入式系統存儲器
時間:2018-03-08作者:華清遠見
存儲器概述: 存儲器(Memory)是現代信息技術中用于保存信息的記憶設備。其概念很廣,有很多層次,在數字系統中,只要能保存二進制數據的都可以是存儲器;在集成電路中,一個沒有實物形式的具有存儲功能的電路也叫存儲器,如RAM、FIFO等;在系統中,具有實物形式的存儲設備也叫存儲器,如內存條、TF卡等。計算機中全部信息,包括輸入的原始數據、計算機程序、中間運行結果和最終運行結果都保存在存儲器中。它根據控制器指定的位置存入和取出信息。有了存儲器,計算機才有記憶功能,才能保證正常工作。計算機中的存儲器按用途存儲器可分為主存儲器(內存)和輔助存儲器(外存),也有分為外部存儲器和內部存儲器的分類方法。外存通常是磁性介質或光盤等,能長期保存信息。內存指主板上的存儲部件,用來存放當前正在執行的數據和程序,但僅用于暫時存放程序和數據,關閉電源或斷電,數據會丟失。 存儲器簡介: 存儲器的主要功能是存儲程序和各種數據,并能在計算機運行過程中高速、自動地完成程序或數據的存取。存儲器是具有“記憶”功能的設備,它采用具有兩種穩定狀態的物理器件來存儲信息。這些器件也稱為記憶元件。在計算機中采用只有兩個數碼“0”和“1”的二進制來表示數據。記憶元件的兩種穩定狀態分別表示為“0”和“1”。日常使用的十進制數必須轉換成等值的二進制才能存入存儲器中。計算機中處理的各種字符,例如英文字母、運算符號等,也要轉換成二進制碼才能存儲和操作。 存儲器:存放程序和數據的器件 存儲位:存放一個二進制數位的存儲單元,是存儲器最小的存儲單位,或稱記憶單元 存儲字:一個數(n位二進制位)作為一個整體存入或取出時,稱存儲字 存儲單元:存放一個存儲字的若干個記憶單元組成一個存儲單元 存儲體:大量存儲單元的集合組成存儲體 存儲單元地址:存儲單元的編號 字編址:對存儲單元按字編址 字節編址:對存儲單元按字節編址 尋址:由地址尋找數據,從對應地址的存儲單元中訪存數據。 以存儲體(大量存儲單元組成的陣列)為核心,加上必要的地址譯碼、讀寫控制電路,即為存儲集成電路;再加上必要的I/O接口和一些額外的電路如存取策略管理,則形成存儲芯片,比如手機中常用的存儲芯片。得益于新的IC制造或芯片封裝工藝,現在已經有能力把DRAM和FLASH存儲單元集成在單芯片里。存儲芯片再與控制芯片(負責復雜的存取控制、存儲管理、加密、與其他器件的配合等)及時鐘、電源等必要的組件集成在電路板上構成整機,就是一個存儲產品,如U盤。從存儲單元(晶體管陣列)到存儲集成電路再到存儲設備,都是為了實現信息的存儲,區別是層次的不同。 存儲器構成: 構成存儲器的存儲介質,存儲元,它可存儲一個二進制代碼。由若干個存儲元組成一個存儲單元,然后再由許多存儲單元組成一個存儲器。一個存儲器包含許多存儲單元,每個存儲單元可存放一個字節(按字節編址)。每個存儲單元的位置都有一個編號,即地址,一般用十六進制表示。一個存儲器中所有地址碼存儲單元可存放數據的總和稱為它的存儲容量。假設一個存儲器的由20位二進制數(即5位十六進制)組成,則可表示2的20次方,即1M個存儲單元地址。每個存儲單元存放一個字節,則該存儲器的存儲容量為1MB。 存儲器工作原理: 這里只介紹動態存儲器(DRAM)的工作原理。 動態存儲器每片只有一條輸入數據線,而地址引腳只有8條。為了形成64K地址,必須在系統地址總線和芯片地址引線之間專門設計一個地址形成電路。使系統地址總線信號能分時地加到8個地址的引腳上,借助芯片內部的行鎖存器、列鎖存器和譯碼電路選定芯片內的存儲單元,鎖存信號也靠著外部地址電路產生 當要從DRAM芯片中讀出數據時,CPU首先將行地址加在A0-A7上,而后送出RAS鎖存信號,該信號的下降沿將地址鎖存在芯片內部。接著將列地址加到芯片的A0-A7上,再送CAS鎖存信號,也是在信號的下降沿將列地址鎖存在芯片內部。然后保持WE=1,則在CAS有效期間數據輸出并保持,當需要把數據寫入芯片時,行列地址先后將R存儲器芯片 AS和CAS鎖存在芯片內部,然后,WE有效,加上要寫入的數據,則將該數據寫入選中的存貯單元。 由于電容不可能長期保持電荷不變,必須定時對動態存儲電路的各存儲單元執行重讀操作,以保持電荷穩定,這個過程稱為動態存儲器刷新。PC/XT機中DRAM的刷新是利用DMA實現的。首先應用可編程定時器8253的計數器1,每隔1⒌12μs產生一次DMA請求,該請求加在DMA控制器的0通道上。當DMA控制器0通道的請求得到響應時,DMA控制器送出到刷新地址信號,對動態存儲器執行讀操作,每讀一次刷新一行 存儲器的分類: 按存貯介質 半導體存儲器:用半導體器件組成的存儲器 磁表面存儲器:用磁性材料做成的存儲器 按存儲方式 隨機存儲器:任何存儲單元的內容都能被隨機存儲,且存取時間和存儲單元的物理位置無關。 順序存儲器:只能按照某種順序來存取,存取時間和存儲單元的物理位置有 按讀寫功能 只讀存儲器:存儲的內容是固定不變的,只能讀出而不能寫入的半導體存 隨機讀寫存儲器:既能讀出又能寫入的半導體存儲器。 按信息保存性 非永久記憶的存儲器:斷電后信息即消失的存儲器。 永久記憶的存儲器:斷電后仍能保存信息的存儲器。 按用途 根據存儲器在計算機系統中所起的作用,可分為主存儲器、輔助存儲器、高速緩沖存儲器、控制存儲器等。為了解決對存儲器要求容量大,速度快,成本低三者之間的矛盾,通常采用多級存儲器體系結構,即使用高速緩沖存儲器、主存儲器和外存儲器。 存儲器用途特點: 高速緩存器:cache高速存取指令和數據,存取速度快,但存儲容量小 主存儲器:內存存放計算機運行期間的大量程序和數據,存取速度較快,存儲容量不大。 外存儲器:外存存放系統程序和大型數據文件及數據庫,存儲容量大,位成本低 存儲器原理分類: 按照與CPU的接近程度,存儲器分為內存儲器與外存儲器,簡稱內存與外存。內存儲器又常稱為主存儲器(簡稱主存),屬于主機的組成部分;外存儲器又常稱為輔助存儲器(簡稱輔存),屬于外部設備。CPU不能像訪問內存那樣,直接訪問外存,外存要與CPU或I/O設備進行數據傳輸,必須通過內存進行。在80386以上的高檔微機中,還配置了高速緩沖存儲器(cache),這時內存包括主存與高速緩存器兩部分。對于低檔微機,主存即為內存。 把存儲器分為幾個層次主要基于下述原因: 1、合理解決速度與成本的矛盾,以得到較高的性能價格比。半導體存儲器速度快,但價格高,容量不宜做得很大,因此僅用作與CPU頻繁交流信息的內存儲器。磁盤存儲器價格較便宜,可以把容量做得很大,但存取速度較慢,因此用作存取次數較少,且需存放大量程序、原始數據(許多程序和數據是暫時不參加運算的)和運行結果的外存儲器。計算機在執行某項任務時,僅將與此有關的程序和原始數據從磁盤上調入容量較小的內存,通過CPU與內存進行高速的數據處理,然后將最終結果通過內存再寫入磁盤。這樣的配置價格適中,綜合存取速度則較快。 為解決高速的CPU與速度相對較慢的主存的矛盾,還可使用高速緩存。它采用速度很快、價格更高的半導體靜態存儲器,甚至與微處理器做在一起,存放當前使用最頻繁的指令和數據。當CPU從內存中讀取指令與數據時,將同時訪問高速緩存與主存。如果所需內容在高速緩存中,就能立即獲取;如沒有,再從主存中讀取。高速緩存中的內容是根據實際情況及時更換的。這樣,通過增加少量成本即可獲得很高的速度。 2 使用磁盤作為外存,不僅價格便宜,可以把存儲容量做得很大,而且在斷電時它所存放的信息也不丟失,可以長久保存,且復制、攜帶都很方便 存儲器的選用: 存儲器的類型將決定整個嵌入式系統的操作和性能,因此存儲器的選擇是一個非常重要的決策。無論系統是采用電池供電還是由市電供電,應用需求將決定存儲器的類型(易失性或非易失性)以及使用目的(存儲代碼、數據或者兩者兼有)。另外,在選擇過程中,存儲器的尺寸和成本也是需要考慮的重要因素。對于較小的系統,微控制器自帶的存儲器就有可能滿足系統要求,而較大的系統可能要求增加外部存儲器。為嵌入式系統選擇存儲器類型時,需要考慮一些設計參數,包括微控制器的選擇、電壓范圍、電池壽命、讀寫速度、存儲器尺寸、存儲器的特性、擦除/寫入的耐久性以及系統總成本 ARM的存儲器體系結構: 三級存儲結構:按照與CPU的接近程度分為:第一級:寄存器組、cache 第二級:主存儲器 第三級:輔助存儲器 寄存器組:是封裝在CPU內部,用于存放運算器運算的操作數和結果值的存儲介質。ARM有37個32位長的寄存器,cortex體系結構下有40個32位長的寄存器 Cache:高速緩存器,CPU可以直接訪問,用來存放當前正在執行的程序中的活躍部分,以便快速地向CPU提出指令和數據。 主存儲器:可由CPU直接訪問,用來存放當前正在執行的程序和數據。 輔助存儲器:設置在主機外部,CPU不能直接訪問,用來存放戰時不參與運行的程序和數據,需要時再傳送到主存 相關資訊
發表評論
|