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

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

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

DRAM命令到底是什么

科技觀察員 ? 來(lái)源:allaboutcircuits ? 作者:斯蒂芬·圣邁克爾 ? 2022-04-28 17:15 ? 次閱讀

DRAM命令到底是什么

本文將仔細(xì)研究用于控制和與 DRAM 交互的命令。

我之前的文章介紹了動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,即 DRAM。DRAM 是一種需要經(jīng)常動(dòng)態(tài)刷新的 RAM。這是因?yàn)?DRAM 使用一組電容器來(lái)存儲(chǔ)數(shù)字信息。當(dāng)存在電荷時(shí),存儲(chǔ)二進(jìn)制“1”,而沒(méi)有電荷表示二進(jìn)制“0”。DRAM 被組織成多個(gè)存儲(chǔ)體,這些存儲(chǔ)體進(jìn)一步分為行和列。電容器位于這些行和列的交叉處。

圖 1 顯示了上一篇文章中介紹的 x4 DRAM bank。

poYBAGJqWy6AFbGkAABKps47nJs556.jpg

圖 1. 帶有讀出放大器和解碼器的存儲(chǔ)器陣列

但是如何實(shí)際使用 DRAM 呢?處理器或內(nèi)存控制器如何告訴 DRAM 在特定位置返回或存儲(chǔ)特定數(shù)據(jù)?了解發(fā)送到 DRAM 芯片的命令是實(shí)際設(shè)計(jì)使用 DRAM 的系統(tǒng)的第一步。

基本 DRAM 命令

雖然 DRAM 可能因制造商而異,但大多數(shù) DRAM 芯片使用一組基本命令來(lái)執(zhí)行操作。為了執(zhí)行命令,內(nèi)存控制器會(huì)將值寫(xiě)入 DRAM 中的一組輸入。這些輸入屬于 DRAM 的命令解碼器。該解碼器有一個(gè) 4 位輸入,根據(jù)位的組合,請(qǐng)求不同的命令。

pYYBAGJqWzSAAxxFAAAc8ZUocdM584.jpg

圖 2. 帶輸入的 DRAM 解碼器(# 符號(hào)表示這些是低電平有效信號(hào)

這些低電平有效輸入都有名稱,通常定義為 CS、CAS、RAS 和 WE:

CS:片選(啟用或禁用命令解碼器)

RAS:行地址選通

CAS:列地址選通

WE: 寫(xiě)使能

這四個(gè)輸入允許將多達(dá) 16 個(gè)命令內(nèi)置到 DRAM 中。

圖 3 顯示了 DRAM 芯片的簡(jiǎn)化視圖。它可以用作參考,以更好地理解列出的不同命令。

poYBAGJqWzaAZUsWAACJoBIzLUU603.jpg

圖 3. DRAM 參考。圖片由Alliance Memory提供

命令禁止

命令禁止,或有時(shí)稱為設(shè)備取消選擇,禁用在 DRAM 上執(zhí)行命令的能力。要使用該命令,請(qǐng)將 CS 輸入拉高(忽略其他輸入,即“不關(guān)心”)。如前所述,CS 代表芯片選擇并禁用命令解碼器。因此,這將被拉高以抑制命令是有道理的。

啟用

激活本質(zhì)上是行訪問(wèn)命令。意思是,它打開(kāi)一行并將電荷從電容器移動(dòng)到感應(yīng)放大器。訪問(wèn)一行總是在 DRAM 中的一列之前完成。該命令與存儲(chǔ)體地址寄存器(選擇當(dāng)前存儲(chǔ)體)和行地址寄存器(選擇所需行)的輸入配對(duì)。關(guān)于激活命令的一個(gè)重要注意事項(xiàng)是,當(dāng)前打開(kāi)的行保持打開(kāi)狀態(tài),直到發(fā)出預(yù)充電命令(稍后將詳細(xì)介紹預(yù)充電)。要使用此命令,大多數(shù) DRAM 需要將 CS 和 RAS 拉低,而將 CAS 和 WE 拉高。

預(yù)充電

預(yù)充電會(huì)停用當(dāng)前在銀行中打開(kāi)的行。當(dāng)發(fā)出預(yù)充電命令時(shí),DRAM 被告知恢復(fù)從電容器行讀取的值。這是由讀出放大器完成的,當(dāng)完成時(shí),為另一行訪問(wèn)做好準(zhǔn)備。通過(guò)將 CS、RAS 和 WE 拉低并將 CAS 拉高來(lái)執(zhí)行預(yù)充電。

讀取命令也可以被認(rèn)為是列讀取命令。當(dāng)與適當(dāng)?shù)拇鎯?chǔ)體地址和列地址相結(jié)合時(shí),最近從激活命令(行訪問(wèn))移入讀出放大器的數(shù)據(jù)現(xiàn)在被推送到數(shù)據(jù)總線上。DRAM 通常包含“讀取和自動(dòng)預(yù)充電”命令,該命令執(zhí)行列讀取,然后關(guān)閉/預(yù)充電行。這樣,不需要發(fā)出單獨(dú)的預(yù)充電命令。如果需要訪問(wèn)同一行但不同的列,則根本不會(huì)發(fā)出預(yù)充電,并且該行將保持打開(kāi)狀態(tài)。要使用讀取命令,CS 和 CAS 被拉低,而 RAS 和 WE 被拉高。

