0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式中數(shù)據(jù)存儲(chǔ)的方式介紹

嵌入式應(yīng)用開發(fā) ? 來源:嵌入式應(yīng)用開發(fā) ? 作者:嵌入式應(yīng)用開發(fā) ? 2022-06-18 20:52 ? 次閱讀

pYYBAGKtyiyAKVHWAADrcP0N71I191.png

地址映像是指某一數(shù)據(jù)在主存中的地址與在緩存中的地址兩者之間的對(duì)應(yīng)關(guān)系。下面介紹三種地址映像方式:
1.全相聯(lián)方式
全相聯(lián)方式的地址映像規(guī)則是:主存儲(chǔ)器中的任意一塊可以映像到Cache中的任意一塊。其基本實(shí)現(xiàn)思路是:1)主存與緩存分成相同大小的數(shù)據(jù)塊;2)主存的某一數(shù)據(jù)塊可以裝入緩存的任意一塊空間中。
目錄表存放在聯(lián)想存儲(chǔ)器中,包括三個(gè)部分:數(shù)據(jù)塊在主存的塊地址、存入緩存后的塊地址及有效位(也稱裝入位)。由于是全相聯(lián)方式,因此目錄表的容量應(yīng)當(dāng)與緩存的塊數(shù)相同。
全相聯(lián)方式的優(yōu)點(diǎn)是命中率比較高,Cache存儲(chǔ)空間利用空間率高;缺點(diǎn)是訪問相關(guān)存儲(chǔ)器時(shí),每次都要與全部?jī)?nèi)容比較,速度低且成本高,因而應(yīng)用少。
2.直接相聯(lián)方式
直接相聯(lián)方式的地址映像規(guī)則是主存儲(chǔ)器中某一塊只能映像到Cache的一個(gè)特定的塊中。其基本實(shí)現(xiàn)思路是:
1)主存與緩存分成相同大小的數(shù)據(jù)塊;
2)主存容量應(yīng)是緩存容量的整數(shù)倍,將主存空間按緩存的容量分成區(qū),主存中每一區(qū)的塊數(shù)與緩存的總塊數(shù)相等;
3)主存中某區(qū)的一塊存入緩存時(shí)只能存入緩存中塊號(hào)相同的位置。
主存中各區(qū)內(nèi)相同塊號(hào)的數(shù)據(jù)塊都可以分別調(diào)入緩存中塊號(hào)相同的地址中,但同時(shí)只能有一個(gè)區(qū)的塊存入緩存。由于主、緩存的塊號(hào)及塊內(nèi)地址兩個(gè)字段完全相同,因此,目錄登記時(shí),只記錄調(diào)入塊的區(qū)號(hào)即可。目錄表存放在高速小容量存儲(chǔ)器中,包括兩個(gè)字段:數(shù)據(jù)塊在主存的區(qū)號(hào)和有效位。目錄表的容量與緩存的塊數(shù)相同。
直接相聯(lián)方式的優(yōu)點(diǎn)是地址映像方式簡(jiǎn)單,數(shù)據(jù)訪問時(shí),只需檢查區(qū)號(hào)是否相等即可,因而可以得到比較快的訪問速度,且硬件設(shè)備簡(jiǎn)單;缺點(diǎn)是置換操作頻繁,命中率比較低。
3.組相聯(lián)映像方式
組相聯(lián)映像方式的地址映像規(guī)則是主存儲(chǔ)器中某一塊只能存入緩存的同組號(hào)的任一塊中。其基本實(shí)現(xiàn)思路是:
1)主存和緩存按同樣大小劃分成塊;
2)主存和緩存按同樣大小劃分成組:
3)主存容量是緩存容量的整數(shù)倍,將主存空間按緩存區(qū)的大小分成區(qū),主存中每一區(qū)的組數(shù)與緩存的組數(shù)相同;
4)當(dāng)主存的數(shù)據(jù)調(diào)入緩存時(shí),主存與緩存的組號(hào)應(yīng)相等,也就是各區(qū)中的某一塊只能存入緩存的同組號(hào)的空間內(nèi),但組內(nèi)各塊之間可任意存放,即從主存的組到緩存的組之間采用直接映像方式:在兩個(gè)對(duì)應(yīng)的組內(nèi)部采用全相聯(lián)映像方式。
主存地址與緩存地址的轉(zhuǎn)換由兩部分構(gòu)成:組地址采用的是直接映像方式,按地址進(jìn)行訪問;而塊地址采用的是全相聯(lián)方式,按內(nèi)容訪問。
組相聯(lián)映像方式的優(yōu)點(diǎn)是塊的沖突概率比較低,塊的利用率大幅度提高,塊的失效率明顯降低:而缺點(diǎn)是實(shí)現(xiàn)難度和造價(jià)要比直接映像方式高。


