存儲器

存儲器

存儲器單元實際上是時序邏輯電路的一種。按存儲器的使用類型可分為唯讀存儲器(ROM)和隨機存取存儲器(RAM),兩者的功能有較大的區別,因此在描述上也有所不同。

基本介紹

  • 中文名:存儲器
  • 外文名:Memory
  • 用途:用來存放程式和數據
  • 定義:用來存儲數據和指令等的記憶部件
工作原理,特點,分類,結構,存儲系統的層次結構,儲存器的擴展,存儲器組織,存儲管理的目的,存儲器陣列,未來趨勢,

工作原理

存儲器是許多存儲單元的集合,按單元號順序排列。每個單元由若干二進制位構成,以表示存儲單元中存放的數值,這種結構和數組的結構非常相似,故在VHDL語言中,通常由數組描述存儲器。
存儲器是用來存儲程式和各種數據信息的記憶部件。存儲器可分為主存儲器(簡稱主存或記憶體)和輔助存儲器(簡稱輔存或外存)兩大類。和CPU直接交換信息的是主存。
主存的工作方式是按存儲單元的地址存放或讀取各類信息,統稱訪問存儲器。主存中匯集存儲單元的載體稱為存儲體,存儲體中每個單元能夠存放一串二進制碼表示的信息,該信息的總位數稱為一個存儲單元的字長。存儲單元的地址與存儲在其中的信息是一一對應的,單元地址只有一個,固定不變,而存儲在其中的信息是可以更換的。
指示每個單元的二進制編碼稱為地址碼。尋找某個單元時,先要給出它的地址碼。暫存這個地址碼的暫存器叫存儲器地址暫存器(MAR)。為可存放從主存的存儲單元內取出的信息或準備存入某存儲單元的信息,還要設定一個存儲器數據暫存器(MDR)。

特點

計算機的存儲器可分成記憶體儲器和外存儲器。記憶體儲器在程式執行期間被計算機頻繁地使用,並且在一個指令周期期間是可直接訪問的。外存儲器要求計算機從一個外貯藏裝置例如磁帶或磁碟中讀取信息。這與學生在課堂上做筆記相類似。如果學生沒有看筆記就知道內容,信息就被存儲在“記憶體儲器”中。如果學生必須查閱筆記,那么信息就在“外存儲器”中。
記憶體儲器有很多類型。隨機存取存儲器RAM)在計算期間被用作高速暫存記憶區。數據可以在RAM中存儲、讀取和用新的數據代替。當計算機在運行時RAM是可得到的。它包含了放置在計算機此刻所處理的問題處的信息。大多數RAM是“不穩定的”,這意味著當關閉計算機時信息將會丟失。唯讀存儲器(ROM)是穩定的。它被用於存儲計算機在必要時需要的指令集。存儲在ROM內的信息是硬接線的”(即,它是電子元件的一個物理組成部分),且不能被計算機改變(因此稱為“唯讀”)。可變的ROM,稱為可程式唯讀存儲器PROM),可以將其暴露在一個外部電器設備或光學器件(如雷射)中來改變。
數字成像設備中的記憶體儲器必須足夠大以存放至少一幅數字圖像。一幅512 x512 x8位的圖像需要1/4兆位元組。因此,一台處理幾幅這樣的圖像的成像設備需要幾兆位元組的記憶體。
外存儲器用來儲存不是實時成像任務中獲取的圖像,其與計算機有不同的分離層面。已經作出診斷的圖像通常因為法律目的而存儲多年。這些圖像被稱為“歸檔”(如磁帶),它們必須在計算機上重新安裝才能取回信息.硬碟驅動器中的圖像被物理地安裝在計算機上,且能在幾毫秒內被訪問。磁存儲器中單個位被記錄為磁疇,“北極向上”可能意味著1,“北極向下”可能意味著0。
最常用的外存儲器設備以兩種方式之一來存儲信息。磁帶,以大的盤式裝置的形式在20世紀70年代作為計算機存儲的一大支柱,現在則以小而封閉的盒式磁帶的形式成為一種相對便宜的“離線”存儲選擇。儘管它在載入現代錄音磁帶和尋找到感興趣數據的存儲位置時可能花費幾秒甚至幾分鐘,但購買和維修這一存儲媒質的長期花費是較低的。
各種光學存儲器裝置也是可得到的。在光學存儲器裝置中存取一串特定數據所需的時間,可能與在(磁)硬碟存取數據所需的時間一樣短。在光碟某一平滑鏡面上存在著微小的缺陷。在光碟表面燒一個孔洞表示二進制數1,沒有燒孔洞則表示0。燒制而成的光碟是“寫一次,讀多次”(WORM)光碟的實例。這個特徵使得它們適合於長期的檔案存儲,且保持較高的存取速率。直徑是12 cm的盤已經成為音樂錄製和常規PC使用的標準。這些磁碟被稱為“高密度盤”或CD ROM。與CD ROM具有相同大小,但能存儲足夠的數字信息來支持幾小時的高質量視頻的高容量盤,被稱為數字視頻盤(DVD)。DVD正變得流行。有時候根據要求利用機械裝置從一大批光碟中提取和安裝盤。這些裝置被稱為是“自動唱片點唱機”。
存儲器
存儲器

