保險保單資訊站

dram原理& ppt、dram用途、dram介紹在PTT/mobile01評價與討論,在ptt社群跟網路上大家這樣說

dram原理& ppt在簡介]DRAM系統- 看板VideoCard

作者簡介]DRAM系統
標題eola (eola)
時間2006-02-06 04:31:50 UTC




1. 1bit DRAM

1bit DRAM由一個電晶體以及一個電容器組成.

Bitline
|
|
+---| |--- VCC
| | |
| [---]
--+--
|
RowLine

利用電晶體控制線路是否與電容相接.
接著以電容內的電位高低(有無電荷)
決定這個bit內容是1還是0.

但是這樣結果就是.電容內的資料只要一讀取
就會消失.所以必須讀取後將資料回寫.同樣的電容
一段時間沒理他電荷還是會跑掉.因此必須一段時間內
(按:不超過幾十ns等級的時間)就refresh一次.

當然DRAM(1T,T=transistor)因此可以比起SRAM的4T/6T
擁有較低成本以及高容量單位密度的優勢.因此DRAM佔據了
主流的記憶體系統很長的一段時間,而修正DRAM的效率的各種
實作也是曾出不窮.也幾乎都曾經採用於顯示系統上.

===============================================

詳細原理請翻查數位系統或是電子電路相關教科書.
這裡重點是.DRAM的效率問題來自於電容導致在讀取
後需要寫回以及必須定期refresh.限制了效率表現.

===============================================

2. DRAM array

實際上的DRAM晶片是以2D array的方式組成的.

Col 0 -----------------------------------------
| | | |
VCC ...........................................
| | | |
Col 1 ------------------------------------------
| | | |
VCC ...........................................
| | | |
Col 2 ------------------------------------------
| | | |
VCC ...........................................
| | | |
Col 3 ------------------------------------------
| | | |
VCC ...........................................
| | | |

Row0 Row1 Row2 Row3

(每個Row,Col相連的地方都有如上圖的1bit DRAM存在.
但是我畫不進去...放棄)

每1bit的資料都可以Row/Col的位址決定.當在外部
決定好Row/Col的位址後.也就可以從DRAM array中
讀寫這1bit的資料.

一個典型的RAM晶片規格標示,如16Mx8,表示這顆的傳輸
資料寬度為8bit,而ADDRESS總共有8Mega"組"8bit資料.
因此總容量是128Mbit.

這樣一顆晶片就可以看成有如上的DRAM array 8組.
而每組的Row/Col數量?通常兩者數量會僅可能的接近.
那麼就是有4096 Row以及4096 Column.

3. A DRAM Chip

那麼要如何把以上16Mx8的設計出一個對應晶片的介面呢?
Column以及Row的address各需要12bit.不過我們可以讓它
使用同一組訊號線分兩次傳遞(這稱作row/column multiplexing,
而DRAM基本上都是採用此種方式.也因此影響了效能).因此只要
一組12bit的位址線就夠了.但是需要額外的訊號線通知晶片
正在送的是Row還是Column,因此可以增加兩條1bit的訊號線.
RAS#(Row Access Signal)以及CAS#.當然還要訊號線告知
現在是讀取或是寫入.以及當晶片準備好傳送資料時通知完成的
訊號線.以及8bit的資料線.


[-------]
Address=| |=Data Output(1:8)
(0:11) | |
| |
WE#-| |
RAS# -| |-OE#
CAS# -| |
[-------]



內部應該是長的這樣:

Address(0:11)
==================|
|| [Column Decoder]
|| ------------------
|| Row | |
=== | DRAM Array |
Dec | |
ode | |
r | |
--------------------
| | | | | | | |
v v v v v v v v
----------------
DRAM Sense --->Output Buffer==>Data Output
Amplifier --->


Address送入後.依照RAS#,CAS#判斷現在是Row還是Col的定址.
然後把位址送到ROW or Col的decoder,由decoder啟動對應的
row/col的線路.Row/Col的位址都決定後.Sense Amplifier
會偵測電壓變化來判定bit的1/0,並順便回寫資料.

最後讀取到的資料送到output buffer.因為這顆是16Mx8的晶片.
所以晶片內部應該會有8組同上的Array/Decoder/Sense Amp.
Output buffer將它組成8bit輸出.


DRAM Read Timing

RAS# ----|__________________|--
CAS# --------|______________|--

ADR ====XOOOXOOOX============
11:0 Row Col

WE# _|-----------------------|_
OE# ----|____________________|-