內(nèi)存


內(nèi)存(Memory))又被稱為內(nèi)存儲(chǔ)器或主存儲(chǔ)器,由半導(dǎo)體器件制成,是計(jì)算機(jī)的重要部件之一,是CPU能直接尋址的存儲(chǔ)空間, 其特點(diǎn)是存取速率快。計(jì)算機(jī)中所有程序的運(yùn)行都是在內(nèi)存中進(jìn)行的, 因此內(nèi)存的性能對(duì)計(jì)算機(jī)的影響非常大。內(nèi)存的作用是暫時(shí)存放CPU中的運(yùn)算數(shù)據(jù)以及與硬盤等外部存儲(chǔ)器交換的數(shù)據(jù)。只要計(jì)算機(jī)在運(yùn)行中, CPU就會(huì)把需要運(yùn)算的數(shù)據(jù)調(diào)到內(nèi)存中進(jìn)行運(yùn)算, 當(dāng)運(yùn)算完成后CPU再將結(jié)果傳送出來。
我們平常使用的程序, 如Windows操作系統(tǒng)、打字軟件、游戲軟件等, 一般都是安裝在硬盤等外存上的,但僅此是不能使用其功能的,必須把它們調(diào)入內(nèi)存中運(yùn)行,才能真正使用其功能,我們平時(shí)輸入一段文字,或玩一個(gè)游戲,其實(shí)都是在內(nèi)存中進(jìn)行的。就好比在一個(gè)書房里,存放書籍的書架和書柜相當(dāng)于電腦的外存,而我們工作的辦公桌就是內(nèi)存。通常我們把要永久保存的、大量的數(shù)據(jù)存儲(chǔ)在外存上,而把一些臨時(shí)的或少量的數(shù)據(jù)和程序放在內(nèi)存中,當(dāng)然,內(nèi)存的性能會(huì)直接影響電腦的運(yùn)行速度。
內(nèi)存包括只讀存儲(chǔ)器(ROM)和隨機(jī)存儲(chǔ)器(RAM)兩類。
只讀存儲(chǔ)器(ROM)
只讀存儲(chǔ)器即ROM(ReadOnly Memory))。在制造ROM的時(shí)候,信息(數(shù)據(jù)或程序)就被存入并永久保存。這些信息只能讀出,不能寫入,即使機(jī)器停電,數(shù)據(jù)也不會(huì)丟失。ROM一般用于存放計(jì)算機(jī)的基本程序和數(shù)據(jù), 如BIOS ROM。其物理外形一般是雙列直插式(DIP)的集成塊。
隨機(jī)存儲(chǔ)器(RAM)
隨機(jī)存儲(chǔ)器即RAM(Random Access Memory) , 表示既可以從中讀取數(shù)據(jù), 也可以寫入數(shù)據(jù)。當(dāng)機(jī)器電源關(guān)閉時(shí), 存于其中的數(shù)據(jù)就會(huì)丟失。我們通常購買或升級(jí)的內(nèi)存條(SIMM)就是用作電腦的內(nèi)存, 它是將RAM集成塊集中在一起的一小塊電路板, 插在計(jì)算機(jī)中的內(nèi)存插槽上, 以減少RAM集成塊占用的空間。
最后介紹物理存儲(chǔ)器和存儲(chǔ)地址空間這兩個(gè)概念。它們是兩個(gè)不同的概念,但因?yàn)閮烧唛g有十分密切的關(guān)系,且都使用B、KB、MB及GB來度量其容量大小,因此容易產(chǎn)生認(rèn)識(shí)上的混淆。物理存儲(chǔ)器是指實(shí)際存在的具體存儲(chǔ)器芯片。如主板上裝插的內(nèi)存條和裝載有系統(tǒng)的BIOS的ROM芯片, 顯示卡上的顯示RAM芯片和裝載顯示BIOS的ROM芯片, 以及各種適配卡上的RAM芯片和ROM芯片都是物理存儲(chǔ)器。存儲(chǔ)地址空間是指對(duì)存儲(chǔ)器編碼(編碼地址)的范圍。所謂編碼,就是對(duì)每一個(gè)物理存儲(chǔ)單元(一個(gè)字節(jié))分配一個(gè)號(hào)碼,通常叫作“編址”。分配一個(gè)號(hào)碼給一個(gè)存儲(chǔ)單元的目的是為了便于找到它,完成數(shù)據(jù)的讀寫,這就是所謂的“尋址”,因此有人也把存儲(chǔ)地址空間稱為尋址空間。
存儲(chǔ)地址空間的大小和物理存儲(chǔ)器的大小并不一定相等。舉個(gè)例子來說明這個(gè)問題:某層樓共有17個(gè)房間,其編號(hào)為801~817。這17個(gè)房間是物理的,而其地址空間采用了三位編碼,其范圍是800~899共100個(gè)地址,可見地址空間是大于實(shí)際房間數(shù)量的。對(duì)于386以上檔次的微機(jī),其地址總線為32位,因此地址空間可達(dá)2B,即4GB。


