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

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

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

關(guān)于內(nèi)存的基本知識

jf_78858299 ? 來源:硬件底褲 ? 作者:酸奶蓋子 ? 2023-02-17 15:39 ? 次閱讀

1、內(nèi)存電路結(jié)構(gòu)

首先,從電路結(jié)構(gòu)上看來,內(nèi)存分為DRAM和SRAM,DRAM由線陣列MOS管和電容組成,其組合方式如下圖:

圖片

當(dāng)需要存儲信息時(shí),給G極高電平,MOS管導(dǎo)通,若S極是高電平,電容充電,此時(shí)便存儲1;若S極是低電平,電容放電,此時(shí)便存儲0;

當(dāng)需要讀取信息時(shí),給G極高電平,三極管導(dǎo)通,在D極處集成放大器電路就能判斷電容存儲電荷狀態(tài),進(jìn)而翻譯為0/1數(shù)據(jù)。

電路分析這門課中我們知道,在該電路中電容漏電流恒大于零,所以為了保持信息不會丟失,電路需要不停刷新給電容充電,加之電容充電時(shí)間共同造成了DRAM反應(yīng)速度滯后。

SRAM正好可以彌補(bǔ)DRAM缺點(diǎn),同樣的先從其電路結(jié)構(gòu)入手。

圖片

從上圖注意到,一個(gè)SRAM單元由一個(gè)RS觸發(fā)器,一對與門連接觸發(fā)器R端和S端。

RS觸發(fā)器當(dāng)R=0,S=1,則Q=1;當(dāng)R=1,S=0,則Q=0。

RS觸發(fā)器后面緊接兩個(gè)與門,且其中一個(gè)管腳相連并引出,此為保持位線;其他兩個(gè)管腳一個(gè)連接非門接輸入,另一個(gè)直接接輸入,它們的輸出分別連接到RS觸發(fā)器R口和S口,此時(shí)輸入稱為數(shù)據(jù)線。

此時(shí)若儲存數(shù)據(jù)則保持位置1,數(shù)據(jù)線置1/0,此時(shí)Q=1/0,寫入結(jié)束后將保持位置0;數(shù)據(jù)便被鎖存到電路中。

由于SRAM沒有DRAM的電容結(jié)構(gòu),數(shù)據(jù)寫入擦除都能瞬間完成;同時(shí)也可以看到SRAM的電路元件比DRAM多,成本也必然比DRAM高,這就是SRAM并沒有以內(nèi)存條商品形式流通市場的原因;SRAM主要應(yīng)用于CPU L1與L2緩存中。得益于DRAM/SRAM簡單的電路結(jié)構(gòu),使得內(nèi)存條十分耐用,它的壽命只取決于內(nèi)存條的MCU,一些對自己MCU自信的廠商甚至于終身保修內(nèi)存條。

2、內(nèi)存的作用及使用

在學(xué)習(xí)微機(jī)原理時(shí)我們知道,CPU每執(zhí)行一個(gè)操作都需要數(shù)據(jù)和指令的加入,數(shù)據(jù)指令在電腦中以二進(jìn)制形式存在并存儲在內(nèi)存中,當(dāng)CPU處理時(shí)就會發(fā)送請求指令給內(nèi)存MCU,MCU將內(nèi)存芯片中數(shù)據(jù)讀取出來通過總線發(fā)送到CPU,如下圖。

圖片

為訪問內(nèi)存,CPU需要向MCU提供一個(gè)內(nèi)存地址,還要說明是讀還是寫操作,根據(jù)CPU需求還要滿足數(shù)據(jù)字長要求(字節(jié)Bit,字word,雙字dword,四字qword),MCU將根據(jù)CPU對數(shù)據(jù)要求進(jìn)行操作。

圖片

3、棧與堆

** 棧**(stack)就是程序在內(nèi)存中開辟出來的一片,供程序自己使用的連續(xù)內(nèi)存空間,其特點(diǎn)是連續(xù),固定且私有。

可以將棧比喻為彈匣,數(shù)據(jù)比喻為子彈,數(shù)據(jù)入棧如同往彈匣壓子彈,于是用PUSH形容壓棧動作;出棧如同發(fā)生子彈,用POP形容出棧動作。

槍戰(zhàn)游戲中我們需要知道彈匣里面還有多少子彈,工程師也需要了解棧的使用情況,所以,在棧中有兩個(gè)指針,一個(gè)叫棧指針用ESP表示;另一個(gè)叫棧底用EBP指針表示。

如果棧指針值等于棧底值,棧為空;棧指針值大于棧底值棧中有數(shù)據(jù)。

圖片

數(shù)據(jù)多少可以通過:(ESP-EBP)/字長獲知,字長取值通常有4位、8位、16位和32位,64位。

棧數(shù)據(jù)遵從先進(jìn)后出原則,如壓子彈一樣,彈匣滿的情況下第一發(fā)子彈肯定是最后裝進(jìn)去的。