分類

構成存儲器的存儲介質主要採用半導體器件和磁性材料。存儲器中最小的存儲單位就是一個雙穩態半導體電路或一個CMOS電晶體或磁性材料的存儲元,它可存儲一個二進制代碼。由若干個存儲元組成一個存儲單元,然後再由許多存儲單元組成一個存儲器。
根據存儲材料的性能及使用方法的不同,存儲器有幾種不同的分類方法。
1.按存儲介質分類
半導體存儲器:用半導體器件組成的存儲器。
磁表面存儲器:用磁性材料做成的存儲器。
2.按存儲方式分類
隨機存儲器:任何存儲單元的內容都能被隨機存取,且存取時間和存儲單元的物理位置無關。
順序存儲器:只能按某種順序來存取,存取時間與存儲單元的物理位置有關。
3.按存儲器的讀寫功能分類
唯讀存儲器(ROM):存儲的內容是固定不變的,只能讀出而不能寫入的半導體存儲器。
隨機讀寫存儲器(RAM):既能讀出又能寫入的半導體存儲器。
4.按信息的可保存性分類
非永久記憶的存儲器:斷電後信息即消失的存儲器。
永久記憶性存儲器:斷電後仍能保存信息的存儲器。
5.按在計算機系統中的作用分類
主存儲器(記憶體):用於存放活動的程式和數據,其速度高、容量較小、每位價位高。
輔助存儲器(外存儲器):主要用於存放當前不活躍的程式和數據,其速度慢、容量大、每位價位低。
緩衝存儲器:主要在兩個不同工作速度的部件起緩衝作用。
存儲器
存儲系統的分級結構

結構

存儲器結構在MCS - 51系列單片機中,程式存儲器和數據存儲器互相獨立,物理結構也不相同。程式存儲器為唯讀存儲器,數據存儲器為隨機存取存儲器。從物理地址空間看,共有4個存儲地址空間,即片內程式存儲器、片外程式存儲器、片內數據存儲器和片外數據存儲器,I/O接口與外部數據存儲器統一編址。

存儲系統的層次結構

為提高存儲器的性能,通常把各種不同存儲容量、存取速度和價格的存儲器按層次結構組成多層存儲器,並通過管理軟體和輔助硬體有機組合成統一的整體,使所存放的程式和數據按層次分布在各存儲器中。
主要採用三級層次結構來構成存儲系統,由高速緩衝存儲器Cache、主存儲器和輔助存儲器組成。圖中自上向下容量逐漸增大,速度逐級降低,成本則逐次減少。
整個結構可看成主存一輔存和Cache-主存兩個層次。在輔助硬體和計算機作業系統的管理下,可把主存一輔存作為一個存儲整體,形成的可定址存儲空間比主存儲器空間大得多。由於輔存容量大,價格低,使得存儲系統的整體平均價格降低。Cache-主存層次可以縮小主存和CPU之間的速度差距,從整體上提高存儲器系統的存取速度。
一個較大的存儲系統由各種不同類型的存儲設備構成,形成具有多級層次結構的存儲系統。該系統既有與CPU相近的速度,又有極大的容量,而價格又是較低的。可見,採用多級層次結構的存儲器系統可有效地解決存儲器的速度、容量和價格之間的矛盾。
存儲器
存儲器