DQ ===============XOOOOOOX===
8:1 Valid Data


DRAM Write Timing

RAS# ----|__________________|--
CAS# --------|______________|--

ADR ====XOOOXOOOX============
11:0 Row Col

WE# --------------|_______|---
OE# _|----------------------|_

DQ ===============XOOOOOOX===
8:1 Write Data


嗯,好極了.終於可以開始傳資料,我們只要"每次"
都送Row,Col位址進去,就可以讀或者寫入8bit的資料.

等等.這是否有哪裡不對勁......??
每次都要送Row/Col,那麼是不是花在送Row/Col的時間
比等待資料傳輸的時間還要多??沒錯.....
所以這顯然不是個好現象.有沒有辦法改進呢?


==================================

Row/Column multiplexing也限制了DRAM的性能

==================================


DRAM的加速: Paged Mode/Fast Paged Mode

既然送Row,Col要花很多時間,可不可以偷懶不送..??
但是不送的話,又要怎麼知道要存取哪邊呢?折衷一下.
只送一個.而另外一個不送的話就假設跟以前一樣.
這是DRAM系統第一個普遍的加速手段.稱為Paged Mode
或者是Fast Paged Mode(事實上這兩者有少許差異,
edge trigger的方式不同,但是原理相同)

原先DRAM中,Row,Col必須都送.

Addr ------------
Data

Paged Mode/Fast Paged Mode

Addr

Data

可以大幅度增加DRAM的效率.

DRAM的加速: EDO RAM(Hyper Paged Mode DRAM)

EDO RAM是在SDRAM之前普遍的一種加速DRAM.它進一步
擴展了fast paged mode,主要的改進為送下一個Column Address
的時候可以不用等待前一個Data輸出完成.而重疊兩者的時間.

EDO RAM(Hyper Paged Mode)

Addr

Data

另外我還找到一個說法表示.EDO RAM會預設下個Col為這個Col
的次一個而預先準備,進一步縮短access time.不過我不確定
是否所有的EDO RAM都支援.或者是僅有部分access time
較低的EDO RAM是如此.還是這是burst EDO才加入的.

Burst EDO:快速消失

Burst EDO支援burst Mode.基本原理為...在DRAM
內部將array再分割成更小可獨立運作的internal bank.
然後同步存取這些internal bank,讓它們在同一段latency
後差不多都準備好了.而可以在接下來最短的時間內依次
寫入或讀出資料.

Normal Mode Burst Mode

Buffer <---Bank 1 Buffer <-----Bank 1
<---Bank 2
<--Bank 1
<-Bank 2

Timing


Addr
Data

burst

Addr
Data

以基本Latency差不多的DRAM而言,晶片組
在66MHZ外頻下使用Fast Paged Mode
可以達到X-3-3-3的Timing.使用EDO RAM可以達到
X-2-2-2.而使用burst EDO可以達到X-1-1-1.
(以上是讀取,寫入都比較慢)

但是Burst EDO只存在少量以及短時間.而立即被JEDEC SDRAM取代.
JEDEC SDRAM同樣也是利用internal bank而支援burst Mode.

==============================================

你不想休息嗎?我都想了

==============================================

SDRAM:採用同步傳輸

介紹SDRAM之前要先定義好SDRAM是什麼.是不是如字面上
一樣.採用Synchoronos transfer的就算嗎?不.事實上Rambus
跟1T-SRAM也都是同步傳輸.一般說的SDRAM指的是JEDEC SDRAM.

包含在PC66/PC100/PC133下的SDR SDRAM.DDR SDRAM,DDRII SDRAM
等.也有許多基於相關標準的衍生型,如SGRAM,GDDR/2/3,Enhanced
SDRAM(又稱為cached SDRAM,也就是加入SRAM為cache..另外也有
Enhanced/Cached EDO),NEC的Virtual Channel(PC133/DDR/DDR2)
等..

所以,一般稱的DDR RAM是不是JEDEC SDRAM?當然是.
只是在DDR SDRAM未出來之前,當然PC66/PC100/PC133
那時都直接稱為SDRAM,在DDR SDRAM出現之後為了區分
才將它們稱為SDR SDRAM.不過稱DDR SDRAM是SDRAM的一種
或者是SDRAM的演進/改良仍然沒錯.

synchronous bus ?

同步傳輸介面指的是什麼意思?與非同步Asynchronous的差異?

簡單一點的比喻,就好像一堆人合作作事情.

非同步傳輸:

A做好後通知B,C等待B完成後才開始作,D等待A以及C兩個
人一起通知它開始做事etc.....

