FPGA中ROM與RAM相關知識總結(五)

2022-07-26 03:18:10 字數 3750 閱讀 6997

把看到的關於儲存的一些東西整理一下,有些話來自於網友,所以還是那句話,看到的人要帶著自己的思考去看,記住盡信書不如無書,fighting!!!

一、基本概念

最熟悉的兩個詞語應該是ram與rom,ram(random access memory)的全名為隨機訪問記憶體,它相當於pc機上的移動儲存,用來儲存和儲存資料的。它在任何時候都可以讀寫,ram通常是作為作業系統或其他正在執行程式的臨時儲存介質,它的一切都是最好的,唯一缺點斷電一切東西都沒有了。一般情況下,現在移動裝置也多了,我們叫它記憶體,更通常的叫執行記憶體。還有乙個熟悉的詞ddr2或ddr3,後面還會學習到的。

ram有兩大類,一種稱為靜態ram(static ram/sram),sram速度非常快,是目前讀寫最快的儲存裝置了,但是它也非常昂貴,所以只在要求很苛刻的地方使用,譬如cpu的一級緩衝,二級緩衝。另一種稱為動態ram(dynamic ram/dram),dram是通過在電容器中積累電荷來儲存資料的儲存元件,電容器中充電狀態是1,放電狀態是0,由於電容器中的電荷在一點時間後會衰減,所以dram需要定期重新寫入資料的refrash操作,dram保留資料的時間很短,速度也比sram慢,不過它還是比任何的rom都要快,但從**上來說dram相比sram要便宜很多,計算機記憶體就是dram的。 dram分為很多種,根據訪問方式和規格的不同,分為不同的種類常見的主要有fpram/fastpage、edoram、sdram、ddr ram、rdram、sgram以及wram等。ddr ram(double-date-rate ram)也稱作ddr sdram,這種改進型的ram和sdram是基本一樣的,不同之處在於它可以在乙個時鐘讀寫兩次資料,這樣就使得資料傳輸速度加倍了。

最早的為fp dram,也稱作快頁記憶體,不過限於其定時重新整理的工作原理,所以導致這種記憶體的資料訪問速度並不快。但是這種記憶體卻意外地成為了記憶體發展承上啟下的關鍵因素。因為之後的記憶體規範,與fp dram在工作原理上可謂是非常相似。隨後edo ram出現在眾人面前,這種記憶體也屬於72pin simm記憶體的範疇,不過由於有著更大的容量和更先進的定址方式,所以在486時代非常盛行。這種記憶體與fp dram原理大致相同,但是由於這種記憶體簡化了資料訪問的流程,所以在訪問速度上要比傳統的dram要快上不少。速度雖然緩慢,看到了ram的重要性,出現了sdram。而第一代sdram被稱為sdr sdram(single data rate sdram)。64bit的頻寬與當時處理器的匯流排寬度保持一致,這就表示一條sdram就能夠讓電腦正常執行,這樣大大地降低了記憶體的購買成本。由於記憶體的傳輸訊號與處理器外頻同步,所以在傳輸速度上,dimm標準sdram要大幅領先於simm記憶體。sdram出世之時恰逢intel和amd的主頻大戰,無論是主頻、倍頻和外頻都在不斷進行變化。倍頻和主頻的提公升對於記憶體來說並不是問題,真正的問題在於處理器外頻的提高需要sdram工作在更高的頻率上。所以sdram的頻率也經過了數次公升級。從最早的pc66到pc133,從sdram頻率的變化就能看出處理器外頻的公升級。而在超頻市場中,為了能夠讓處理器外頻達到更高的水平,市面上還出現了pc150、pc166等規格,可以說sdram在頻率上更加靈活,效能也能夠滿足平台的需求。ddr sdram英文名稱為dual date rate sdram,從字面意思上也能知道,這種記憶體比第一代的sdr sdram多出一倍的傳輸速率。其秘密就在於ddr sdram在資料傳輸中同時使用了訊號的上公升沿和下降沿,這樣在相同的時鐘下,ddr sdram的傳輸速率得到了成倍的提高。

rom(read only memory)的全名為唯讀記憶體,它相當於pc機上的硬碟,用來儲存和儲存資料。rom資料不能隨意更新,但是在任何時候都可以讀取。即使是斷電,rom也能夠保留資料。但是資料一但寫入後只能用特殊方法或根本無法更改,但這麼久了rom已經有了很大的發展,不再是最初的摸樣了。rom最初不能程式設計,出廠什麼內容就永遠什麼內容,不靈活。後來出現了prom,可以自己寫入一次,要是寫錯了,只能換一片,自認倒霉。人類文明不斷進步,終於出現了可多次擦除寫入的eprom,每次擦除要把晶元拿到紫外線上照一下,想一下你往微控制器上下了乙個程式之後發現有個地方需要加一句話,為此你要把微控制器放紫外燈下照半小時,然後才能再下一次,這麼折騰一天也改不了幾次。歷史的車輪不斷前進,偉大的eeprom出現了,拯救了一大批程式設計師,終於可以隨意的修改rom中的內容了,這一段話就說出了rom的發展歷程。