非易失性存儲(chǔ)(NVM)


近年來出現(xiàn)的非易失性存儲(chǔ)(Non-Volatile memory,NVM)以其高集成度、低能耗、非易失性、字節(jié)尋址等特性得到了廣泛關(guān)注。學(xué)術(shù)界和工業(yè)界已經(jīng)開發(fā)了一些新型非易失存儲(chǔ)介質(zhì)和技術(shù), 例如磁存儲(chǔ)器(Magnetic RAM,MRAM) 、自旋磁存儲(chǔ)器(Spin Transfer TorqueRAM,STT-RAM)、相變存儲(chǔ)器(Phase Change Memory, PCM) 、阻變存儲(chǔ)器(Resistive RAM,RRAM)、鐵電存儲(chǔ)器(Ferroelectric RAM, FeRAM)等。表中列舉了幾種主流新型存儲(chǔ)器件的主要參數(shù),從表中可以看出,非易失性存儲(chǔ)在集成度、讀速度方面具有較好的表現(xiàn),是構(gòu)建潛在新型存儲(chǔ)器件的候選對(duì)象。但是非易失性存儲(chǔ)也有幾個(gè)明顯的缺點(diǎn):1)具有較大的寫延時(shí),其寫延時(shí)比相應(yīng)的存儲(chǔ)介質(zhì)大1個(gè)數(shù)量級(jí),并且寫延時(shí)大于讀延時(shí),即讀寫不一致;2)雖然非易失性存儲(chǔ)的讀操作比寫操作快,但是仍然比傳統(tǒng)存儲(chǔ)介質(zhì)的讀操作慢;3)非易失性存儲(chǔ)的寫壽命有限,在連續(xù)寫的情況下,存儲(chǔ)單元很快會(huì)失效。

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4134

    瀏覽量

    85312
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2907

    瀏覽量

    73576
  • 數(shù)據(jù)存儲(chǔ)

    關(guān)注

    5

    文章

    948

    瀏覽量

    50763
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式常用數(shù)據(jù)結(jié)構(gòu)有哪些

    嵌入式編程,數(shù)據(jù)結(jié)構(gòu)的選擇和使用對(duì)于程序的性能、內(nèi)存管理以及開發(fā)效率都具有重要影響。嵌入式系統(tǒng)由于資源受限(如處理器速度、內(nèi)存大小等),因此對(duì)數(shù)
    的頭像 發(fā)表于 09-02 15:25 ?252次閱讀

    嵌入式linux開發(fā)的基本步驟有哪些?

    之前,首先需要選擇合適的硬件平臺(tái)。硬件選擇需要考慮以下幾個(gè)方面: 1.1 處理器 嵌入式Linux開發(fā)需要一個(gè)處理器,常見的處理器有ARM、MIPS、PowerPC等。選擇處理器時(shí),需要考慮處理器的性能、功耗、成本等因素。 1.2 存儲(chǔ)
    的頭像 發(fā)表于 09-02 09:11 ?196次閱讀

    嵌入式系統(tǒng)的實(shí)時(shí)操作系統(tǒng)

    嵌入式RTOS是嵌入式應(yīng)用程序運(yùn)行、相互交互和與外界通信的底層軟件機(jī)制。在本節(jié),您將了解嵌入式軟件開發(fā)人員使用哪些流行RTOS以及它們運(yùn)行的嵌入式
    的頭像 發(fā)表于 08-20 11:28 ?289次閱讀

    嵌入式QT常見開發(fā)方式有哪些?

    Unit): 對(duì)于資源極其有限的微控制器應(yīng)用場(chǎng)景,Qt提供了專門針對(duì)MCU的解決方案,允許在低功耗、小內(nèi)存的嵌入式系統(tǒng)上開發(fā)圖形化界面。 總之,嵌入式工程師可以根據(jù)項(xiàng)目的具體需求、性能要求、硬件限制以及團(tuán)隊(duì)技術(shù)背景等因素,靈活選擇上述Qt開發(fā)
    發(fā)表于 08-12 10:05

    嵌入式系統(tǒng)軟硬件基礎(chǔ)知識(shí)大全

    的重要方面。不同的處理器架構(gòu),如CISC、RISC和ARM,具有不同的指令集和執(zhí)行效率。了解這些架構(gòu)和指令集的特點(diǎn),可以幫助我們更好地選擇和使用處理器。存儲(chǔ)器是嵌入式系統(tǒng)中用于存儲(chǔ)數(shù)據(jù)
    發(fā)表于 05-09 14:12

    嵌入式系統(tǒng)的外設(shè)器件選擇

    ,都可視系統(tǒng)的實(shí)際需求來進(jìn)行選擇。本文將為您介紹上述外設(shè)器件的類型與選擇的考慮要素。 存儲(chǔ)器的種類眾多且特性不同 存儲(chǔ)器 在嵌入式系統(tǒng),[
    的頭像 發(fā)表于 05-05 09:38 ?659次閱讀
    <b class='flag-5'>嵌入式</b>系統(tǒng)的外設(shè)器件選擇

    入門嵌入式系統(tǒng)這些知識(shí)你知道嗎?

    嵌入式系統(tǒng)是一種專用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分。通常,嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM嵌入式處理器控制板。事實(shí)上,所有帶有
    發(fā)表于 05-03 09:54 ?409次閱讀

    嵌入式fpga是什么意思

    嵌入式FPGA是指將FPGA技術(shù)集成到嵌入式系統(tǒng)的一種解決方案。嵌入式系統(tǒng)是一種為特定應(yīng)用而設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),它通常包括處理器、內(nèi)存、外設(shè)接口等組件,并且被
    的頭像 發(fā)表于 03-15 14:29 ?1044次閱讀

    嵌入式Linux開發(fā)的三種方式

    嵌入式Linux開發(fā)主要有三種方式:裸機(jī)開發(fā)、SDK開發(fā)和驅(qū)動(dòng)開發(fā)。
    的頭像 發(fā)表于 01-22 14:22 ?822次閱讀

    嵌入式系統(tǒng)堆棧監(jiān)控的作用

    在微控制器或微處理器,堆棧是內(nèi)存的一個(gè)保留區(qū)域,用于存儲(chǔ)臨時(shí)數(shù)據(jù)和函數(shù)調(diào)用信息,管理函數(shù)的執(zhí)行,跟蹤返回地址、局部變量和函數(shù)參數(shù)。堆棧監(jiān)控是嵌入式系統(tǒng)運(yùn)行
    的頭像 發(fā)表于 01-05 11:13 ?370次閱讀

    分區(qū)存儲(chǔ)助力QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備

    分區(qū)存儲(chǔ)助力QLC應(yīng)用到嵌入式存儲(chǔ)設(shè)備
    的頭像 發(fā)表于 11-27 17:44 ?433次閱讀
    分區(qū)<b class='flag-5'>存儲(chǔ)</b>助力QLC應(yīng)用到<b class='flag-5'>嵌入式</b><b class='flag-5'>存儲(chǔ)</b>設(shè)備

    什么才是嵌入式Flash的邊界?

    什么才是嵌入式Flash的邊界? 嵌入式Flash是一種非易失性存儲(chǔ)器,常用于嵌入式電子設(shè)備,如智能手機(jī)、平板電腦、數(shù)碼相機(jī)、車載娛樂系統(tǒng)
    的頭像 發(fā)表于 10-29 17:29 ?418次閱讀

    嵌入式開發(fā),如何將Flash的程序轉(zhuǎn)移到RAM運(yùn)行?

    嵌入式開發(fā),如何將Flash的程序轉(zhuǎn)移到RAM運(yùn)行? Flash存儲(chǔ)器是嵌入式設(shè)備中常用的
    的頭像 發(fā)表于 10-29 16:23 ?2917次閱讀

    嵌入式系統(tǒng)時(shí)間片的任務(wù)調(diào)度方式的優(yōu)點(diǎn)是什么?

    嵌入式系統(tǒng)時(shí)間片的任務(wù)調(diào)度方式的優(yōu)點(diǎn)是什么
    發(fā)表于 10-20 06:48

    Linux系統(tǒng)的嵌入式開發(fā)是什么

    嵌入式開發(fā)聽起來很高大上,但其實(shí)它就在我們身邊。   嵌入式開發(fā)是指將操作系統(tǒng)、應(yīng)用程序或數(shù)據(jù)存儲(chǔ)嵌入式設(shè)備
    的頭像 發(fā)表于 10-12 15:40 ?1559次閱讀