查了好多資料 進行乙個小的總結,侵刪儲存器這個名詞包含的範圍很大,它幾乎涵蓋了所有關於儲存的範疇。
暫存器、記憶體、外儲存器都是儲存器裡面的一種。凡是有儲存能力的硬體,都可以稱之為儲存器。
快取就是資料交換的緩衝區(稱作cache),硬體系統需要讀取資料時,會首先從快取中查詢需要的資料,如果找到了則直接執行,找不到的話則從記憶體中找。由於快取的執行速度比記憶體快得多,故快取的作用就是幫助硬體更快地執行。rom(唯讀儲存器或者固化儲存器),ram(隨機訪問儲存器)因為快取往往使用的是ram(斷電即掉的非永久儲存),所以在用完後還是會把檔案送到硬碟等儲存器裡永久儲存。電腦裡最大的快取就是記憶體條了,最快的是cpu上鑲的l1和l2快取,顯示卡的視訊記憶體是給顯示卡運算晶元用的快取,硬碟上也有16m或者32m的快取。
cache是在cpu中速度非常塊而容量卻很小的一種儲存器,它是計算機儲存器中最強悍的儲存器。由於技術限制,容量很難提公升。
rom和ram指的都是半導體儲存器,rom是read only memory的縮寫,ram是random access memory的縮寫。rom在系統停止供電的時候仍然可以保持資料,而ram通常都是在掉電之後就丟失資料,典型的ram就是計算機的記憶體。
ram有兩大類,一種稱為靜態ram(static ram/sram),當資料被存入其中後不會消失。sram速度非常快,是目前讀寫最快的儲存裝置了。當這個sram 單元被賦予0 或者1 的狀態之後,它會保持這個狀態直到下次被賦予新的狀態或者斷電之後才會更改或者消失。但是儲存1bit 的資訊需要4-6 只電晶體。因此它也非常昂貴,所以只在要求很苛刻的地方使用,譬如cpu的一級緩衝,二級緩衝。另一種稱為動態ram(dynamic ram/dram),dram 必須在一定的時間內不停的重新整理才能保持其中儲存的資料。dram 只要1 只電晶體就可以實現。dram保留資料的時間很短,速度也比sram慢,不過它還是比任何的rom都要快,但從**上來說dram相比sram要便宜很 多,計算機記憶體就是dram的。
dram分為很多種,常見的主要有fpram/fastpage、edoram、sdram、ddr ram、rdram、sgram以及wram等,這裡介紹其中的一種ddr ram。ddr ram(date-rate ram)也稱作ddr sdram,這種改進型的ram和sdram是基本一樣的,不同之處在於它可以在乙個時鐘讀寫兩次資料,這樣就使得資料傳輸速度加倍了。這是目前電腦中用 得最多的記憶體,而且它有著成本優勢,事實上擊敗了intel的另外一種記憶體標準-rambus dram。在很多高階的顯示卡上,也配備了高速ddr ram來提高頻寬,這可以大幅度提高3d加速卡的畫素渲染能力。
rom也有很多種,最初,把只能讀的儲存器叫做rom(read only memory),並且掉電後資料不會丟失。由於不能改寫,因而使用起來很不方便。隨著技術的進步,在rom中使用一些新技術,就可以使它具有可以程式設計的功能。prom是可程式設計的rom,prom和eprom(可擦除可程式設計rom)兩者區別是,prom是一次性的,也就是軟體灌入後,就無法修 改了,這種是早期的產品,現在已經不可能使用了,而eprom是通過紫外光的照射擦出原先的程式,是一種通用的儲存器。另外一種eeprom是通過電子擦出,可以直接在電路中程式設計,但**很高,寫入時間很長而且速度較慢。
另外還有flash rom,又可分為nor flash和nand flash。flash rom一般有乙個特點,就是寫資料時,可以將1改為0,而不能將0改為1,因而寫資料前需要擦除,擦除時將所有資料置1。
flash儲存器又稱快閃儲存器,它結合了rom和ram的長處,不僅具備電子可擦出可程式設計(eeprom)的效能,還不會斷電丟失資料同時可以快速讀取資料 (nvram的優勢),u盤和***裡用的就是這種儲存器。在過去的20年裡,嵌入式系統一直使用rom(eprom)作為它們的儲存裝置,然而近年來 flash全面代替了rom(eprom)在嵌入式系統中的地位,用作儲存bootloader以及作業系統或者程式**或者直接當硬碟使用(u盤)。
目前flash主要有兩種nor flash和nadn flash。大多數情況下快閃儲存器只是用來儲存少量的**,這時nor flash更適合一些。nor flash的讀取和我們常見的sdram的讀取是一樣,使用者可以直接執行裝載在nor flash裡面的**,這樣可以減少sram的容量從而節約了成本。
nand flash沒有採取記憶體的隨機讀取技術,它的讀取是以一次讀取一快的形式來進行的,通常是一次讀取512個位元組,採用這種技術的flash比較廉價。使用者 不能直接執行nand flash上的**,因此好多使用nand flash的開發板除了使用nand flah以外,還作上了一塊小的nor flash來執行啟動**。
關於6410儲存器對映
今天想明白乙個問題,關於之前測試hpi記憶體讀寫為什麼出錯。在查資料手冊的時候,第二小節儲存器對映裡講到 也就是說,可供選擇的靜態儲存區有這麼多,你可以在自己選擇接幾塊並做對映,需要對哪塊讀寫的時候先片選,然後通過位址線,資料線來讀。也就是說自己也可以接一些外設,對外設讀寫的時候設定片選,連好位址線...
關於8086 8088儲存器結構
在學習8086 8088儲存器結構時,產生了個疑問 既然高四位表示的是段基址 低四位表示的是偏移位址,那麼乙個20位實體地址只能表示乙個邏輯段中的16個位址,我們知道乙個邏輯段中有64k位元組,這顯然是不可能的。首先說說為什麼把20位的實體地址分成段基址 偏移位址?8086 8088系統中儲存器按位...
關於資料對齊和儲存器讀寫
資料對齊是跟資料在記憶體中的位置相關的話題。如果乙個變數的記憶體位址正好是他長度的整數倍,那麼它就叫做自然對齊。舉例來說,乙個32位的整型資料,如果他在記憶體中的位址剛好可以被4整除,我們就說這個整型數是自然對齊的。在編譯過程中,可以通過編譯器來調整資料對齊。一般在預設情況下,對於標準資料型別來說,...