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

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

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

關(guān)于Prefetch和Burst相關(guān)的內(nèi)容

SwM2_ChinaAET ? 來(lái)源:未知 ? 作者:李倩 ? 2018-07-02 14:20 ? 次閱讀

學(xué)習(xí)DDR有一段時(shí)間了,期間看了好多的資料(部分公司培訓(xùn)資料、幾十篇的博文,Micron的Datasheet,JESD79規(guī)范等)。但是有一個(gè)問(wèn)題,想了好久(很多資料都沒(méi)有說(shuō)明白),至今才算搞明白,所以寫(xiě)一篇文章和大家分享一下。

如題,接下來(lái)要討論的主要是關(guān)于Prefetch和Burst相關(guān)的內(nèi)容。

1、Prefetch介紹

首先,簡(jiǎn)單介紹一下Prefetch技術(shù)。所謂prefetch,就是預(yù)加載,這是DDR時(shí)代提出的技術(shù)。在SDR中,并沒(méi)有這一技術(shù),所以其每一個(gè)cell的存儲(chǔ)容量等于DQ的寬度(芯片數(shù)據(jù)IO位寬)?!娟P(guān)于什么是cell(存儲(chǔ)單元,可以去看一下,我之前的博文:http://blog.chinaaet.com/justlxy/p/5100051913)】

進(jìn)入DDR時(shí)代之后,就有了prefetch技術(shù),DDR是兩位預(yù)?。?-bit Prefetch),有的公司則貼切的稱之為2-n Prefetch(n代表芯片位寬)。DDR2是四位預(yù)?。?-bit Prefetch),DDR3和DDR4都是八位預(yù)?。?-bit Prefetch)。而8-bit Prefetch可以使得內(nèi)核時(shí)鐘是DDR時(shí)鐘的四分之一,這也是Prefetch的根本意義所在。

補(bǔ)充說(shuō)明:芯片位寬的另一種說(shuō)法是配置模式(Configuration),在DDR3時(shí)代,一般有x4,x8,x16。

下面以DDR3為例,下圖是個(gè)簡(jiǎn)單 一個(gè)簡(jiǎn)單Read預(yù)取示意圖,Write可以看做是 個(gè)逆向過(guò)程。

當(dāng)DDR3 為x8 Configuration時(shí),一個(gè)Cell的容量為8x8bits,即8個(gè)字節(jié)。換一句話說(shuō),在指定bank、row地址和col地址之后,可以往該地址內(nèi)寫(xiě)入(或讀?。? Bytes。

2、如何計(jì)算DDR3 SDRAM的容量

以Mircon的某型號(hào)DDR3 SDRAM為例:

以圖中紅色部分的內(nèi)容作為分析案例(8個(gè)bank,x8的Configuration):

計(jì)算方式一(錯(cuò)誤):

64K*8*1K*8(Row Addressing * Bank Addressing * Column Addressing * x8 Configuration)= 4Gb(512 Megx8)。

大部分材料給出的都是這種錯(cuò)誤的計(jì)算方法,誤導(dǎo)了很多的初學(xué)者。這種計(jì)算方法咋一看好像是對(duì)的。但是,仔細(xì)推敲一下,便可以發(fā)現(xiàn),按照計(jì)算方式一的邏輯,則認(rèn)為每一個(gè)Cell的容量是1bit*8(x8 Configuration),即8bit。這與我們?cè)诘谝徊糠炙懻摰慕Y(jié)果(一個(gè)Cell的容量為64bits,x8 Configuration下)不符。

當(dāng)然,從某種角度來(lái)說(shuō),計(jì)算方式一也是正確的,因?yàn)榉蛛x出的Column Address的位數(shù)實(shí)際上是和prefetch對(duì)應(yīng)的。比如DDR3 8-bit Prefetch對(duì)3bits的Column Address,DDR2 4-bit Prefetch對(duì)應(yīng)的是2bits的Column Address。只是如果直接按照計(jì)算方式一來(lái)計(jì)算的話,對(duì)于初次接觸DDR的人來(lái)說(shuō),理解起來(lái)存在一定的困難,這也是我寫(xiě)這一篇博文的原因。

下面給出正確的計(jì)算方式,并說(shuō)明原因。

計(jì)算方式二(正確):

64K*8*(1K/8)*8*8(Row Addressing * Bank Addressing * (Column Addressing / 8) * x8 Configuration * 8-bit Prefetch)= 4Gb(512 Megx8)。

很多人都會(huì)問(wèn),為什么要把列地址尋址(Column Addressing)除以8呢?似乎計(jì)算方式二看起來(lái)更加不合理。接下來(lái),我們先來(lái)回顧一下DDR3 SDRAM的結(jié)構(gòu)框圖(還是以Mircon的某型號(hào)為例):

