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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于Prefetch和Burst相關的內容

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

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

如題,接下來要討論的主要是關于Prefetch和Burst相關的內容。

1、Prefetch介紹

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

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

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

下面以DDR3為例,下圖是個簡單 一個簡單Read預取示意圖,Write可以看做是 個逆向過程。

當DDR3 為x8 Configuration時,一個Cell的容量為8x8bits,即8個字節(jié)。換一句話說,在指定bank、row地址和col地址之后,可以往該地址內寫入(或讀?。? Bytes。

2、如何計算DDR3 SDRAM的容量

以Mircon的某型號DDR3 SDRAM為例:

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

計算方式一(錯誤):

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

大部分材料給出的都是這種錯誤的計算方法,誤導了很多的初學者。這種計算方法咋一看好像是對的。但是,仔細推敲一下,便可以發(fā)現,按照計算方式一的邏輯,則認為每一個Cell的容量是1bit*8(x8 Configuration),即8bit。這與我們在第一部分所討論的結果(一個Cell的容量為64bits,x8 Configuration下)不符。

當然,從某種角度來說,計算方式一也是正確的,因為分離出的Column Address的位數實際上是和prefetch對應的。比如DDR3 8-bit Prefetch對3bits的Column Address,DDR2 4-bit Prefetch對應的是2bits的Column Address。只是如果直接按照計算方式一來計算的話,對于初次接觸DDR的人來說,理解起來存在一定的困難,這也是我寫這一篇博文的原因。

下面給出正確的計算方式,并說明原因。

計算方式二(正確):

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

很多人都會問,為什么要把列地址尋址(Column Addressing)除以8呢?似乎計算方式二看起來更加不合理。接下來,我們先來回顧一下DDR3 SDRAM的結構框圖(還是以Mircon的某型號為例):

大圖可能看的不太清楚,下面來幾個特寫:

沒錯!你沒有看錯!10bit的Column Address的尋址能力只有128?。?!剛好差了8倍(這就是我們在計算方式二中將Column Addressing除以8的原因)!

那么問題又來了,為什么Column Address的尋址能力只有128呢?莫急,請繼續(xù)看下圖:

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

那么,問題又來了!……

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

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

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

那么,問題又來了!……

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

3、DDR中的Burst Length

Burst Lengths,簡稱BL,指突發(fā)長度,突發(fā)是指在同一行中相鄰的存儲單元連續(xù)進行數據傳輸的方式,連續(xù)傳輸所涉及到存儲單元(列)的數量就是突發(fā)長度(SDRAM),在DDR SDRAM中指連續(xù)傳輸的周期數。上一部分講到的Burst Type和Burst Order實際上就是關于Burst Length的讀寫順序的配置。

在DDR3 SDRAM時代,內部配置采用了8n prefetch(預取)來實現高速讀寫.這也導致了DDR3的Burst Length一般都是8。當然也有Bursth ength為4的設置(BC4),是指另外4筆數據是不被傳輸的或者被認為無效而已。

在DDR2時代,內部配置采用的是4n prefetch,Burst length有4和8兩種,對于BL=8的讀寫操作,會出現兩次4n Prefetch的動作。

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 存儲
    +關注

    關注

    13

    文章

    4324

    瀏覽量

    85938
  • DDR
    DDR
    +關注

    關注

    11

    文章

    712

    瀏覽量

    65387
  • Burst
    +關注

    關注

    1

    文章

    6

    瀏覽量

    10127

原文標題:【博文連載】DDR掃盲——關于prefetch與Burst的深入討論

文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    關于Labview里 LJ burst函數的使用

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

    關于plb burst write 的問題

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

    Programmable Transfer Burst Size是什么意思?

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

    Burst模式是什么意思呢

    #1, Burst 模式是Light loading mode, 假如inductor大的話,Burst的頻率會變小,這樣的噪聲會很大。因為Burst Event幾率會變小,在人耳的頻率范圍內
    發(fā)表于 12-30 07:46

    請問一下Arm AMBA協議集中,axi burst 和ahb burst的區(qū)別是什么?

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

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

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

    關于單片機相關芯片的介紹

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

    關于STM32CubeProgrammer的內容

    幾點關于STM32CubeProgrammer的內容
    的頭像 發(fā)表于 03-04 11:08 ?6482次閱讀

    關于 STM32 的幾點內容

    關于STM32的幾點內容
    的頭像 發(fā)表于 03-08 12:02 ?2182次閱讀

    關于CoreSight中調試和跟蹤的相關內容

    講講關于CoreSight中調試和跟蹤的相關內容。 strongerHuang 1 調試和跟蹤功能 CoreSight兩個主要功能就是調試和跟蹤功能。 1.調試功能 運行處理器的控制,允許啟動和停止
    的頭像 發(fā)表于 11-03 16:10 ?2137次閱讀

    FreeRTOS的許可內容以及License相關內容

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

    AXI_GP接口和AXI_HP接口的相關內容

    學習關于ZYNQ IP核中的GP接口和HP接口的異同,介紹關于AXI_GP接口和AXI_HP接口的相關內容。
    的頭像 發(fā)表于 07-03 14:17 ?3110次閱讀

    SPI協議相關內容

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

    AMBA AHB協議的burst termination簡析

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

    TIM DMA burst輸出變頻PWM波形

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