儲存器的擴展

任何存儲晶片的存儲容量都是有限的。要構成一定容量的記憶體,單個晶片往往不能滿足字長或存儲單元個數的要求,甚至字長和存儲單元數都不能滿足要求。這時,就需要用多個存儲晶片進行組合,以滿足對存儲容量的需求,這種組合就稱為存儲器的擴展。存儲器擴展時要解決的問題主要包括位擴展、字擴展和字位擴展。
異步SRAM的接口是一種非常典型的半導體存儲晶片接口,掌握了它的接口設計方法就意味著掌握了一系列半導體存儲晶片接口的設計方法(包括 NoR Flash、E2PROM等),同時也為學習其他半導體存儲晶片的接口設計打下了基礎。本節以異步SRAM的接口為例,介紹半導體存儲晶片接口設計的基本方法與原則。

存儲器組織

Flash存儲控制器功能包括存儲器組織、啟動選擇、IAP、ISP、片上Flash編程及校驗和計算。在存儲器組織中介紹了Flash存儲控制器映射和系統存儲器映射。Flash存儲控制器包含片上 Flash和 Boot loader片上存儲器是可程式的,包括APRON、 LDROM、數據 Flash和用戶配置區。地址映射包括 Flash存儲映射和5個地址映射:支持IAP功能的 LDROM,不支持IAP功能的 LDROM,支持IAP功能的APRON,不支持IAP功能的 APROM,以及支持IAP功能的 Boot loader。
存儲器
存儲器晶片

存儲管理的目的

存儲管理要實現的目的是為用戶提供方便、安全和充分大的存儲空間。
方便是指將邏輯地址和物理地址分開,用戶只在各自的邏輯地址空間編寫程式,不必過問物理空間和物理地址的細節,地址的轉換由作業系統自動完成;安全是指同時駐留在記憶體的多個用戶進程相互之間不會發生干擾,也不會訪問作業系統所占有的空間;充分大的存儲空間是指利用虛擬存儲技術,從邏輯上對記憶體空間進行擴充,從而可以使用戶在較小的記憶體里運行較大的程式。
存儲器
存儲器層次框圖

存儲器陣列