同步傳輸:

所有人都事先收到一份嚴格規定好的行程表(timing diagram)
隨著時間的進行(clock).在行程表內定好的時間一定會完成.
沒達成的就地處決(........有嗎??)

效率上的差異是很明顯的.

可是SDRAM只是把DRAM改成synchronous介面嗎?

很不幸的,如果只是這樣做對效率一點幫助都沒有.雖然
如FPM DRAM及EDO RAM是非同步介面.但是主機板晶片組或者是
顯示晶片上的記憶體控制器存取它們仍然是照著固定的Timing
如6-3-3-3,4-1-1-1,只是需要依照外頻以及RAM的規格手動設定
不同的timing.......

JEDEC SDRAM主要的加速機制仍然發揚了過去有的方法.
省略重複的Row Addr,傳輸Col Addr可以與資料讀寫同時進行,
Burst Mode等..前面簡介過的方法都以另外一種形式在JEDEC
SDRAM上實作.

除此之外JEDEC SDRAM還有Mode Register可以動態改變
SDRAM的存取方式,burst length,各種相關的timing如CL等.
(Mode Registry和SPD不要混淆,作用算是相反吧)

====================================================
最早的SDRAM並沒有SPD
====================================================

JEDEC PC66/PC100/P133 SDRAM在介面上增加了BA(Bank
Address),以指定internal bank,SDR SDRAM有2組internal
bank,DDR SDRAM有4組.

internal bank

Bank 0 Bank 1
v v
Control |-------------| ----|
Logic --> | Bank 0 array| nk1 |
| | |
|-------------|-----|
|Sense Amp | Amp |
--------------------|

Buffer

所以SDRAM存取的時候會碰到三種情況.

1.在同一個page/row中(同一個row中的位址稱為page).

Timing :

CL-1-1-1...傳到burst length結束,SDRAM支援1/2/4/8
(CL=Cas Latency) 以及page結束這幾種

2.不同的row address.沒有bank conflict

RtC-CL-1-1-1...

(Ras to CAS latency)

3.不同的row address而碰上bank conflict.
該bank正在使用中

Precharge-RtC-CL-1-1-1....

而三者發生的機率.除了應用程式的種類外,memory controller
的規劃以及整個記憶體系統的配置(SDRAM不是拼命把記憶體頻寬
加大或是增加多通道效率就會持續增加的)都會有影響.最佳化
記憶體系統.對SDRAM來講可能就是平均有效傳輸速率33%與66%
的差異.

比如說以CL,RtC,Precharge都是3cycle的SDRAM來說
(其實哪裡有這麼好的??),burst length=4,那麼有效傳輸比例
分別是66%,44%,33%.但是memory系統的排程決定了三者的機率.
尤其是效率的bank conflict,在不同的情況下比例可以由5%
到25%以上不等.

Latency:貨真價實的效能障礙.

相對於DRAM密度的快速成長.DRAM對於存取的latency
卻是緩慢的改進.DRAM密度以符合電晶體密度的標準(1.5X/year)
成長的同時,DRAM latency的改進卻不到每年7%.

也就是說,看的到的RAM,雖然好像PC133跳DDR400,DDR2-533,
或者GDDR3 1.xGHZ等.可是真正的latency沒改進的情況下,採用的
是如同更多的internal bank去實作,得到的是更低的有效傳輸比例
.效能改進並沒有如同帳面數字一般.

=====================================

待續: DDR2
DirectRambus
1T-SRAM
Embedded DRAM
記憶體系統的設置參數對效能的影響
改進記憶體存取的軟體技巧
=====================================

--
◆ From: 140.113.23.107