大圖可能看的不太清楚,下面來(lái)幾個(gè)特寫(xiě):

沒(méi)錯(cuò)!你沒(méi)有看錯(cuò)!10bit的Column Address的尋址能力只有128?。?!剛好差了8倍(這就是我們?cè)谟?jì)算方式二中將Column Addressing除以8的原因)!

那么問(wèn)題又來(lái)了,為什么Column Address的尋址能力只有128呢?莫急,請(qǐng)繼續(xù)看下圖:

在上圖中,可以清晰地發(fā)現(xiàn),10bits的Column Address只有7bits用于列地址譯碼!列地址0,1,2并沒(méi)有用?。?!

那么,問(wèn)題又來(lái)了!……

列地址0,1,2,這3bits被用于什么功能了?或者是Mircon的設(shè)計(jì)者腦殘,故意浪費(fèi)了這三個(gè)bits?顯然不是。

在JESD79-3規(guī)范中有如下的這個(gè)表格:

可以發(fā)現(xiàn),Column Address的A2,A1,A0三位被用于Burst Order功能,并且A3也被用于Burst Type功能。由于一般情況,我們采用的都是順序讀寫(xiě)模式(即{A2,A1,A0}={0,0,0}),所以此時(shí)的A3的取值并無(wú)直接影響。

那么,問(wèn)題又來(lái)了!……

Burst又是什么鬼呢?且看第三部分。

3、DDR中的Burst Length

Burst Lengths,簡(jiǎn)稱BL,指突發(fā)長(zhǎng)度,突發(fā)是指在同一行中相鄰的存儲(chǔ)單元連續(xù)進(jìn)行數(shù)據(jù)傳輸?shù)姆绞?,連續(xù)傳輸所涉及到存儲(chǔ)單元(列)的數(shù)量就是突發(fā)長(zhǎng)度(SDRAM),在DDR SDRAM中指連續(xù)傳輸?shù)闹芷跀?shù)。上一部分講到的Burst Type和Burst Order實(shí)際上就是關(guān)于Burst Length的讀寫(xiě)順序的配置。

在DDR3 SDRAM時(shí)代,內(nèi)部配置采用了8n prefetch(預(yù)取)來(lái)實(shí)現(xiàn)高速讀寫(xiě).這也導(dǎo)致了DDR3的Burst Length一般都是8。當(dāng)然也有Bursth ength為4的設(shè)置(BC4),是指另外4筆數(shù)據(jù)是不被傳輸?shù)幕蛘弑徽J(rèn)為無(wú)效而已。

在DDR2時(shí)代,內(nèi)部配置采用的是4n prefetch,Burst length有4和8兩種,對(duì)于BL=8的讀寫(xiě)操作,會(huì)出現(xiàn)兩次4n Prefetch的動(dòng)作。

上圖是JESD79-3規(guī)范中給出的DDR3 SDRAM的Command Truth Table??梢钥吹剑x取和寫(xiě)入都有三種基本模式(Fixed BL8 or BC4,BC4 on the fly,BL8 on the fly)。這一部分的內(nèi)容,在我之前的博文中有所提及,此處不再詳細(xì)介紹。

聲明:本文內(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)投訴
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4228

    瀏覽量

    85580
  • DDR
    DDR
    +關(guān)注

    關(guān)注

    11

    文章

    705

    瀏覽量

    65170
  • Burst
    +關(guān)注

    關(guān)注

    1

    文章

    6

    瀏覽量

    10113

原文標(biāo)題:【博文連載】DDR掃盲——關(guān)于prefetch與Burst的深入討論