如何增加磁碟的存取速度,如何防止數據因磁碟的故障而丟失及如何有效地利用磁碟空間,一直是電腦專業人員和用戶的困擾;而大容量磁碟的價格非常昂貴,對用戶形成很大的負擔。磁碟陣列技術的產生一舉解決了這些問題。
過去十多年來,CPU的處理速度幾乎是呈幾何級數的躍升,記憶體(memory)的存取速度亦大幅增加,而數據儲存裝置主要是在與磁碟(hard disk)的存取速度相較之下,較為緩慢。整個I/O吞吐量不能和系統匹配,形成電腦系統的瓶頸,拉低了電腦系統的整體性能。若不能有效地提升磁碟的存取速度,CPU、記憶體及磁碟問的不平衡將使CPU及記憶體的改進形成浪費。
目前改進磁碟存取速度的方式主要有兩種。
一是磁碟快取控制(disk cache controller),它將從磁碟讀取的數據存在快取記憶體(cachememory)中以減少磁碟存取的次數,數據的讀寫都在快取記憶體中進行,大幅增加存取的速度,如要讀取的數據不在快取記憶體中,或要寫數據到磁碟時,才做磁碟的存取動作。這種方式在單工期環境(single-tasking environment)如DOS之下,對大量數據的存取有很好的性能(量小且頻繁的存取則不然),但在多工(multi-tasking)環境之下(因為要不停地做數據交換的動作)或資料庫的存取(因每一記錄都很小)就不能顯示其性能。這種方式沒有任何安全保障。
二是使用磁碟陣列的技術。磁碟陣列是把多個磁碟組成一個陣列,當作單一磁碟使用,它將數據以分段(striping)的方式儲存在不同的磁碟中,存取數據時,陣列中的相關磁碟一起動作,大幅減低數據的存取時間,同時有更佳的空間利用率。磁碟陣列所利用的不同的技術,稱為RAID level,不同的level針對不同的系統及套用,以解決數據安全的問題。
一般高性能的磁碟陣列都是以硬體的形式來達成,進一步把磁碟快取控制及磁碟陣列結合在一個控制器(RAID controller)或控制卡上,針對不同的用戶解決人們對磁碟輸出/輸入系統的四大要求:
(1)增加存取速度;
(2)容錯(fault tolerance),即安全性;
(3)有效利用磁碟空間;
(4)儘量平衡CPU、記憶體及磁碟的性能差異,提高電腦的整體工作性能。
關於磁碟陣列技術的陣列原理,1987年,加州伯克利大學的一位人員發表了名為“磁碟陣列研究”的論文,正式提到了RAID也就是磁碟陣列,論文提出廉價的5.25〞及3.5〞的硬碟也能如大機器上的8”盤一樣能提供大容量、高性能和數據的一致性,並詳述了RAID的技術。
磁碟陣列針對不同的套用,使用不同技術,稱為RAID level。RAID是RedundantArray of Inexpensive Disks的縮寫,每- level代表一種技術。 目前業界公認的標準是RAIDO- RAID5。這個level並不代表技術的高低,leve15並不高於leve13,levell也不低於level4,至於要選擇哪一種RAID level的產品,視用戶的操作環境(operating environment)及套用(application)而定,與level的高低沒有必然的關係。RAIDO沒有安全的保障,但其快速,所以適合高速I/O的系統;RAID1適用於需安全性又要兼顧速度的系統,RAID2及RAID3適用於大型電腦及影像、CAD/CAM等處理;RAID5多用於OLTP,因有金融機構及大型數據處理中心的迫切需要,故使用較多而較有名氣,但也因此形成很多人對磁碟陣列的誤解,以為磁碟陣列非要RAID5不可。RAID4較少使用,和RAID5有其共同之處,但RAID4適合大量數據的存取。其他如RAID6、RAID7,乃至RAID10、RAID50、RAID100等,都是廠商各做各的,並無一致的標準,在此不作說明。
總而言之,RAIDO及RAID1最適合PC伺服器及圖形工作站的用戶,提供最佳的性能及最便宜的價格,以低成本符合市場的需求。RAID2及RAID3適用於大檔案且輸入/輸出需求不頻繁的套用如影像處理及CAD/CAM等;而RAID5則適用於銀行、金融、股市、資料庫等大型數據處理中心的OLTP套用;RAID4與RAID5有相同的特性及套用方式,但其較適用於大型檔案的讀取。

未來趨勢

存儲器是計算機中數據存放的主要介質。隨著近年來的發展, 存儲器的變化日新月異, 各種新型存儲器進入市場, 普及針對新型存儲器的維護方法已經迫在眉睫。
PCRAMMRAMRRAM等更多技術,一系列全新的存儲技術正不斷湧向晶圓廠。而推動這一進程的正是遊戲和移動產品領域的技術進步, 以及雲計算的發展。這些套用都非常重要,它們正在不斷擴展當今主流存儲技術的能力。例如,遊戲套用需要速度極快的主存儲器和高容量的輔助(存儲類)存儲器,從而在用戶渾然不覺的情況下處理數據, 快速管理海量的圖形數據。畢竟,沒人希望在遊戲玩到關鍵時刻,突然遇到意外的卡頓。對於雲計算,其最大的優勢在於能夠通過網路訪問海量數據,而無需將這些數據直接存儲在我們的個人設備上。同樣,速度也至關重要,因為除非必要,沒人願意多等待哪怕一納秒。
隨著數據存儲技術的迅猛發展,用戶對存儲性價比的要求也越來越高,而雲存儲技術無需硬體設備的支持,這就大大增加了存儲的安全性能,用戶也無需對硬體設施進行維護,減少了投入成本,提升存儲效率。
存儲器
半導體存儲器

相關詞條

熱門詞條

聯絡我們