一、基本概念
最熟悉的兩個(gè)詞語(yǔ)應(yīng)該是RAM與ROM,RAM(Random Access Memory)的全名為隨機(jī)存取記憶體,它相當(dāng)于PC機(jī)上的移動(dòng)存儲(chǔ),用來(lái)存儲(chǔ)和保存數(shù)據(jù)的。它在任何時(shí)候都可以讀寫(xiě),RAM通常是作為操作系統(tǒng)或其他正在運(yùn)行程序的臨時(shí)存儲(chǔ)介質(zhì),它的一切都是最好的,唯一缺點(diǎn)斷電一切東西都沒(méi)有了。
一般情況下,現(xiàn)在移動(dòng)設(shè)備也多了,我們叫它內(nèi)存,更通常的叫運(yùn)行內(nèi)存。還有一個(gè)熟悉的詞DDR2或DDR3,后面還會(huì)學(xué)習(xí)到的。
RAM 有兩大類,一種稱為靜態(tài)RAM(Static RAM/SRAM),SRAM速度非???,是目前讀寫(xiě)最快的存儲(chǔ)設(shè)備了,但是它也非常昂貴,所以只在要求很苛刻的地方使用,譬如CPU的一級(jí)緩沖,二級(jí)緩沖。
另一種稱為動(dòng)態(tài)RAM(Dynamic RAM/DRAM),DRAM是通過(guò)在電容器中積累電荷來(lái)保存數(shù)據(jù)的存儲(chǔ)元件,電容器中充電狀態(tài)是1,放電狀態(tài)是0,由于電容器中的電荷在一點(diǎn)時(shí)間后會(huì)衰減,所以DRAM需要定期重新寫(xiě)入數(shù)據(jù)的Refrash操作,DRAM保留數(shù)據(jù)的時(shí)間很短,速度也比SRAM慢,不過(guò)它還是比任何的ROM都要快。
但從價(jià)格上來(lái)說(shuō)DRAM相比SRAM要便宜很多,計(jì)算機(jī)內(nèi)存就是DRAM的。DRAM分為很多種,根據(jù)訪問(wèn)方式和規(guī)格的不同,分為不同的種類常見(jiàn)的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等。
DDR RAM(Double-Date-Rate RAM)也稱作DDR SDRAM,這種改進(jìn)型的RAM和SDRAM是基本一樣的,不同之處在于它可以在一個(gè)時(shí)鐘讀寫(xiě)兩次數(shù)據(jù),這樣就使得數(shù)據(jù)傳輸速度加倍了。
最早的為 FP DRAM,也稱作快頁(yè)內(nèi)存,不過(guò)限于其定時(shí)刷新的工作原理,所以導(dǎo)致這種內(nèi)存的數(shù)據(jù)存取速度并不快。但是這種內(nèi)存卻意外地成為了內(nèi)存發(fā)展承上啟下的關(guān)鍵因素。因?yàn)橹蟮膬?nèi)存規(guī)范,與FP DRAM在工作原理上可謂是非常相似。
隨后EDO RAM出現(xiàn)在眾人面前,這種內(nèi)存也屬于72Pin SIMM內(nèi)存的范疇,不過(guò)由于有著更大的容量和更先進(jìn)的尋址方式,所以在486時(shí)代非常盛行。這種內(nèi)存與FP DRAM原理大致相同,但是由于這種內(nèi)存簡(jiǎn)化了數(shù)據(jù)訪問(wèn)的流程,所以在存取速度上要比傳統(tǒng)的DRAM要快上不少。
速度雖然緩慢,看到了RAM的重要性,出現(xiàn)了SDRAM。而第一代SDRAM被稱為SDR SDRAM(Single Data Rate SDRAM)。64bit的帶寬與當(dāng)時(shí)處理器的總線寬度保持一致,這就表示一條SDRAM就能夠讓電腦正常運(yùn)行,這樣大大地降低了內(nèi)存的購(gòu)買成本。
由于內(nèi)存的傳輸信號(hào)與處理器外頻同步,所以在傳輸速度上,DIMM標(biāo)準(zhǔn)SDRAM要大幅領(lǐng)先于SIMM內(nèi)存。SDRAM出世之時(shí)恰逢Intel和AMD的主頻大戰(zhàn),無(wú)論是主頻、倍頻和外頻都在不斷進(jìn)行變化。倍頻和主頻的提升對(duì)于內(nèi)存來(lái)說(shuō)并不是問(wèn)題,真正的問(wèn)題在于處理器外頻的提高需要SDRAM工作在更高的頻率上。
所以SDRAM的頻率也經(jīng)過(guò)了數(shù)次升級(jí)。從最早的PC66到PC133,從SDRAM頻率的變化就能看出處理器外頻的升級(jí)。而在超頻市場(chǎng)中,為了能夠讓處理器外頻達(dá)到更高的水平,市面上還出現(xiàn)了PC150、PC166等規(guī)格,可以說(shuō)SDRAM在頻率上更加靈活,性能也能夠滿足平臺(tái)的需求。
DDR SDRAM英文名稱為Dual Date Rate SDRAM,從字面意思上也能知道,這種內(nèi)存比第一代的SDR SDRAM多出一倍的傳輸速率。其秘密就在于DDR SDRAM在數(shù)據(jù)傳輸中同時(shí)使用了信號(hào)的上升沿和下降沿,這樣在相同的時(shí)鐘下,DDR SDRAM的傳輸速率得到了成倍的提高。
ROM(Read Only Memory)的全名為唯讀記憶體,它相當(dāng)于PC機(jī)上的硬盤,用來(lái)存儲(chǔ)和保存數(shù)據(jù)。ROM數(shù)據(jù)不能隨意更新,但是在任何時(shí)候都可以讀取。即使是斷電,ROM也能夠保留數(shù)據(jù)。但是資料一但寫(xiě)入后只能用特殊方法或根本無(wú)法更改,但這么久了ROM已經(jīng)有了很大的發(fā)展,不再是最初的摸樣了。
rom最初不能編程,出廠什么內(nèi)容就永遠(yuǎn)什么內(nèi)容,不靈活。后來(lái)出現(xiàn)了prom,可以自己寫(xiě)入一次,要是寫(xiě)錯(cuò)了,只能換一片,自認(rèn)倒霉。人類文明不斷進(jìn)步,終于出現(xiàn)了可多次擦除寫(xiě)入的EPROM,每次擦除要把芯片拿到紫外線上照一下,想一下你往單片機(jī)上下了一個(gè)程序之后發(fā)現(xiàn)有個(gè)地方需要加一句話,為此你要把單片機(jī)放紫外燈下照半小時(shí),然后才能再下一次,這么折騰一天也改不了幾次。
歷史的車輪不斷前進(jìn),偉大的EEPROM出現(xiàn)了,拯救了一大批程序員,終于可以隨意的修改rom中的內(nèi)容了,這一段話就說(shuō)出了ROM的發(fā)展歷程。
狹義的EEPROM:這種rom的特點(diǎn)是可以隨機(jī)訪問(wèn)和修改任何一個(gè)字節(jié),可以往每個(gè)bit中寫(xiě)入0或者1。這是最傳統(tǒng)的一種EEPROM,掉電后數(shù)據(jù)不丟失,可以保存100年,可以擦寫(xiě)100w次。具有較高的可靠性,但是電路復(fù)雜/成本也高。
它的改寫(xiě)是由高電壓或者由控制端的邏輯電平來(lái)完成的。因此目前的EEPROM都是幾十千字節(jié)到幾百千字節(jié)的,絕少有超過(guò)512K的。我們也就發(fā)現(xiàn)了EEPROM的確可以實(shí)現(xiàn)隨意讀寫(xiě),EEPROM的全稱是“電可擦除可編程只讀存儲(chǔ)器”,即Electrically Erasable Programmable Read-Only Memory。
可介紹的這兩種都不存在大容量并且也十分昂貴,那我們平時(shí)見(jiàn)到的幾十G的存儲(chǔ)設(shè)備是什么?flash就應(yīng)運(yùn)而生了。flash屬于廣義的EEPROM,因?yàn)樗彩请姴脸膔om。但是為了區(qū)別于一般的按字節(jié)為單位的擦寫(xiě)的EEPROM,我們都叫它flash。flash做的改進(jìn)就是擦除時(shí)不再以字節(jié)為單位,而是以塊為單位,一次簡(jiǎn)化了電路,數(shù)據(jù)密度更高,降低了成本。上M的rom一般都是flash。
ROM的應(yīng)用
對(duì)數(shù)指數(shù)、三角函數(shù)等常規(guī)計(jì)算通過(guò)寫(xiě)出真值表,將自變量以地址碼的形式輸至ROM,用ROM表來(lái)實(shí)現(xiàn)。還有碼制轉(zhuǎn)換,例如二進(jìn)制碼轉(zhuǎn)格雷碼。脈沖序列發(fā)生器,偽彩色處理電路,也就是將一幅黑白圖像變成彩色圖像顯示,將灰度圖像對(duì)應(yīng)到red , green , blue三個(gè)通道上,最后將三個(gè)通道的顏色值合成為需要顯示的RGB顏色值即可。具體可參考 https://blog.csdn.net/huixingshao/article/details/42706699 。
接下來(lái)說(shuō)一下flash的分類,flash分為nor flash和nand flash。nor flash數(shù)據(jù)線和地址線分開(kāi),可以實(shí)現(xiàn)ram一樣的隨機(jī)尋址功能,可以讀取任何一個(gè)字節(jié)。但是擦除仍要按塊來(lái)擦。nand flash同樣是按塊擦除,但是數(shù)據(jù)線和地址線復(fù)用,不能利用地址線隨機(jī)尋址。
讀取只能按頁(yè)來(lái)讀取。NOR Flash的讀取,用戶可以直接運(yùn)行裝載在NOR FLASH里面的代碼。NAND Flash沒(méi)有采取內(nèi)存RAM的隨機(jī)讀取技術(shù),它的讀取是以一次讀取一塊的形式來(lái)進(jìn)行的,通常是一次讀取512個(gè)字節(jié),采用這種技術(shù)的Flash比較廉價(jià)。
用戶不能直接運(yùn)行NAND Flash上的代碼,因此好多使用NAND Flash的開(kāi)發(fā)板除了使用NAND Flah以外,還作上了一塊小的NOR Flash來(lái)運(yùn)行啟動(dòng)代碼。nandflash引腳上復(fù)用,因此讀取速度比nor flash慢一點(diǎn),但是擦除和寫(xiě)入速度比nor flash快很多。
nand flash內(nèi)部電路更簡(jiǎn)單,因此數(shù)據(jù)密度大,體積小,成本也低。因此大容量的flash都是nand型的。小容量的2~12M的flash多是nor型的。nor flash可以進(jìn)行字節(jié)尋址,所以程序可以在nor flash中運(yùn)行。嵌入式系統(tǒng)多用一個(gè)小容量的nor flash存儲(chǔ)引導(dǎo)代碼,用一個(gè)大容量的nand flash存放文件系統(tǒng)和內(nèi)核。
編輯:jq
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602986 -
DRAM
+關(guān)注
關(guān)注
40文章
2311瀏覽量
183445 -
ROM
+關(guān)注
關(guān)注
4文章
563瀏覽量
85731 -
RAM
+關(guān)注
關(guān)注
8文章
1368瀏覽量
114641 -
EDO
+關(guān)注
關(guān)注
0文章
3瀏覽量
7628
原文標(biāo)題:FPGA中ROM與RAM相關(guān)知識(shí)總結(jié)
文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論