狹義的eeprom:這種rom的特點是可以隨機訪問和修改任何乙個位元組,可以往每個bit中寫入0或者1。這是最傳統的一種eeprom,掉電後資料不丟失,可以儲存100年,可以擦寫100w次。具有較高的可靠性,但是電路複雜/成本也高。它的改寫是由高電壓或者由控制端的邏輯電平來完成的。因此目前的eeprom都是幾十千位元組到幾百千位元組的,絕少有超過512k的。我們也就發現了eeprom的確可以實現隨意讀寫,eeprom的全稱是「電可擦除可程式設計唯讀儲存器」,即electrically erasable programmable read-only memory。可介紹的這兩種都不存在大容量並且也十分昂貴,那我們平時見到的幾十g的儲存裝置是什麼?flash就應運而生了。flash屬於廣義的eeprom,因為它也是電擦除的rom。但是為了區別於一般的按位元組為單位的擦寫的eeprom,我們都叫它flash。flash做的改進就是擦除時不再以位元組為單位,而是以為單位,一次簡化了電路,資料密度更高,降低了成本。上m的rom一般都是flash。

rom的應用

對數指數、三角函式等常規計算通過寫出真值表,將自變數以位址碼的形式輸至rom,用rom表來實現。還有碼制轉換,例如二進位製碼轉格雷碼。脈衝序列發生器,偽彩色處理電路,也就是將一幅黑白影象變成彩色影象顯示,將灰度影象對應到red , green , blue三個通道上,最後將三個通道的顏色值合成為需要顯示的rgb顏色值即可。具體可參考        。

接下來說一下flash的分類,flash分為nor flashnand flash。nor flash資料線和位址線分開,可以實現ram一樣的隨機定址功能,可以讀取任何乙個位元組。但是擦除仍要按塊來擦。nand flash同樣是按塊擦除,但是資料線和位址線復用,不能利用位址線隨機定址。讀取只能按頁來讀取。nor flash的讀取,使用者可以直接執行裝載在nor flash裡面的**。nand flash沒有採取記憶體ram的隨機讀取技術,它的讀取是以一次讀取一塊的形式來進行的,通常是一次讀取512個位元組,採用這種技術的flash比較廉價。使用者不能直接執行nand flash上的**,因此好多使用nand flash的開發板除了使用nand flah以外,還作上了一塊小的nor flash來執行啟動**。nandflash引腳上覆用,因此讀取速度比nor flash慢一點,但是擦除和寫入速度比nor flash快很多。nand flash內部電路更簡單,因此資料密度大,體積小,成本也低。因此大容量的flash都是nand型的。小容量的2~12m的flash多是nor型的。nor flash可以進行位元組定址,所以程式可以在nor flash中執行。嵌入式系統多用乙個小容量的nor flash儲存引導**,用乙個大容量的nand flash存放檔案系統和核心。

RAM和ROM的相關知識

只能讀事先所儲存資料的固態半導體儲存器,一旦儲存資料就無法再將之改變或刪除。通常用在不需經常變更資料的電子或電腦系統中,並且資料不會因為電源關閉而消失。現在大多數由場效電晶體製成。衍生有以下幾類 僅僅可以寫錄一次,需要通過電流講起內部的行列式熔絲燒斷,寫入所需要的資料,典型結構是 雙極性熔絲結構 另...

RAM與ROM的區別

隨機訪問儲存器 random access memory,ram 又稱作 隨機儲存器 是與cpu直接交換資料的內部儲存器,也叫主存 記憶體 它可以隨時讀寫,而且速度很快,通常作為作業系統或其他正在執行中的程式的臨時資料儲存媒介。當電源關閉時ram不能保留資料。如果需要儲存資料,就必須把它們寫入乙個長...

手機裡的ROM與RAM

下文來自 儲存器分為隨機儲存器 ram 和唯讀儲存器 rom 兩種。其中 通常用來固化儲存一些生產廠家寫入的程式或資料,用於啟動電腦和控制電腦的工作方式。而 則用來訪問各種動態的輸入輸出資料 中間計算結果以及與外部儲存器交換的資料和暫存資料。裝置斷電後,中儲存的資料就會丟失。執行遊戲 程式速度快慢看...