棧有大小,當(dāng)棧指針值等于棧頂值時(shí)棧滿,若繼續(xù)往棧中填充數(shù)據(jù)便會產(chǎn)生溢出(Overflow),棧溢出會產(chǎn)生意料之外的錯(cuò)誤,在后續(xù)的編寫操作系統(tǒng)能有更加深刻的體會,而現(xiàn)在腦中保留著棧不能溢出即可。

如同其名,就是存放數(shù)據(jù)的形式,形象的比喻就是空地上的沙堆,沙堆所有人都可以上去踩兩腳,甚至拿一捧回去也沒有關(guān)系。

同樣的,堆是公用的數(shù)據(jù)存放空間,任何程序都可以存取數(shù)據(jù),堆大小根據(jù)使用要求動態(tài)變化,使用完成后一般由系統(tǒng)回收。

堆棧兩種數(shù)據(jù)結(jié)構(gòu)在匯編學(xué)習(xí)過程中相當(dāng)重要,作為開發(fā)者要時(shí)刻牢記堆棧的使用情況,并在合適時(shí)對堆棧回收,合理的利用堆棧有利于程序的簡潔與高效。

在以后匯編學(xué)習(xí)中我們必然會直接面對內(nèi)存獲得最大自由度,以往使用的JAVAPython由于對函數(shù)進(jìn)行了多次封裝,雖然說提高了代碼的易讀性,但同時(shí)不可否認(rèn)犧牲程序的運(yùn)行的效率。

學(xué)習(xí)匯編語言必須要牢記,盡可能使用合適的算法完成需求,既最小必要原理。日后寫操作系統(tǒng)時(shí)我們也會發(fā)現(xiàn),在執(zhí)行的高效性和可讀性中選擇時(shí),必然是高效性更加重要。

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

    關(guān)注

    40

    文章

    2292

    瀏覽量

    183140
  • MOS管
    +關(guān)注

    關(guān)注

    108

    文章

    2349

    瀏覽量

    66225
  • sram
    +關(guān)注

    關(guān)注

    6

    文章

    760

    瀏覽量

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

    關(guān)注

    8

    文章

    2951

    瀏覽量

    73738
收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于電源的基本知識

    關(guān)于電源的基本知識
    發(fā)表于 05-29 16:18

    關(guān)于ARM的基本知識

    本帖最后由 eehome 于 2013-1-5 09:52 編輯 關(guān)于ARM的基本知識
    發(fā)表于 05-30 08:52

    電工基本知識

    電工基本知識
    發(fā)表于 09-21 16:34 ?0次下載
    電工<b class='flag-5'>基本知識</b>

    LDO基本知識

    LDO基本知識
    發(fā)表于 02-09 10:26 ?103次下載
    LDO<b class='flag-5'>基本知識</b>

    功率MOSFET的基本知識

    功率MOSFET的基本知識
    發(fā)表于 04-16 23:34 ?2307次閱讀
    功率MOSFET的<b class='flag-5'>基本知識</b>

    繼電器基本知識

    繼電器基本知識
    發(fā)表于 06-30 19:28 ?1815次閱讀

    網(wǎng)絡(luò)基本知識教程

    網(wǎng)絡(luò)基本知識教程
    發(fā)表于 01-13 12:55 ?1554次閱讀

    線性代數(shù)相關(guān)的基本知識

    線性代數(shù)包含了關(guān)于矩陣的所有相關(guān)的基本知識,可以快速學(xué)習(xí),適合自學(xué)。
    發(fā)表于 12-22 17:58 ?0次下載

    濾波器基本知識

    教學(xué)用ppt介紹關(guān)于濾波器的基本知識以及常用濾波器!
    發(fā)表于 12-31 10:54 ?0次下載

    安全用電基本知識

    安全用電基本知識安全用電基本知識安全用電基本知識
    發(fā)表于 01-14 15:54 ?0次下載

    光纖基本知識

    光纖基本知識
    發(fā)表于 12-15 22:26 ?0次下載

    溫度測量之基本知識詳解

    本文主要介紹了關(guān)于溫度測量的一些基本知識詳細(xì)。
    發(fā)表于 06-21 09:00 ?4次下載
    溫度測量之<b class='flag-5'>基本知識</b>詳解

    CPLD/FPGA的基本知識

    CPLD/FPGA的基本知識講解。
    發(fā)表于 03-30 09:55 ?31次下載
    CPLD/FPGA的<b class='flag-5'>基本知識</b>

    電氣基本知識科普

    電氣基本知識科普
    的頭像 發(fā)表于 09-09 10:23 ?6002次閱讀
    電氣<b class='flag-5'>基本知識</b>科普

    堆棧和內(nèi)存基本知識

    本文主要聊聊關(guān)于堆棧的內(nèi)容。包括堆棧和內(nèi)存基本知識。常見和堆棧相關(guān)的 bug,如棧溢出,內(nèi)存泄漏,堆內(nèi)存分配失敗等。后面介紹軟件中堆棧統(tǒng)計(jì)
    的頭像 發(fā)表于 08-29 14:10 ?327次閱讀
    堆棧和<b class='flag-5'>內(nèi)存</b>的<b class='flag-5'>基本知識</b>