寫(xiě)

除了數(shù)據(jù)的方向之外,寫(xiě)入命令實(shí)際上與讀取相同。在寫(xiě)入命令期間,數(shù)據(jù)從數(shù)據(jù)總線中拉出并放入選定的存儲(chǔ)區(qū)、行和列。自動(dòng)預(yù)充電可以像讀取一樣執(zhí)行,并在寫(xiě)入完成時(shí)關(guān)閉當(dāng)前激活的行。為了執(zhí)行寫(xiě)操作,CS、CAS 和 WE 被拉低,而 RAS 保持高。

圖 4 以黃色顯示激活命令(行訪問(wèn)),隨后以藍(lán)色顯示讀/寫(xiě)命令(列訪問(wèn))。行列交叉處的數(shù)據(jù)(以綠色顯示)在讀出放大器和數(shù)據(jù)緩沖器之間移動(dòng)。

pYYBAGJqWzeAFn1XAABZzvVg2HU250.jpg

圖 4. 突出顯示激活和讀/寫(xiě)命令

刷新

DRAM 與其他類型的隨機(jī)存取存儲(chǔ)器的不同之處在于,用于存儲(chǔ)器存儲(chǔ)的電容器會(huì)隨著時(shí)間的推移而泄漏電荷。因此,DRAM 是動(dòng)態(tài)的,因?yàn)樗枰ㄆ谒⑿隆_@就是刷新命令的用武之地。在 DRAM 中,刷新命令每隔一段時(shí)間就會(huì)發(fā)出一次。刷新的一個(gè)重要方面是任何活動(dòng)的銀行都應(yīng)該在發(fā)出命令之前進(jìn)行預(yù)充電。為了執(zhí)行刷新 CS、RAS 和 CAS 被拉低,WE 為高。

刷新后,DRAM 跟蹤最后刷新的行并遞增刷新計(jì)數(shù)器,以便下一個(gè)刷新命令對(duì)下一行進(jìn)行操作。請(qǐng)記住,當(dāng)發(fā)出刷新命令時(shí),會(huì)刷新每個(gè) bank 中的當(dāng)前行。大多數(shù) DRAM 將每 64 毫秒執(zhí)行 8192 次刷新周期。那是每 7.813 μs。盡管設(shè)備密度不斷增加,但這種情況一直保持不變。

其他命令

其他常見(jiàn)的 DRAM 命令包括 NOP(無(wú)操作)、突發(fā)終止和加載模式寄存器。NOP 用于強(qiáng)制 DRAM 什么也不做。這在 DRAM 需要等待時(shí)很有用,例如當(dāng)前正在刷新時(shí)。實(shí)際上,對(duì) DRAM 的讀取和寫(xiě)入是在短時(shí)間內(nèi)完成的。Burst terminate 將截?cái)嘧x或?qū)懨?,即在完成之前將其停止。DRAM 可以置于不同的模式。這些模式通過(guò)加載模式寄存器命令進(jìn)行更改。

