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