存儲器是計(jì)算機(jī)系統(tǒng)中的記憶設(shè)備,用來存放程序和數(shù)據(jù)。現(xiàn)代計(jì)算機(jī)系統(tǒng)都是以存儲器為中心,計(jì)算機(jī)若要開始工作,必須先把有關(guān)程序和數(shù)據(jù)裝到存儲器中,程序才能開始運(yùn)行。
在程序執(zhí)行過程中,CPU所需的指令要從存儲器中取出,運(yùn)算器所需的原始數(shù)據(jù)要從存儲器中取出,運(yùn)算結(jié)果必須在程序執(zhí)行完畢之前全部寫到存儲器中,各種輸入輸出設(shè)備也直接與存儲器交換數(shù)據(jù)。因此,在計(jì)算機(jī)運(yùn)行過程中,存儲器是各種信息存儲和交換的中心。
存儲器的構(gòu)造及原理
存儲器就是用來存放數(shù)據(jù)的地方。它是利用電平的高低來存放數(shù)據(jù)的,也就是說,它存放的實(shí)際上是電平的高、低,而不是我們所習(xí)慣認(rèn)為的1234這樣的數(shù)字,這樣,我們的一個(gè)謎團(tuán)就解開了,計(jì)算機(jī)也沒什么神秘的嗎。
單片機(jī)里面都有這樣的存儲器,這是一個(gè)存儲器的示意圖:一個(gè)存儲器就象一個(gè)個(gè)的小抽屜,一個(gè)小抽屜里有八個(gè)小格子,每個(gè)小格子就是用來存放“電荷”的,電荷通過與它相連的電線傳進(jìn)來或釋放掉,至于電荷在小格子里是怎樣存的,就不用我們操心了,你能把電線想象成水管,小格子里的電荷就象是水,那就好理解了。存儲器中的每個(gè)小抽屜就是一個(gè)放數(shù)據(jù)的地方,我們稱之為一個(gè)“單元”。
有了這么一個(gè)構(gòu)造,我們就能開始存放數(shù)據(jù)了,想要放進(jìn)一個(gè)數(shù)據(jù)12,也就是00001100,我們只要把第二號和第三號小格子里存滿電荷,而其它小格子里的電荷給放掉就行了。
可是問題出來了,一個(gè)存儲器有好多單元,線是并聯(lián)的,在放入電荷的時(shí)候,會將電荷放入所有的單元中,而釋放電荷的時(shí)候,會把每個(gè)單元中的電荷都放掉,這樣的話,不管存儲器有多少個(gè)單元,都只能放同一個(gè)數(shù),這當(dāng)然不是我們所希望的
因此,要在結(jié)構(gòu)上稍作變化,在每個(gè)單元上有個(gè)控制線,我想要把數(shù)據(jù)放進(jìn)哪個(gè)單元,就給一個(gè)信號這個(gè)單元的控制線,這個(gè)控制線就把開關(guān)打開,這樣電荷就能自由流動(dòng)了,而其它單元控制線上沒有信號,所以開關(guān)不打開,不會受到影響,這樣,只要控制不一樣單元的控制線,就能向各單元寫入不一樣的數(shù)據(jù)了,同樣,如果要某個(gè)單元中取數(shù)據(jù),也只要打開對應(yīng)的控制開關(guān)就行了。
構(gòu)成存儲器的存儲介質(zhì),目前主要采用半導(dǎo)體器件和磁性材料。存儲器中最小的存儲單位可以是一個(gè)雙穩(wěn)態(tài)半導(dǎo)體電路或一個(gè)CMOS晶體管或磁性材料的存儲元,它可存儲一個(gè)二進(jìn)制代碼。這個(gè)二進(jìn)制代碼位是存儲器中最小的存儲單位,稱為一個(gè)存儲位或存儲元,若干個(gè)存儲位可以組成一個(gè)存儲單元,許多存儲單元可以組成一個(gè)存儲器,這些存儲單元的集合也稱為存儲體。
存儲器的種類
根據(jù)存儲材料的性能及使用方法的不同,存儲器可以有各種不同的分類方法。
按存儲介質(zhì)分類
- 1、半導(dǎo)體存儲器
半導(dǎo)體存儲器用半導(dǎo)體器件組成的存儲器。
特點(diǎn):集成度高、容量大、體積小、存取速度快、功耗低、價(jià)格便宜、維護(hù)簡單。
主要分兩大類:雙極型存儲器:TTL型和ECL型.金屬氧化物半導(dǎo)體存儲器(簡稱MOS存儲器):靜態(tài)MOS存儲器和動(dòng)態(tài)MOS存儲器。
- 2、磁存儲器
磁表面存儲器用磁性材料做成的存儲器稱為磁表面存儲器,它包括磁盤存儲器、
磁帶存儲器等。
特點(diǎn):體積大、生產(chǎn)自動(dòng)化程度低、存取速度慢,但存儲容量比半導(dǎo)體存儲器大得多且不易丟失。
- **3、激光存儲器 **
信息以刻痕的形式保存在盤面上,用激光束照射盤面,靠盤面的不同反射率來讀出信息??煞譃橹蛔x型光盤(CD-ROM)、只寫一次型光盤(WORM)和磁光盤(MOD)三種。
按存取方式分類
- 1、隨機(jī)存儲器(RAM)
如果存儲器中任何存儲單元的內(nèi)容都能被隨機(jī)存取,且存取時(shí)間與存儲單元的物理位置無關(guān),則這種存儲器稱為隨機(jī)存儲器(RAM)。
RAM主要用來存放各種輸入/輸出的程序、數(shù)據(jù)、中間運(yùn)算結(jié)果以及存放與外界交換的信息和做堆棧用。隨機(jī)存儲器主要充當(dāng)高速緩沖存儲器和主存儲器。
- 2、串行訪問存儲器(SAS)
如果存儲器只能按某種順序來存取,也就是說,存取時(shí)間與存儲單元的物理位置有關(guān),則這種存儲器稱為串行訪問存儲器。
串行存儲器又可分為順序存取存儲器(SAM)和直接存取存儲器(DAM)。順序存取存儲器是完全的串行訪問存儲器,如磁帶,信息以順序的方式從存儲介質(zhì)的始端開始寫入(或讀出);直接存取存儲器是部分串行訪問存儲器,如磁盤存儲器,它介于順序存取和隨機(jī)存取之間。
- 3、只讀存儲器(ROM)
只讀存儲器是一種對其內(nèi)容只能讀不能寫入的存儲器,即預(yù)先一次寫入的存儲器。通常用來存放固定不變的信息。如經(jīng)常用作微程序控制存儲器。
目前已有可重寫的只讀存儲器。常見的有掩模ROM(MROM),可擦除可編程ROM(EPROM),電可擦除可編程ROM(EEPROM)。ROM的電路比RAM的簡單、集成度高,成本低,且是一種非易失性存儲器,計(jì)算機(jī)常把一些管理、監(jiān)控程序、成熟的用戶程序放在ROM中。
按信息的可保存性分類
非永久記憶的存儲器:斷電后信息就消失的存儲器,如半導(dǎo)體讀/寫存儲器RAM。
永久性記憶的存儲器:斷電后仍能保存信息的存儲器,如磁性材料做成的存儲器以及半導(dǎo)體ROM。
**按在計(jì)算機(jī)系統(tǒng)中的作用分 **
根據(jù)存儲器在計(jì)算機(jī)系統(tǒng)中所起的作用,可分為主存儲器、輔助存儲器、高速緩沖存儲器、控制存儲器等。為了解決對存儲器要求容量大,速度快,成本低三者之間的矛盾,目前通常采用多級存儲器體系結(jié)構(gòu),即使用高速緩沖存儲器、主存儲器和外存儲器。
存儲器的分級結(jié)構(gòu)
一個(gè)存儲器的性能通常用速度、容量、價(jià)格三個(gè)主要指標(biāo)來衡量。計(jì)算機(jī)對存儲器的要求是容量大、速度快、成本低,需要盡可能地同時(shí)兼顧這三方面的要求。但是一般來講,存儲器速度越快,價(jià)格也越高,因而也越難滿足大容量的要求。目前通常采用多級存儲器體系結(jié)構(gòu),使用高速緩沖存儲器、主存儲器和外存儲器。
CPU能直接訪問的存儲器稱為內(nèi)存儲器(簡稱內(nèi)存),包括高速緩沖存儲器和主存儲器。CPU不能直接訪問的存儲器稱為外存儲器(簡稱外存,也叫輔助存儲器),外存的信息必須調(diào)入內(nèi)存才能被CPU使用。
高速緩沖存儲器(Cache)是計(jì)算機(jī)系統(tǒng)中的一個(gè)高速、小容量的半導(dǎo)體存儲器,它位于高速的CPU和低速的主存之間,用于匹配兩者的速度,達(dá)到高速存取指令和數(shù)據(jù)的目的。和主存相比,Cache的存取速度快,但存儲容量小。
主存儲器,簡稱主存,是計(jì)算機(jī)系統(tǒng)的主要存儲器,用來存放計(jì)算機(jī)正在執(zhí)行的大量程序和數(shù)據(jù),主要由MOS半導(dǎo)體存儲器組成。
外存儲器,簡稱外存,是計(jì)算機(jī)系統(tǒng)的大容量輔助存儲器,用于存放系統(tǒng)中的程序、數(shù)據(jù)文件及數(shù)據(jù)庫。與主存相比,外存的特點(diǎn)是存儲容量大,位成本低,但訪問速度慢。目前,外存儲器主要有磁盤存儲器、磁帶存儲器和光盤存儲器。
由Cache和主存儲器構(gòu)成的Cache-主存系統(tǒng),其主要目標(biāo)是利用與CPU速度接近的Cache來高速存取指令和數(shù)據(jù)以提高存儲器的整體速度,從CPU角度看,這個(gè)層次的速度接近Cache,而容量和每一位的價(jià)格則接近主存;由主存和外存構(gòu)成的虛擬存儲器系統(tǒng),其主要目的是增加存儲器的容量,從整體上看,其速度接近于主存的速度,其容量則接近于外存的容量。
計(jì)算機(jī)存儲系統(tǒng)的這種多層次結(jié)構(gòu),很好地解決了容量、速度、成本三者之間的矛盾。這些不同速度、不同容量、不同價(jià)格的存儲器,用硬件、軟件或軟硬件結(jié)合的方式連接起來,形成一個(gè)系統(tǒng)。這個(gè)存儲系統(tǒng)對應(yīng)用程序員而言是透明的,在應(yīng)用程序員看來它是一個(gè)存儲器,其速度接近于最快的那個(gè)存儲器,存儲容量接近于容量最大的那個(gè)存儲器,單位價(jià)格則接近最便宜的那個(gè)存儲器。
半導(dǎo)體存儲芯片
半導(dǎo)體存儲器芯片按照讀寫功能可分為隨機(jī)讀寫存儲器(Random Access Memory,RAM)和只讀存儲器(Read Only Memory,ROM)兩大類。RAM可讀可寫,斷電時(shí)信息會丟失;ROM中的內(nèi)容只能讀出,不能寫入,信息可永久保存,不會因?yàn)閿嚯姸鴣G失。
隨機(jī)讀寫存儲器
目前廣泛使用的半導(dǎo)體隨機(jī)讀寫存儲器是MOS半導(dǎo)體存儲器,按保存數(shù)據(jù)的機(jī)理分為靜態(tài)存儲器(Static RAM,SRAM)和動(dòng)態(tài)存儲器(Dynamic RAM,DRAM)。
- 1、靜態(tài)存儲器(SRAM)
利用雙穩(wěn)態(tài)觸發(fā)器來保存信息,只要不斷電信息就不會丟失。靜態(tài)存儲器的集成度低,成本高,功耗較大,通常作為Cache的存儲體。
- 2、動(dòng)態(tài)存儲器(DRAM)
利用MOS電容存儲電荷來保存信息,使用時(shí)需要不斷給電容充電才能保持信息。動(dòng)態(tài)存儲器電路簡單,集成度高,成本低,功耗小,但需要反復(fù)進(jìn)行刷新(Refresh)操作,工作速度較慢,適合作為主存儲器的主體部分。
刷新操作:為防止存儲的信息電荷泄漏而丟失信息,由外界按一定規(guī)律不斷地給柵極進(jìn)行充電,補(bǔ)足柵極的信息電荷。
DRAM工作時(shí)必須要有刷新控制電路,操作比較復(fù)雜。由于要不間斷地進(jìn)行刷新,故稱這種存儲器為動(dòng)態(tài)存儲器。動(dòng)態(tài)MOS存儲器主要采用“讀出”的方式進(jìn)行刷新,依次讀出存儲器的每一行,就可完成對整個(gè)DRAM的刷新。
DRAM存儲器的刷新需要有硬件線路的支持,這些控制線路可以集成在一個(gè)半導(dǎo)體芯片上,形成DRAM控制器。借助于DRAM控制器,可以把DRAM當(dāng)作SRAM一樣使用,從而為系統(tǒng)設(shè)計(jì)帶來很大的方便。
- 3、增強(qiáng)型DRAM(EDRAM)
EDRAM芯片是在DRAM芯片上集成一個(gè)高速小容量的SRAM芯片而構(gòu)成的,這個(gè)小容量的SRAM芯片起到高速緩存的作用,從而使DRAM芯片的性能得到顯著改進(jìn)。
當(dāng)CPU從主存DRAM中讀取數(shù)據(jù)時(shí),會將包含此數(shù)據(jù)的整個(gè)數(shù)據(jù)塊都寫入高速緩存SRAM內(nèi),下次讀取連續(xù)地址數(shù)據(jù)時(shí),CPU就可以從這個(gè)SRAM中直接取用,而不必到較慢的DRAM中讀取,如此即可加快CPU的存取速度。
將由若干EDRAM芯片組成的存儲模塊做成小電路插件板形式,就是目前普遍使用的內(nèi)存條。
只讀存儲器
只讀存儲器ROM是一種存儲固定信息的存儲器,其特點(diǎn)是在正常工作狀態(tài)下只能讀取數(shù)據(jù),不能即時(shí)修改或重新寫入數(shù)據(jù)。
只讀存儲器電路結(jié)構(gòu)簡單,且存放的數(shù)據(jù)在斷電后不會丟失,特別適合于存儲永久性的、不變的程序代碼或數(shù)據(jù)(如常數(shù)表、函數(shù)、表格和字符等),計(jì)算機(jī)中的自檢程序就是固化在ROM中的。
ROM的最大優(yōu)點(diǎn)是具有不易失性。
只讀存儲器有不可重寫只讀存儲器(MROM、PROM)和可重寫只讀存儲器(EPROM、EEPROM、閃速存儲器等)兩大類。
不可重寫只讀存儲器
- 1、掩模只讀存儲器(MROM)
掩模只讀存儲器,又稱固定ROM。這種ROM在制造時(shí),生產(chǎn)廠家利用掩模(Mask)技術(shù)把信息寫入存儲器中,使用時(shí)用戶無法更改,適宜大批量生產(chǎn)。
掩模只讀存儲器可分為二極管ROM、雙極型三極管ROM和MOS管ROM三種類型。
- 2、可編程只讀存儲器(PROM)
可編程只讀存儲器(Programmable ROM,簡稱PROM),是可由用戶一次性寫入信息的只讀存儲器,是在MROM的基礎(chǔ)上發(fā)展而來的。
PROM的缺點(diǎn)是用戶只能寫入一次數(shù)據(jù),一經(jīng)寫入就不能再更改。
可重寫只讀存儲器
這類ROM由用戶寫入數(shù)據(jù)(程序),當(dāng)需要變動(dòng)時(shí)還可以進(jìn)行修改,使用起來比較方便。可重寫ROM有紫外線擦除EPROM、電擦除EEPROM和閃速存儲器Flash ROM三種類型。
- 1、光擦可編程只讀存儲器(EPROM)
EPROM 的特點(diǎn)是其中的內(nèi)容可以用特殊的裝置進(jìn)行擦除和重寫。EPROM出廠時(shí),其存儲內(nèi)容為全“1”,用戶可根據(jù)需要改寫為“0”,當(dāng)需要更新存儲內(nèi)容時(shí),可將原存儲內(nèi)容擦除(恢復(fù)為全“1”),以便寫入新的內(nèi)容。
EPROM一般是將芯片置于紫外線下照射15~20分鐘左右,以擦除其中的內(nèi)容,然后用專用的設(shè)備(EPROM寫入器)將信息重新寫入,一旦寫入則相對固定。
在閃速存儲器大量應(yīng)用之前,EPROM常用于軟件開發(fā)過程中。
- 2、電擦可編程只讀存儲器(EEPROM或E2PROM)
用紫外線擦除EPROM的操作復(fù)雜,速度很慢。EEPROM可以用電氣方法將芯片中的存儲內(nèi)容擦除,擦除時(shí)間較快,甚至可以在聯(lián)機(jī)狀態(tài)下操作。
EEPROM既可使用字擦除方式又可使用塊擦除方式,使用字擦除方式可擦除一個(gè)存儲單元,使用塊擦除方式可擦除數(shù)據(jù)塊中所有存儲單元。
- 3、閃速存儲器(Flash ROM)
閃速存儲器Flash ROM是20世紀(jì)80年代中期出現(xiàn)的一種塊擦寫型存儲器,是一種高密度、非易失性的讀/寫半導(dǎo)體存儲器,它突破了傳統(tǒng)的存儲器體系,改善了現(xiàn)有存儲器的特性。
Flash ROM中的內(nèi)容或數(shù)據(jù)不像RAM一樣需要電源支持才能保存,但又像RAM一樣具有可重寫性。在某種低電壓下,其內(nèi)部信息可讀不可寫,類似于ROM,而在較高的電壓下,其內(nèi)部信息可以更改和刪除,類似于RAM。
Flash ROM 可以用軟件在PC機(jī)中改寫或在線寫入,信息一旦寫入即相對固定。因此,在PC 機(jī)中可用于存儲主板的BIOS程序。由于能進(jìn)行改寫,便于用戶自行升級BIOS,但這也給病毒以可乘之機(jī),著名的CIH病毒正是利用這個(gè)特點(diǎn)來破壞BIOS,從而導(dǎo)致整個(gè)系統(tǒng)癱瘓的。
另外,由于單片存儲容量大,易于修改,F(xiàn)lash ROM也常用于數(shù)碼相機(jī)和U盤中,因其具有低功耗、高密度等特點(diǎn),且沒有機(jī)電移動(dòng)裝置,特別適合于便攜式設(shè)備。
FLASH存儲器
隨著電子世界的發(fā)展,出現(xiàn)了FLASH存儲器,F(xiàn)LASH存儲器又稱閃存,它結(jié)合了ROM和RAM的長處,不僅具備電子可擦除可編程(EEPROM)的性能,還不會斷電丟失數(shù)據(jù)同時(shí)可以快速讀取數(shù)據(jù) (NVRAM的優(yōu)勢),U盤和MP3里用的就是這種存儲器。
在過去的20年里,嵌入式系統(tǒng)一直使用ROM(EPROM)作為它們的存儲設(shè)備,然而近年來 Flash全面代替了ROM(EPROM)在嵌入式系統(tǒng)中的地位,用作存儲Bootloader以及操作系統(tǒng)或者程序代碼或者直接當(dāng)硬盤使用(U盤)。
目前Flash主要有兩種NOR Flash和NADN Flash
NOR Flash的讀取和我們常見的SDRAM的讀取是一樣,用戶可以直接運(yùn)行裝載在NOR FLASH里面的代碼,這樣可以減少SRAM的容量從而節(jié)約了成本。
NAND Flash沒有采取內(nèi)存的隨機(jī)讀取技術(shù),它的讀取是以一次讀取一塊的形式來進(jìn)行的,通常是一次讀取512個(gè)字節(jié),采用這種技術(shù)的Flash比較廉價(jià)。用戶不能直接運(yùn)行NAND Flash上的代碼,因此好多使用NAND Flash的開發(fā)板除了使用NAND Flah以外,還作上了一塊小的NOR Flash來運(yùn)行啟動(dòng)代碼。
一般小容量的用NOR Flash,因?yàn)槠渥x取速度快,多用來存儲操作系統(tǒng)等重要信息,而大容量的用NAND FLASH,最常見的NAND FLASH應(yīng) 用是嵌入式系統(tǒng)采用的DOC(Disk On Chip)和我們通常用的"閃盤",可以在線擦除。
- NAND Flash和NOR Flash的比較
NOR和NAND是現(xiàn)在市場上兩種主要的非易失閃存技術(shù)。Intel于1988年首先開發(fā)出NOR flash技術(shù),徹底改變了原先由EPROM和EEPROM一統(tǒng)天下的局面。緊接著,1989年,東芝公司發(fā)表了NAND flash結(jié)構(gòu),強(qiáng)調(diào)降低每比特的成本,更高的性能,并且象磁盤一樣可以通過接口輕松升級。
“flash存儲器”經(jīng)??梢耘c“NOR存儲器”互換使用。大多數(shù)情況下閃存只是用來存儲少量的代碼,這時(shí)NOR閃存更適合一些。而NAND則是高數(shù)據(jù)存儲密度的理想解決方案。
NOR是現(xiàn)在市場上主要的非易失閃存技術(shù)。NOR主要應(yīng)用在代碼存儲介質(zhì)中。NOR的特點(diǎn)是應(yīng)用簡單、無需專門的 接口電路、傳輸效率高,它是屬于芯片內(nèi)執(zhí)行(XIP, eXecute In Place),這樣應(yīng)用程序可以直接在(NOR型)flash閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中。
虛擬存儲器
當(dāng)代計(jì)算機(jī)系統(tǒng)的主存主要由半導(dǎo)體存儲器組成,由于工藝和成本的原因,主存的容量受到限制。然而,計(jì)算機(jī)系統(tǒng)軟件和應(yīng)用軟件的功能不斷增強(qiáng),程序規(guī)模迅速擴(kuò)大,要求主存的容量越大越好,這就產(chǎn)生了矛盾。
為了給大的程序提供方便,使它們擺脫主存容量的限制,可以由操作系統(tǒng)把主存和輔存這兩級存儲系統(tǒng)管理起來,實(shí)現(xiàn)自動(dòng)覆蓋。
也就是說,一個(gè)大作業(yè)在執(zhí)行時(shí),其一部分地址空間在主存,另一部分在輔存,當(dāng)所訪問的信息不在主存時(shí),則由操作系統(tǒng)而不是程序員來安排I/O指令,把信息從輔存調(diào)入主存。
從效果上來看,好像為用戶提供了一個(gè)存儲容量比實(shí)際主存大得多的存儲器,用戶無需考慮所編程序在主存中是否放得下或放在什么位置等問題。我們稱這種存儲器為虛擬存儲器。
虛擬存儲器只是一個(gè)容量非常大的存儲器的邏輯模型,不是任何實(shí)際的物理存儲器。它借助于磁盤等輔助存儲器來擴(kuò)大主存容量,使之為更大或更多的程序所使用。虛擬存儲器指的是主存-外存層次,它以透明的方式為用戶提供了一個(gè)比實(shí)際主存空間大得多的程序地址空間。
-
存儲器
+關(guān)注
關(guān)注
38文章
7513瀏覽量
163987 -
cpu
+關(guān)注
關(guān)注
68文章
10878瀏覽量
212162 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7518瀏覽量
88190
發(fā)布評論請先 登錄
相關(guān)推薦
評論