DRAM記憶體原理(二)結構和功能

2021-06-27 12:17:24 字數 3103 閱讀 2906

記憶體最基本的單位是記憶體「細胞」——也就是我們前面展示給大家dram基本單元示意圖所示的部分,下面我們對這個部分通稱為dram基本單元。每個dram基本單元代表乙個「位」——bit(也就是乙個位元),並且有乙個由列位址和行位址定義的唯一位址。8個位元組成乙個位元組,它可代表256種組合(即2的八次冪),位元組是記憶體中最小的可定址單元。dram基本單元不能被單獨定址——否則現在的記憶體將會更加複雜,而且也沒有必要。很多dram基本單元連線到同乙個列線(row line)和同乙個行線(column line),組成了乙個矩陣結構,這個矩陣結構就是乙個bank。大部分的sdram晶元由4個bank組成,而sdram dimm (dual inline memory module雙列直插式)可能由8或者16個晶元組成。sdram dimm有14條位址線和64 bit資料線(如果乙個dimm記憶體使用8bit sdram晶元,那麼你應該在記憶體條上看到8個晶元,當然有的dimm使用4 bit sdram晶元,那麼你將會在記憶體條上看到16片)。

以下是對插圖的注釋:

row address buffer:

行位址緩衝

column address buffer

row decoder

:行解碼器

column decoder:列解碼器

memory array:記憶體陣

sense amp:感測放大器

由上圖可見乙個

bank

由記憶體陣列、

sense amp

、乙個行解碼器、乙個列解碼器組成。如果要理解記憶體

bank

內部工作狀況,讓我們看看當快取沒有命中後

cpu從系統主記憶體中呼叫資料的情況。

cpu需要依次讀取乙個

32位元組的資料

,首先向晶元組發出請求

——這通常需要乙個時鐘週期晶元組將通過

14條列位址線傳送乙個行位址,也就是這個行位址被傳送到

dimm

所有的晶元上。擁有相同行位址的行被成為乙個頁面。換句話說,當晶元組向

dimm

傳送行位址後,就在開啟了

dimm

上乙個頁面。

每乙個記憶體

bank

都有乙個感測放大器

(sense ampplifier),

用來放大從基本單元讀出(或者寫入)內容時電荷。感測放大器根據從晶元組傳送來的行位址讀出相應的資料,這個讀出過程需要一定的時間這就是

ras到

cas的延遲,簡稱

trcd

。不同質量的

sdram

的trcd需要2

或者3個週期。

現在我們已經有了正確的行位址,不過還不知道確切的到那個基本單元去獲得資訊。cas延遲時間就是記憶體用於取得正確的列位址所需要的時間。cas延遲時間一般時2或者3個時鐘週期。

然後記憶體基本單元就把訊號傳送到

dimm

的輸出快取,這樣晶元組就可以讀取它們了。現在我們有了前

8個位元組的內容,以及在感測放大器中有了正確的行位址,等到下面的

24dimm

的輸出快取當中。這樣每個時鐘週期都有

8個位元組傳送到輸出快取中,這種模式就叫做

「突發模式」。

可見,主記憶體的延遲時間(也就是所謂的潛伏期,從fsb到dram)等於下列時間的綜合:

fsb同主板晶元組之間的延遲時間(+/- 1個時鐘週期)

晶元組同dram之間的延遲時間(+/- 1個時鐘週期)

cas延遲時間 (2-3 時鐘週期,用於決定正確的列位址)

另外還需要1個時鐘週期來傳送資料

資料從dram輸出快取通過晶元組到cpu的延遲時間(+/- 2個時鐘週期)

可以看出,乙個真正的pc100的sdram cas=2)的記憶體取得最前八個位元組的時間是9個時鐘週期,而另外24個位元組只是需要3個時鐘週期,這樣pc100的sdram取得32個位元組的資料只是需要12個時鐘週期。

對於同樣的情況,也就是當二級快取未命中的時候,cpu從記憶體取得資料所需要的延遲時間需要用如下方法計算:cpu倍頻×記憶體延遲時間=cpu延遲時間。如果500mhz(5×100mhz)的cpu需要5×9個延遲週期。也就是說如果二級快取沒有命中,cpu需要45個時鐘中期才能得到新的資料。

通過以上的介紹,我們已經理解的dram工作的基本原理,下面讓我們了解一下決定ram技術速度的因素。

究竟是什麼決定dram速度?sdram是多bank結構,晶元組可以保持一部分曾經訪問過的bank的行位址,也就是說保持一部分已經被開啟的「頁面」。如果需要訪問的資料在同一列中,那麼晶元組不需要等待感測器進行變換——這種情況就叫做頁面命中。這時ras到cas延遲時間就是0個時鐘週期,只需要經過cas延遲就能在記憶體緩衝調入正確資料。所以,頁面命中就意味著我們只需要等待列位址的確立,就能得到需要的資料了。不過有的情況下,晶元組請求的記憶體頁面不是處於開啟的狀態,這就叫做頁面失效。在這種情況下,ras到cas延遲時間將是2或者3時鐘週期(根據記憶體的品質不同而不同)。這種情況就是前面我們討論過的情形。如果晶元組已經保持了某乙個bank的某乙個行位址,也就是在某乙個bank已經開啟了乙個頁面,而請求的資料是位於同乙個bank的不同行位址的資料,這種情況是最糟糕的。這樣就意味著感測放大器需要首先回寫舊的行位址,然後再轉換新的行位址。回寫舊的行位址所占用的時間叫做「預轉換時間」(precharge time),當遇到這種情況時,是最壞的情況。

device_width表示裝置的頻寬(單位為bit),每個列(column)表示為device_width位(bit),每一行(row)有num_cols個column。每乙個bank包含num_rows個行,所以乙個device的容量per_device_storage=num_rows*num_cols*device_width*numbanks。乙個rank的容量為64bit。所以乙個rank必須有device的個數為num_devices_per_rank=64/device_width。這樣我們算在一起,得出乙個rank的大小為per_rank_storage= per_device_storage*

num_devices_per_rank=num_rows*num_cols*device_width*numbanks* num_devices_per_rank=num_devices_per_rank

DRAM 記憶體原理

rom read only memory 唯讀儲存器。斷電後資訊不丟失,如計算機啟動用的bios晶元。訪問速度很低,較ram而言 且不能改寫。由於不能改寫資訊,不能公升級,現已很少使用。ram ramdom access memory 易揮發性隨機訪問儲存器,高速訪問,讀寫時間相等,且與位址無關,如...

DRAM 記憶體介紹 二

參考資料 ddr3 sdram的讀寫操作都是burst相關的,在乙個address啟動讀寫操作後,它都要連續進行burst length的byte讀寫,就像前一章的圖中,act命令後,會跟著乙個多個讀寫命令。read burst 的長度總是4 clocks,這是因為ddr傳輸資料頻率是主機的兩倍,4...

Hamachi 原理 和 功能

hamachi 是一款利用p2p 方式來進行檔案傳輸的軟體,它能夠讓使用者穿透防火牆或是nat vpn 等網路環境,連線上乙個虛擬的網路群組,使用者無論在何處,只要透過hamachi 連線上該群組,就能夠與群組中的電腦進行檔案的分享。hamachi 提供的是一種加密的資料傳輸,不像bt等p2p採用非...