目錄
概述
一、ROM
1. 介紹
2. 硬體結構
二、RAM
1. 介紹
2. 硬體結構
三、DRAM
四、SRAM
五、DRAM與SRAM的區別
SRAM
DRAM
六、SDRAM
七、FLASH
概述
ROM、RAM是可讀與可讀可寫存盤器的一種框架,DRAM、SRAM、SDRAM是基于RAM框架的一種實作
一、ROM
1. 介紹
ROM全拼是Read Only Memory(只讀存盤器),它是只讀的,一旦出廠不能在寫,在出廠之前會預設好它的資料,并且它是掉電不丟失的,又稱為固定存盤器,它使用一些特定材料存盤資料,這里以磁盤為列簡單說一下原理:磁盤里面使用一些磁材料存盤資料,當對內部導體進行導通時會導致內部磁場發生變化,會讓內部的磁極根據電流的方向而產生改變,發生的改變不會因為沒有電流而消失,這個改變是永久的,當下次來讀時只需要將上次的變化轉化成對應的電流變化,這個程序較為復雜,涉及到一些磁信號到電信號的轉換,速度相對于較慢,同時如果受到一些磁場較大的一些設備影響會導致里面的磁信號混亂,也就是資料混亂,
2. 硬體結構
以下是ROM的結構圖

其實從圖中可以看到并沒有可寫方面的結構,并且它是以字(1字=2位元組)為單位讀寫,可以看到里面有一個CS線,這個線是接到外部CPU上的,CPU通過CS線來告訴記憶體單元開始作業了,然后通過地址總線將地址發送過去,然后通過控制總線發送控制命令,在通過資料總線接收資料,ROM內部有一個小型的控制芯片用于處理CPU傳遞過來的控制指令,它在出廠時設定的代碼就不支持寫操作,同時也可以看到上面輸出線路時沒有設計輸入線路

下圖結構為譯碼程序,同時可以看到沒有輸入緩沖器也沒有輸入介面,所以它只支持輸出

上面的NxM的意思是有N行,每行有M個單元,需要注意的是可以看到譯碼程序中前面的A0A1A2是地址的意思,記憶體里是以二維陣列為布局,A0A1為列,A2為行號,后面的W0W1..是譯碼后的地址,它就相當于指向了一個二維地址的實際地址,如有一個二維陣列:
short a[10][10];
實際上它在記憶體中是連續的

只是將連續的地址抽象化的進行了分列,這樣方便管理,當我們訪問a[1][0]時實際上就是對地址進行了偏移遞增的處理,這樣只是讓我們更加方便的管理,ap[1][2]和a[12]沒有區別,所以在給ROM地址時ROM要求高多少位是列,低多少位是行,最后它會進行譯碼成一個實際的地址,ROM會對內部的單元生成一個二位的陣列存盤這些地址,當決議出行與列之后直接以這個為下標索引就可以取出記憶體單元的實際地址,然后對這個分配在這個地址上的引腳進行操作,
它的每個單元以字為單位,也就是兩個位元組代表位寬是16位的,那么要求資料總線與地址總線最低16位,當然這個看ROM的設計,有的ROM可能以位元組為單位,
二、RAM
1. 介紹
RAM全拼是Random Access Memory(隨機存取存盤器),它可讀可寫,它是掉電丟失的,它里面的資料是非初始化的,使用之前需要對它進行一次初始化,因為上電后無法確定RAM里的資料是什么,為了防止使用時出現亂數的情況需要對其進行初始化為0,它是使用電容作為存盤單位,電容存盤的電荷會隨時間的流逝還消失,存盤器需要每隔一段時間給存盤器內部的電容器進行一行充電或者一直保持充電狀態,會根據電容的電平值以及當前使用的電平標準來提升電容的電荷,它的訪問速度較快,因為它只需要讀取電容里的電荷值然后轉化成對應的數字電路就可以了,其實當斷電的一瞬間其實里面還是有資料的,只不過隨著時間的流逝沒有芯片給這些電容器充電了會導致里面的電荷隨之流逝,
2. 硬體結構

可以看到結構與ROM類似,只不過多了一個輸入的介面電路,其次它是掉電丟失的,它的存盤單元在介紹里說過是以電容存盤的,需要充電,
三、DRAM
DRAM全拼Dynamic Random Access Memory(動態隨機存盤器),它是基于RAM框架,有了上面的RAM框架的介紹,DRAM就比較容易理解了,DRAM使用MOS(金屬訊訓物半導體)電容存盤電荷來儲存資訊,因此必須通過不停的給電容充電來維持資訊,DRAM只是RAM的一種實作手段,所謂的動態就是指周期性的動態給里面的電容充一次電,它需要在更新前獲取每個電容的電平信號是1還是0然后根據電路進行對每個電容的重繪,上面說過RAM是電容來存盤資料的,DRAM保存電容的方式就是動態更新,當控制信號來時若此時正在更新電荷則等待電荷更新完成去處理控制信號
四、SRAM
SRAM全拼Static Random Access Memory(靜態隨機存盤器),SRAM與DRAM類似,它不會動態式的充電,它使用晶體管的特性來存盤資料,晶體管是可以根據電流來控制自身開合,利用這一特性可以通過外接線來獲取晶體管狀態來回傳對應數字信號,這樣就不需要實時更新只需要一直向它發送特定的電流就可以了
五、DRAM與SRAM的區別
SRAM
SRAM成本要高,尺寸要求較大,因為SRAM需要更多的引腳來存盤資料,一個引腳用來接VDD電流控制晶體管開合,一個引腳來取狀態并轉化對應的數字信號等,但是它不需要動態時的重繪對時鐘以及實時性沒有太大的要求,所以功耗較低,其次它速度要快于DRAM因為它不需要動態重繪,在動態重繪期間DRAM是不能存取資料的,所以平時見到的CPU一級與二級快取,用的就是它,它可以隨時存取,價格較貴
DRAM
DRAM對尺寸要求較小,對引腳要求較小,幾乎一根線就可以了,一根線用于取以及更新電荷,它需要動態重繪,也就是需要時鐘來定時中斷,對實時性有要求,功耗較高,價格較為便宜
六、SDRAM
SDRAM全拼Synchronous Dynamic Random Access Memory(同步動態隨機存盤器),注意它不是SRAM與DRAM的結合,它是同步的,基于DRAM結構的,DRAM的輸入輸出不是同步的,是異步的,DRAM提供了一個異步介面,用于DRAM回應作業,讀寫等,SDRAM則提供了一個同步介面,用這個介面來完成同步操作
七、FLASH
FLASH全拼是Flash Memory(閃存)、是一種非易失閃存技術,可以隨機讀寫,同時也能掉電不丟失,至于具體如何保存資料需要看不同廠商對FLASH的設計,若使用了磁鐵來存盤資料就需要注意一些不要將存盤器帶到可能對磁信號產生影響的一些地方
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/297188.html
標籤:其他
上一篇:整除分塊
下一篇:R語言相關性分析
