2022-01-27 10:02:53|已瀏覽:3022次
嵌入式系統(tǒng)開發(fā)中常見的存儲器及其特點:
第一節(jié) 嵌入式存儲結(jié)構(gòu)層次的劃分
首先看一下嵌入式存儲體系的劃分,此處按照存儲速度進行劃分。
●寄存器
●高速緩存Cache
●RAM(例如SRAM、DRAM、DDRAM)
●主存儲器(例如Flash、PROM、EPROM、EEPROM)
●外部存儲器(例如磁盤、光盤、CF卡、SD卡)
●遠程二級存儲(例如分布式文件系統(tǒng)、Web服務(wù)器)
那么問題來了,為什么會存在嵌入式存儲體系,都用寄存器或者磁盤存數(shù)據(jù)不就好了?
其實計算機采用分級存儲體系的主要目的是解決存儲容量、成本和速度之間的矛盾問題。
速度越快的存儲器,通常價格也越高。所有數(shù)據(jù)都采用寄存器存儲也是可以的,但是做出來的產(chǎn)品價格將會特別昂貴!用磁盤存所有的數(shù)據(jù)也行,但是嵌入式設(shè)備的運行速度將會特別慢!所以兩者在商業(yè)上并不可行。因此我們的寄存器一般用特別小的容量,Cache容量比寄存器大,主存儲器容量又比RAM大,如此遞推,可以獲得最佳的性價比。
第二節(jié) 寄存器
通常是嵌入式開發(fā)中最高速的存儲器,由邊沿觸發(fā)方式的的觸發(fā)器、門電路組成,價格極為昂貴。
主要作用是用來暫時存放數(shù)碼或指令
一個觸發(fā)器可以存儲1位二進制代碼,故存放n位二進制代碼的寄存器,需用n個觸發(fā)器來構(gòu)成。
第三節(jié) 高速緩存Cache
大家在嵌入式開發(fā)中,可能比較少聽說過Cache這個詞,但Cache的作用是至關(guān)重要的。你可以把Cache理解為一個承上啟下的存儲器,它傳遞數(shù)據(jù)給CPU,又向主存獲取數(shù)據(jù)。那么為什么不直接從主存直接獲取內(nèi)容傳給CPU?原因是存儲速度和儲存的局部性原理。為了緩解CPU和主存中速度差異,引入Cache這種比CPU速度慢但是又比主存速度快的中間介質(zhì)會有效解決速度差異帶來的矛盾。再者存儲是有局部性的,在CPU運行時,所訪問的數(shù)據(jù)會趨向于一個較小的局部空間地址內(nèi)(例如循環(huán)操作,循環(huán)體反復(fù)被執(zhí)行)。
所以高速緩存Cache用來存儲當(dāng)前最為活躍的程序和數(shù)據(jù),直接與CPU交互。
Cache由半導(dǎo)體材料(通常是SRAM)構(gòu)成,其功能對于程序員來說是透明的存在,所以大部分程序員都沒有留意到它。這里值得注意的是Cache的存儲內(nèi)容是當(dāng)前最為活躍的程序和數(shù)據(jù)。
因此Cache有一個命中率的概念,即當(dāng)CPU所訪問的數(shù)據(jù)在Cache中命中時,直接從Cache中讀取數(shù)據(jù)。若CPU訪問的數(shù)據(jù)不在Cache中,則還是需從主存中讀取。
第四節(jié) RAM
RAM是隨機存取存儲器(Random Access Memory)的簡稱,其存儲的內(nèi)容可以隨意取出或者存入,且存取速度與存儲單元的位置無關(guān),存儲速度快,
通常作為操作系統(tǒng)或其他正在運行中的程序的臨時數(shù)據(jù)存儲介質(zhì)。
這種存儲器在斷電時將會丟失其存儲內(nèi)容,故用于存儲短時間使用的程序和數(shù)據(jù)。嵌入式開發(fā)常見的RAM有:SRAM、DRAM、DDRAM(雙倍速率隨機存儲器)。
①SRAM是靜態(tài)的,因此只要供電它就會保持一個值,不用對它進行周期性刷新。其由觸發(fā)器構(gòu)成基本單元,每個存儲單元由六個晶體管組成,因此其成本較高,但它具有較高的速率,可以用來做Cache。
②DRAM是動態(tài)的,需要有規(guī)律地定時進行刷新,但是價格比SRAM低。DRAM中的每個存儲單元由一個晶體管和一個電容器組成,因為組成包括電容器,而電容器會漏電,所以才要定期刷新,刷新周期一般為1ms。
③SDRAM(SynchronousDRAM,同步動態(tài)隨機存儲器),即數(shù)據(jù)的讀寫需要時鐘來同步。其存儲單元不是按線性排列的,是分頁的。DRAM和SDRAM由于實現(xiàn)工藝問題,容量較SRAM大。但是讀寫速度都不如SRAM。
④DDRAM(displaydataRAM)是顯示數(shù)據(jù)隨機存儲器的簡稱,為了解決SDRAM中讀寫速度慢的一種RAM。其基于SDRAM技術(shù),引入一種叫做雙倍預(yù)取的技術(shù)(即在內(nèi)存芯片內(nèi)部的數(shù)據(jù)寬度是外部接口數(shù)據(jù)寬度的兩倍),使峰值的讀寫速度達到輸入時鐘速率的兩倍。
第五節(jié) 主存儲器
主存儲器常見的有ROM和Flash兩種,一般被用來保存較大容量的數(shù)據(jù),現(xiàn)在的人習(xí)慣把Flash也叫做ROM。其實ROM指的是只讀存儲器(Read Only Memory,一般是指MaskROM)和Flash(閃速存儲器)有一定區(qū)別。但是Flash又是從ROM和RAM的發(fā)展而來,F(xiàn)lash不僅具備電子可擦除可編程(EEPROM)的性能,還可以快速讀取數(shù)據(jù)(RAM的優(yōu)勢),就常被電商劃分為ROM了。
主存儲器的種類:
① MaskROM(掩模ROM):一次性由廠家寫入數(shù)據(jù)的ROM,用戶無法修改。
② PROM(可編程ROM):由用戶來編程一次性寫入數(shù)據(jù),只能寫入數(shù)據(jù)一次。
③ EPROM(電可擦寫ROM):可以重復(fù)擦除與寫入,但是要通過紫外光才能擦除。
④ EEPROM(電可擦除可編程ROM,也就是E2PROM):解決了EPROM的擦除問題,可以通過加電擦除原數(shù)據(jù),擦除更加方便。
⑤ Flash Memory(閃速存儲器):綜合了EEPROM的優(yōu)點,而且極大提高了讀寫速度。常見的有NOR Flash、NAND Flash。NOR Flash允許程序直接在上面運行,但是價格比較貴。NAND Flash解決了NOR Flash成本較貴的問題,但是NAND Flash的困難在于需要特殊的系統(tǒng)接口。
⑥ EMMC (Embedded Multi Media Card):將NAND Flash芯片和控制芯片設(shè)計成1顆MCP芯片,客戶只需要采購EMMC芯片,放進設(shè)備中,不需處理其它繁復(fù)的NAND Flash兼容性和管理問題,最大優(yōu)點是縮短新產(chǎn)品的上市周期和研發(fā)成本,加速產(chǎn)品的推陳出新速度。
第六節(jié) 外部存儲器
常見的外部存儲器分為磁盤存儲器、光盤存儲器、CF卡、SD卡。一般被用來保存大容量的數(shù)據(jù),其特點如下:
① 磁盤儲存器:分為硬盤和軟盤,容量大、使用壽命長但價格昂貴,主要在個人PC中應(yīng)用多,較少出現(xiàn)在嵌入式領(lǐng)域中。
② 光盤存儲器:用光學(xué)方式讀取/寫入信息的圓盤,一般用于多媒體數(shù)字信息的載體,較少出現(xiàn)在嵌入式領(lǐng)域中。
③ CF卡:最早推出的存儲卡,體積比磁盤儲存器和光盤存儲器小,抗磁性好、儲存性能穩(wěn)定。
④ SD卡:可以看做CF卡的升級版,體積比CF卡小,安全性也更高。支持SD模式和SPI模式,外圍只需簡單電路就可以用于嵌入式開發(fā)。嵌入式領(lǐng)域最常見的外部存儲器。
第七節(jié) 存儲管理和頁面置換算法
通過前面幾節(jié)的學(xué)習(xí),我們對嵌入式存儲體系有了一定的了解,那么在這個體系下,會出現(xiàn)一個問題—當(dāng)進程運行所需的內(nèi)存大于系統(tǒng)內(nèi)存時,就無法將整個進程一起調(diào)入系統(tǒng)內(nèi)存,因此無法運行。為了解決上面這個矛盾,我們采用頁式存儲或者段式存儲將進程空間劃分。
此時總的進程空間就會變成多個小段的進程空間,然后通過頁面置換算法進行淘汰,使分出的小段進程空間有序調(diào)入內(nèi)存中運行。
注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://m.universityresearchassociates.com/news-id-18483.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注嵌入式開發(fā)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費申請試課。關(guān)注官方微信了解更多:150 3333 6050