文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于Labview里 LJ burst函數(shù)的使用

    本帖最后由 Wolfshadow 于 2012-12-13 11:23 編輯 最近在做一個(gè)基于labjack的電子血壓計(jì)的設(shè)計(jì)里面要用到AI burst.vi不過(guò)這個(gè)我完全不懂 不知道各位能否給點(diǎn)建議 怎么實(shí)現(xiàn)收縮壓 舒張壓 以及平均壓的測(cè)定 怎么設(shè)定l***urst
    發(fā)表于 12-13 11:16

    關(guān)于plb burst write 的問(wèn)題

    在edk中搭建emc,怎樣通過(guò)cpu(powerpc)向外面emc所連接的sram進(jìn)行plb burst write,我感覺(jué)有點(diǎn)矛盾,cpu只有普通的輸入輸出函數(shù)XIo_32Out(),實(shí)在不知道怎么burst write,求指教!
    發(fā)表于 07-17 15:20

    Programmable Transfer Burst Size是什么意思?

    Programmable Transfer Burst Size總是能夠看到Burst Size,可能我自己的理解為傳輸?shù)拈y值,但是總覺(jué)的這樣理解不太好,懇請(qǐng)你們給說(shuō)一下,謝謝!
    發(fā)表于 07-31 11:30

    Burst模式是什么意思呢

    #1, Burst 模式是Light loading mode, 假如inductor大的話,Burst的頻率會(huì)變小,這樣的噪聲會(huì)很大。因?yàn)?b class='flag-5'>Burst Event幾率會(huì)變小,在人耳的頻率范圍內(nèi)
    發(fā)表于 12-30 07:46

    請(qǐng)問(wèn)一下Arm AMBA協(xié)議集中,axi burst 和ahb burst的區(qū)別是什么?

    請(qǐng)問(wèn)一下Arm AMBA協(xié)議集中,axi burst 和ahb burst的區(qū)別是什么?
    發(fā)表于 10-08 15:48

    光突發(fā)交換(Optical Burst Switching,

    光突發(fā)交換(Optical Burst Switching, OBS) 光突發(fā)交換(Optical Burst Switching, OBS)是近年來(lái)提出的一種新技術(shù),它使用的帶寬粒度介于光電路交換
    發(fā)表于 03-04 11:47 ?1815次閱讀
    光突發(fā)交換(Optical <b class='flag-5'>Burst</b> Switching,

    關(guān)于單片機(jī)相關(guān)芯片的介紹

    關(guān)于單片機(jī)相關(guān)芯片的介紹,內(nèi)容基本覆蓋了設(shè)計(jì)所需,有不全的地方希望大家多多理解啊
    發(fā)表于 11-19 17:21 ?11次下載

    關(guān)于STM32CubeProgrammer的內(nèi)容

    幾點(diǎn)關(guān)于STM32CubeProgrammer的內(nèi)容
    的頭像 發(fā)表于 03-04 11:08 ?6351次閱讀

    關(guān)于 STM32 的幾點(diǎn)內(nèi)容

    關(guān)于STM32的幾點(diǎn)內(nèi)容
    的頭像 發(fā)表于 03-08 12:02 ?2108次閱讀

    關(guān)于CoreSight中調(diào)試和跟蹤的相關(guān)內(nèi)容

    講講關(guān)于CoreSight中調(diào)試和跟蹤的相關(guān)內(nèi)容。 strongerHuang 1 調(diào)試和跟蹤功能 CoreSight兩個(gè)主要功能就是調(diào)試和跟蹤功能。 1.調(diào)試功能 運(yùn)行處理器的控制,允許啟動(dòng)和停止
    的頭像 發(fā)表于 11-03 16:10 ?2022次閱讀

    FreeRTOS的許可內(nèi)容以及License相關(guān)內(nèi)容

    的許可內(nèi)容,以及License相關(guān)內(nèi)容。?? 1 關(guān)于License License,即許可的意思,雖然我們很多軟件都是免費(fèi)使用,但依然需要遵循許可才行,比如我們所說(shuō)的開(kāi)源許可。
    的頭像 發(fā)表于 01-18 11:15 ?2712次閱讀

    AXI_GP接口和AXI_HP接口的相關(guān)內(nèi)容

    學(xué)習(xí)關(guān)于ZYNQ IP核中的GP接口和HP接口的異同,介紹關(guān)于AXI_GP接口和AXI_HP接口的相關(guān)內(nèi)容
    的頭像 發(fā)表于 07-03 14:17 ?2859次閱讀

    SPI協(xié)議相關(guān)內(nèi)容

    今天分享SPI協(xié)議相關(guān)內(nèi)容。
    的頭像 發(fā)表于 09-05 10:50 ?1070次閱讀

    AMBA AHB協(xié)議的burst termination簡(jiǎn)析

    在AMBA AHB協(xié)議中,AHB master可以用burst傳輸連續(xù)取多筆數(shù)據(jù)。AHB定義了4、8和16拍的burst傳輸、未定義長(zhǎng)度的burst傳輸和單次傳輸。
    發(fā)表于 06-29 15:54 ?1894次閱讀
    AMBA AHB協(xié)議的<b class='flag-5'>burst</b> termination簡(jiǎn)析

    TIM DMA burst輸出變頻PWM波形

    電子發(fā)燒友網(wǎng)站提供《TIM DMA burst輸出變頻PWM波形.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 17:06 ?2次下載
    TIM DMA <b class='flag-5'>burst</b>輸出變頻PWM波形