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