推 saitoTK:I like it!!! 59.115.200.34 02/06 05:14
推 nhsmallcat:推 61.230.53.203 02/06 06:46
推 orinsinal:好文,~! 59.112.41.173 02/06 12:58
推 nono17:不錯文 不過有點看不懂! 219.68.190.149 02/06 13:21
推 SuWeiLin:好文推! (還是有點看不懂...程度差>"<) 218.161.93.17 02/06 13:36
推 Haiker:正點....!!218.169.242.148 02/06 14:08
推 wen1981:太深澳了...... 59.121.186.105 02/06 15:09
推 yen6991:這些計組課本不是都有嗎@@ 59.115.201.199 02/06 15:11
推 eola:不把這些介紹完怎麼介紹DDR2 SDRAM?? 140.114.79.128 02/06 15:18
推 singy:推好文 多學了些有用的東西 61.231.164.134 02/06 16:14
推 yen6991:期待DDR2的大作^^...感謝 59.115.201.199 02/06 16:49
推 icome:好專業的文章@@218.171.214.157 02/07 00:18
→ icome:不是念相關科系的 有些難理解 orz218.171.214.157 02/07 00:23
推 storier:期待"改進記憶體存取的軟體技巧"218.168.169.231 02/07 09:58
推 eola:改進記憶體存取的軟體技巧不是指拿套軟體 140.113.23.107 02/07 20:55
→ eola:按一下記憶體效能會變好..而是Compiler的最佳 140.113.23.107 02/07 20:55
→ eola:化,指令排程,利用cache以及寫程式的技巧等 140.113.23.107 02/07 20:56
→ eola:改進程式存取記憶體的效能.但是這部分和 140.113.23.107 02/07 20:56
→ eola:顯示系統已經差太遠了.可能會拿掉..... 140.113.23.107 02/07 20:56
推 storier:恩..我想看的就這些 冏218.168.169.231 02/07 21:07
推 Hoopt:我竟然看得懂.....220.138.221.114 02/07 23:42
推 eola:呃..當然是希望大家看的懂才寫的... 140.113.23.107 02/08 10:26
推 hans0406:推一個,不過Synchoronos是不是多打一個o 61.57.98.91 02/08 16:51
推 MRjk:讚!!!! 218.165.81.135 02/12 16:49

dram原理& ppt關鍵字相關的推薦文章

dram原理& ppt在DRAM 原理1 :DRAM Storage Cell - IT閱讀 - ITREAD01.COM的討論與評價

從原理層面上看,一個最簡單的,儲存一個Bit 資訊的DRAM Storage Cell 的結構如下圖所示:. 由以下4 個部分組成:. Storage Capacitor,即儲存電容,它 ...

dram原理& ppt在圖解RAM結構與原理,系統記憶體的Channel、Chip與Bank的討論與評價

SRAM(Static Random Access Memory)靜態隨機存取記憶體和DRAM(Dynamic Random Access Memory)有著幾點不同,SRAM 的結構較複雜、單位面積的容量較少、 ...

dram原理& ppt在DRAM 原理1 :DRAM Storage Cell - 蜗窝科技的討論與評價

从原理层面上看,一个最简单的,存储一个Bit 信息的DRAM Storage Cell 的结构如下图所示:. 由以下4 个部分组成:. Storage Capacitor,即存储电容, ...

dram原理& ppt在ptt上的文章推薦目錄

    dram原理& ppt在DRAM:工作原理,結構,發展過程 - 中文百科全書的討論與評價

    基本原理就是利用電容記憶體儲電荷的多寡來代表0和1,這就是一個二進制位元(bit),記憶體的最小單位。 DRAM的結構可謂是簡單高效,每一個bit只需要一個電晶體另加一個 ...

    dram原理& ppt在06 記憶體資料存取的討論與評價

    6-2-2 DRAM之工作原理. • 6-3高容量資料儲存裝置資料存取之基本原理. • 6-3-1 硬碟之基本原理 ... 主記憶體: 動態隨機存取記憶體(Dynamic Random Access Memory, DRAM).

    dram原理& ppt在DRAM原理_osnet的博客的討論與評價

    1. Storage CapacitorDRAM Storage Cell 使用Storage Capacitor 来存储Bit 信息。从原理层面上看,一个最简单的,存储一个Bit 信息的DRAM Storage ...

    dram原理& ppt在DRAM(Dynamic Random Access Memory),即動態隨機存的討論與評價

    動態隨機存取存儲器(Dynamic Random Access Memory,DRAM)是一種常見的隨機存取存儲器,主要的作用原理是利用記憶體儲的多寡來代表一個(bit)是1還是0。

    dram原理& ppt在DRAM - 中文百科知識的討論與評價

    DRAM 只能將數據保持很短的時間,原理是利用電容記憶體儲電荷的多寡來代表一個二進制比特(bit)是1還是0,每一個bit只需要一個電晶體加一個電容。但是電容不可 ...

    dram原理& ppt在DRAM 原理2 :DRAM Memory Organization - 台部落的討論與評價

    DRAM 原理 2 :DRAM Memory Organization · 1. Memory Array · 然而,在實際製造過程中,我們並不會無限制的在Bitline 上掛接Cells。 · 當兩條Bitline 都掛接 ...

    dram原理& ppt的PTT 評價、討論一次看



    更多推薦結果