<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

SDRAM知多少?

作者: 時(shí)間:2017-12-14 來(lái)源:網(wǎng)絡(luò ) 收藏

  

本文引用地址:http://dyxdggzs.com/article/201712/373012.htm

  :Synchronous Dynamic Random Access Memory,同步動(dòng)態(tài)隨機存儲器,同步是指內存工作需要同步時(shí)鐘,內部的命令的發(fā)送與數據的傳輸都以它為基準;動(dòng)態(tài)是指存儲陣列需要不斷的刷新來(lái)保證數據不丟失;隨機是指數據不是線(xiàn)性依次存儲,而是自由指定地址進(jìn)行數據讀寫(xiě)。

  所謂的影響性能是并不是指的帶寬,頻率與位寬固定后,帶寬也就不可更改了。但這是理想的情況,在內存的工作周期內,不可能總處于數據傳輸的狀態(tài),因為要有命令、尋址等必要的過(guò)程。但這些操作占用的時(shí)間越短,內存工作的效率越高,性能也就越好。

  非數據傳輸時(shí)間的主要組成部分就是各種延遲與潛伏期。通過(guò)上文的講述,大家應該很明顯看出有三個(gè)參數對內存的性能影響至關(guān)重要,它們是tRCD、CL和tRP。每條正規的內存模組都會(huì )在標識上注明這三個(gè)參數值,可見(jiàn)它們對性能的敏感性。

  以?xún)却孀钪饕牟僮鳌x取為例。tRCD決定了行尋址(有效)至列尋址(讀/寫(xiě)命令)之間的間隔,CL決定了列尋址到數據進(jìn)行真正被讀取所花費的時(shí)間,tRP則決定了相同L-Bank中不同工作行轉換的速度?,F在可以想象一下讀取時(shí)可能遇到的幾種情況(分析寫(xiě)入操作時(shí)不用考慮CL即可):

  1.要尋址的行與L-Bank是空閑的。也就是說(shuō)該L-Bank的所有行是關(guān)閉的,此時(shí)可直接發(fā)送行有效命令,數據讀取前的總耗時(shí)為tRCD+CL,這種情況我們稱(chēng)之為頁(yè)命中(PH,Page Hit)。

  2.要尋址的行正好是前一個(gè)操作的工作行,也就是說(shuō)要尋址的行已經(jīng)處于選通有效狀態(tài),此時(shí)可直接發(fā)送列尋址命令,數據讀取前的總耗時(shí)僅為CL,這就是所謂的背靠背(Back to Back)尋址,我們稱(chēng)之為頁(yè)快速命中(PFH,Page Fast Hit)或頁(yè)直接命中(PDH,Page Direct Hit)。

  3.要尋址的行所在的L-Bank中已經(jīng)有一個(gè)行處于活動(dòng)狀態(tài)(未關(guān)閉),這種現象就被稱(chēng)作尋址沖突,此時(shí)就必須要進(jìn)行預充電來(lái)關(guān)閉工作行,再對新行發(fā)送行有效命令。結果,總耗時(shí)就是tRP+tRCD+CL,這種情況我們稱(chēng)之為頁(yè)錯失(PM,Page Miss)。

  SDRAM基礎知識總結

  顯然,PFH是最理想的尋址情況,PM則是最糟糕的尋址情況。上述三種情況發(fā)生的機率各自簡(jiǎn)稱(chēng)為PHR——PH Rate、PFHR——PFH Rate、PMR——PM Rate。因此,系統設計人員(包括內存與北橋芯片)都盡量想提高PHR與PFHR,同時(shí)減少PMR,以達到提高內存工作效率的目的。

  SDRAM 基本知識

  SDRAM只有一組地址線(xiàn),一組數據線(xiàn),其中地址線(xiàn)分為行地址和列地址,它通過(guò)RAS行地址鎖存器和CAS列地址鎖存器來(lái)實(shí)現行列。很多人可能會(huì )跟我一樣,算一下它的容量不符合自己板子,下面就是計算容量的公式。這也是公司比較正規的表示方法:

  2,097,152-WORDS X 4BANKS X 16-Bits

  4,194,304-WORDS X 4BANKS X 8-Bits

  8,388,608-WORDS X 4BANKS X 4-Bits

  SDRAM即同步動(dòng)態(tài)RAM :所有輸入信號均在時(shí)鐘上升沿被采樣,需要動(dòng)態(tài)刷新保持數據

  1、重要的連接信號:

  a、 RAS:行地址鎖存

  b、 CAS:列地址鎖存

  c、 WE:寫(xiě)使能

  d、 DQ0-DQ15:數據總線(xiàn)

  e、 DQML、DQMH:數據I/O屏蔽,讀模式下屏蔽輸出緩沖,寫(xiě)模式下屏蔽輸入緩沖,DQML控制DQ0-DQ7,DQMH控制DQ8—DQ15

  f、 A10連接自動(dòng)放電

  2、擴展方式:

  使用雙片級聯(lián),將16位數據線(xiàn)擴展為32位,從而與32位CPU匹配,優(yōu)化SDRAM性能。擴展后一個(gè)地址對應32位,從而一個(gè)地址單元以4Byte進(jìn)行數據訪(fǎng)問(wèn)時(shí),內存會(huì )忽略A0和A1,故SDRAM的A0接CPU數據線(xiàn)的A2。如果需要訪(fǎng)問(wèn)地址偏移為01的單個(gè)字節,通過(guò)DQML和DQMH信號進(jìn)行幫助。

  3、SDRAM的burst mode:

  一種利用內部列地址發(fā)生器來(lái)工作的高速讀寫(xiě)模式,只要設置最開(kāi)始的列地址,后面的地址就可以通過(guò)內部的列地址發(fā)生器來(lái)自動(dòng)生成。

  4、SDRAM的初始化:

  SDRAM上電后使用前必須要經(jīng)過(guò)一段初始化操作才可以使用。這個(gè)操作過(guò)程是標準的過(guò)程。這個(gè)過(guò)程如下:

  a、 放電(precharge):關(guān)閉存儲單元,使存儲單元無(wú)效。

  b、 自動(dòng)刷新(auto-refresh)

  c、 加載模式寄存器(Load Mode Register)

  d、 正常讀寫(xiě)

  SDRAM基礎知識總結

  在輸入precharge命令后,因為必須是對所有BANK進(jìn)行Precharge,所以A10這個(gè)管腳要設置成高,因此在Precharge后面要做一個(gè)讀的操作,這個(gè)操作最主要的是在SDRAM的尋址空間里設置的地址必須是A10是高的。在輸入Auto-refresh命令后,一般要跟幾句空操作或者讀什么之類(lèi)的,反正要達到延遲的目的,以使得SDRAM有時(shí)間來(lái)完成refresh。之后就是要設置SDRAM的模式寄存器,這個(gè)寄存器里一般設置了burst長(cháng)度,CAS,burst類(lèi)型,操作模式,還有是設置SDRAM是工作在單個(gè)讀寫(xiě)操作還是burst操作下。而這個(gè)寄存器的設置也是通過(guò)地址線(xiàn)來(lái)設置的,所以在發(fā)出Load Mode Register命令后要做一個(gè)操作可是使得在SDRAM的地址線(xiàn)上出線(xiàn)的值就是你要設置的值。這里很有必要提醒的一下的是,這個(gè)操作是8位的操作。設置完模式寄存器后就進(jìn)入正常操作模式。

  5、基本的讀寫(xiě)操作:

  SDRAM的基本讀操作需要控制線(xiàn)和地址線(xiàn)相配合地發(fā)出一系列命令來(lái)完成。先發(fā)出BANK激活命令(ACTIVE),并鎖存相應的BANK地址(BA0、BA1給出)和行地址(A0~A12給出)。BANK激活命令后必須等待大于tRCD(SDRAM的RAS到CAS的延遲指標)時(shí)間后,發(fā)出讀命令字。CL(CAS延遲值)個(gè)工作時(shí)鐘后,讀出數據依次出現在數據總線(xiàn)上。

  在讀操作的最后,要向SDRAM發(fā)出預充電(PRECHARGE)命令,以關(guān)閉已經(jīng)激活的頁(yè)。等待tRP時(shí)間(PRECHARGE)命令,以關(guān)閉已經(jīng)激活的頁(yè)。等待tRP時(shí)間(PRECHAREG命令后,相隔tRP時(shí)間,才可再次訪(fǎng)問(wèn)該行)后,可以開(kāi)始下一次的讀、寫(xiě)操作。SDRAM的讀操作只有突發(fā)模式(Burst Mode),突發(fā)長(cháng)度為1、2、4、8可選。SDRAM的基本寫(xiě)操作也需要控制線(xiàn)和地址線(xiàn)相配合地發(fā)出一系列命令來(lái)完成。先發(fā)出BANK激活命令(ACTIVE),并鎖存相應的BANK地址(BA0、BA1給出)和行地址(A0~A12給出)。

  BANK激活命令后必須等待大于tRCD的時(shí)間后,發(fā)出寫(xiě)命令字。寫(xiě)命令可以立即寫(xiě)入,需寫(xiě)入數據依次送到DQ(數據線(xiàn))上。在最后一個(gè)數據寫(xiě)入后延遲tWR時(shí)間。發(fā)出預充電命令,關(guān)閉已經(jīng)激活的頁(yè)。等待tRP時(shí)間后,可以展開(kāi)下一次操作。寫(xiě)操作可以有突發(fā)寫(xiě)和非突發(fā)寫(xiě)兩種。突發(fā)長(cháng)度同讀操作。

  6、AT91sam9260 SDRAM

  型號MT48LC16M16A2,為4MB*4*16bit=32MB,采用雙片級聯(lián)構成32位64MB的SDRAM。SDRAM采用地址信號線(xiàn)復用。行尋址使用A0-A12,尋址范圍8K字節;列尋址使用A0-A8,尋址范圍512字節;bank尋址使用BA0-BA1,尋址四個(gè)bank。使用額外的四根信號線(xiàn)連接兩片SDRAM的BA[1:0]。

  AT91SAM9260使用SDRAMC初始化SDRAM初始化順序如下:

  a、 設置配置寄存器SDRAMC_CR,填入寄存器中的值單位均為時(shí)鐘周期:

  NC: Number of Column Bits,9

  NR: Number of Row Bits,13

  NB: Number of banks,4

  CAS: CAS Latency,2-3

  DBW:數據位寬32位

  tWR:Write Recover TIme,14ns

  tRC: Row Cycle Delay, 默認值7

  tRP: Row Precharge Delay,默認值3

  tRCD:Row To Column Delay,15-20ns

  tRAS:AcTIve To Precharge Delay,37-44ns

  tXSR:Exit Self Refresh To Active Delay,67-75ns

  b、 在存儲設備寄存器(SDRAMC_MDR)中設置存儲類(lèi)型為SDRAM

  c、 提供200us的延遲

  d、 向SDRAM設備發(fā)出NOP命令:設置SDRAM 模式寄存器中設置模式為1,向SDRAM任意地址執行寫(xiě)操作。

  e、 向SDRAM設備發(fā)出放電命令:設置SDRAM 模式寄存器中設置模式為2,向SDRAM任意地址執行寫(xiě)操作。

  f、 提供8個(gè)自動(dòng)刷新周期:設置SDRAM 模式寄存器中設置模式為4,向SDRAM任意地址執行寫(xiě)操作。

  g、 發(fā)出模式寄存器設置周期,配置SDRAM模式寄存器參數,尤其是CAS Latency和burst length。程序必須設置模式寄存器為模式3,對SDRAM執行寫(xiě)訪(fǎng)問(wèn),地址中BA[1:0]必須為0

  h、 進(jìn)入正常模式:設置SDRAM 模式寄存器中設置模式為0,向SDRAM任意地址執行寫(xiě)操作。

  在SDRAMC Rfresh Timer寄存器的count字段中寫(xiě)入刷新率,刷新率為刷新周期間的延遲,自動(dòng)刷新周期

  7.81us*100MHz=781

  SDRAM(Synchronous DRAM),因為Synchronous,所以所有信號都是和時(shí)鐘信號同步??梢园裇DRAM看成是EXCEL電子表格,通過(guò)行地址和列地址就唯一的鎖定了一個(gè)單元格的內容,一般的SDRAM都有2個(gè)或者兩個(gè)以上的Bank,就像一個(gè)EXCEL文檔有2個(gè)或者兩個(gè)以上的sheet,每個(gè)sheet又由行號和列號鎖定單元格內容。

  在實(shí)際工作中,bank地址和行地址一起發(fā)出,這個(gè)命令叫做行激活(Row Active),此后列地址和操作指令(讀或寫(xiě))也一起發(fā)出,這兩組信號之間有個(gè)延遲。根據行業(yè)標準,定義此時(shí)間為從行有效到讀/寫(xiě)命令發(fā)出之間的間隔tRCD,即RAS to CAS Delay(RAS至CAS延遲,RAS就是行地址選通脈沖,CAS就是列地址選通脈沖)。這是SDRAM一個(gè)很重要時(shí)序參數,Uboot初始化時(shí)候要配置。在列地址被選中后,數據傳輸過(guò)程被觸發(fā),但在這之前有個(gè)數據準備時(shí)間,即CL(CAS Latency),它也是一個(gè)重要的SDRAM參數,但該時(shí)間只是針對讀操作,寫(xiě)操作沒(méi)有這一時(shí)延。

  SDRAM的數據傳輸基本上都是連續的,所以SDRAM中有突發(fā)傳輸的概念,突發(fā)(Burst)是指在同一行中相鄰的存儲單元連續進(jìn)行數據傳輸的方式,連續傳輸的周期數就是突發(fā)長(cháng)度(Burst Lengths,簡(jiǎn)稱(chēng)BL),在初始化之前要通過(guò)寄存器定義。 在進(jìn)行突發(fā)傳輸時(shí),只要指定起始列地址與突發(fā)長(cháng)度,SDRAM就會(huì )依次地自動(dòng)對后面相應數量的存儲單元進(jìn)行讀/寫(xiě)操作而不再需要控制器連續地提供列地址這樣,除了第一筆數據的傳輸需要若干個(gè)周期(主要是之前的延遲,一般的是tRCD+CL)外,其后每個(gè)數據只需一個(gè)周期的即可獲得。

  在數據讀取完之后,為了騰出讀出放大器以供同一L-Bank內其他行的尋址并傳輸數據,SDRAM芯片將進(jìn)行預充電(precharge)的操作來(lái)關(guān)閉當前工作行。從開(kāi)始關(guān)閉現有的工作行,到可以打開(kāi)新的工作行之間的間隔就是tRP(Row Precharge command Period,行預充電有效周期)。

  大家可以計算一下,三個(gè)規格的容量都是128M,大家可以參照一下。(因為行列復用,所以地址線(xiàn)的數目一般是算雙倍)



關(guān)鍵詞: SDRAM

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>