圖 5 顯示了一個(gè)真值表,列出了用于執(zhí)行不同 DRAM 命令的解碼器輸入組合。

poYBAGJqWziAYeKZAABiVoWMNGk285.jpg

圖 5. DRAM 命令——真值表

結(jié)論

本文討論了 DRAM 能夠執(zhí)行的不同命令。這些命令由與 DRAM 交互的內(nèi)存控制器或 CPU 發(fā)起。

通過(guò)寫(xiě)入 DRAM 命令解碼器的輸入來(lái)執(zhí)行命令。任何需要認(rèn)真工作的系統(tǒng)都將具有板載內(nèi)存。如果您了解這些命令,那么在您的下一個(gè)項(xiàng)目中實(shí)現(xiàn) DRAM 將會(huì)容易得多。

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

    關(guān)注

    40

    文章

    2292

    瀏覽量

    183152
  • 控制
    +關(guān)注

    關(guān)注

    4

    文章

    1010

    瀏覽量

    122570
  • 內(nèi)存控制器
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    8874
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PLC到底是什么呢?

    PLC到底是什么呢?
    發(fā)表于 10-10 09:30

    這是到底是什么元件?

    開(kāi)關(guān)電源一個(gè)小貼片,在k2717前端。絲印MY還有133字樣。這到底是什么元件?什么原理?
    發(fā)表于 05-26 15:06

    請(qǐng)問(wèn)CKFA到底是什么

    在其他網(wǎng)站看到CKFA,這個(gè)到底是什么?。烤唧w怎么用?。肯M苡斜容^詳細(xì)的解釋,謝謝!
    發(fā)表于 08-20 07:18

    這個(gè)到底是什么電路

    這個(gè)到底是積分電路還是濾波電路還是RC延時(shí)電路,我已經(jīng)頭暈了
    發(fā)表于 01-20 21:56

    請(qǐng)問(wèn)NPU到底是什么?

    目前手機(jī)市場(chǎng)中,AI已成為標(biāo)配,但手機(jī)里的AI夠不夠聰明,還得看手機(jī)芯片里的NPU是否夠強(qiáng)大。那么,NPU到底是什么呢?
    發(fā)表于 12-08 07:00

    特性阻抗到底是什么

    特性阻抗到底是什么?
    發(fā)表于 02-25 07:16

    DSP到底是什么?DSP的要素是什么?

    DSP設(shè)計(jì)人員還是要知道到底DSP到底是什么?DSP的三要素是:性能、價(jià)格與功耗嗎?
    發(fā)表于 03-05 06:23

    QPainter到底是什么?

    QPainter到底是什么?
    發(fā)表于 09-28 06:30

    PID控制算法到底是什么?

    PID控制算法到底是什么?
    發(fā)表于 10-11 07:14

    STM32時(shí)鐘樹(shù)到底是什么?

    STM32時(shí)鐘樹(shù)到底是什么?
    發(fā)表于 11-11 06:22

    STM32固件庫(kù)到底是什么?

    STM32固件庫(kù)到底是什么?
    發(fā)表于 11-30 07:34

    RGB屏到底是什么?

    RGB屏到底是什么?
    發(fā)表于 02-14 07:18

    看看芯片到底是如何設(shè)計(jì)的

    看看芯片到底是如何設(shè)計(jì)的拿好小本本,芯片的設(shè)計(jì)之旅開(kāi)始嘍推薦閱讀▼電子漫畫(huà)系列,更新九張圖片?!咀顝?qiáng)干...
    發(fā)表于 03-02 07:17

    AT指令,AT固件,這個(gè)AT到底是什么意思?

    我們常說(shuō)AT指令,AT固件,這個(gè)AT到底是什么意思?
    發(fā)表于 09-26 07:25

    單片機(jī)的“性能”到底是什么?

    單片機(jī)的“性能”到底是什么?
    的頭像 發(fā)表于 10-24 16:58 ?508次閱讀
    單片機(jī)的“性能”<b class='flag-5'>到底是</b>什么?