close
Blogtrottr
T客邦
T客邦 - 全站文章 
More Tickets. Better Service. Lower Prices.

Buy or sell tickets for concerts, sports, or theater. You'll find a huge and affordable selection at Ticket Liquidator!
From our sponsors
圖解RAM結構與原理,系統記憶體的Channel、Chip與Bank
May 31st 2014, 01:00, by R.F.

Bd23113ce5b92317e60fb01ffb8917bf bank、rank、channel 這些關於記憶體的名詞是否已困繞許久,疑似了解卻又說不出個所以然來。就讓我們一步步拆解記憶體的面紗,從架構到讀寫方式逐步揭開記憶體的秘密。

揮發性記憶體分 2 種,SRAM 和 DRAM

RAM(Ramdom Access Memory)隨機存取記憶體,之所以稱作「隨機存取」,是因為相較於早期的線性儲存媒體(磁帶)而言,因為磁帶的存取是線性的,存取時間會依目前磁帶位置和欲存取位置的距離而定,需轉動磁帶至應有的位置,距離越長、轉得越久、存取時間也就越久。而 RAM 沒有這種煩惱,存取時間為固定值,不會因為資料在記憶體的位置而影響存取時間。

而 RAM 在電腦裡又可大致上分為 2 種:SRAM 和 DRAM,兩者的基礎原理差不多,都是將電荷儲存至內部,藉由改變不同的電荷儲存 0 或是 1。SRAM(Static Random Access Memory)靜態隨機存取記憶體和 DRAM(Dynamic Random Access Memory)有著幾點不同,SRAM 的結構較複雜、單位面積的容量較少、存取速度快,DRAM 則是構造簡單、單位面積內的容量較多、存取時間較 SRAM 慢,同時 DRAM 也因為構造較簡單的關係,儲存的電荷會隨著時間漸漸消失,因此需要有個再充電(Refresh)的動作保持電容儲存的資料。


▲SRAM 單一位元儲存區的構造。


▲DRAM 單一位元儲存區的構造。

由圖中 SRAM 和 DRAM 構造可得知,SRAM 採用正反器(flip-flop)構造儲存,DRAM 則是採用電容儲存。因為 SRAM 和 DRAM 種種的特性不同,SRAM 適合做為暫存器和 CPU 快取使用,DRAM 則是適合做為主記憶體或是其他裝置間的快取使用。

揮發與非揮發性記憶體

揮發性記憶體(Volatile Memory)和非揮發性記憶體(Non-Volatile Memory)之間的差異在於,斷電之後是否可保存內部資料,揮發性記憶體的資料會隨著失去電力供應而消失,而非揮發性記憶體依然可以保有內部資料。

揮發性記憶體包含了SRAM和DRAM,而非揮發性記憶體包含ROM(Read-Only Memory)和Flash Memory快閃記憶體。

主記憶體子系統

DRAM 由於製造簡單、高密度,作為電腦內部的主記憶體再適合不過了。但是由於主記憶體擺放在 CPU 之外,從工廠出來的晶粒需要封裝和組合之後才可和 CPU 連結,因此從 CPU 至 DRAM 晶粒之間依據層級由大至小為 channel>DIMM>rank>chip>bank>row/column,接下來就一一說明這些部分。


▲主記憶體由大至小,由上往下可做這樣的拆分。


▲主記憶體從 channel 至 chip 的相對應關係。

▲chip 往下拆分為 bank。


▲bank 往下拆就是 1 個個的儲存單元,橫向 1 排稱之為 row,直向 1 排稱之為 column,每排 column 的下方都有個 row buffer,用以暫存讀出來的 row 排資料。


▲單一 DRAM 晶片的內部功能區塊圖(圖片取自Micron)

channel 和 DIMM

從記憶體控制器出來之後,最先遇到的就是 channel,每個 channel 需要配有 1 組記憶體控制器、2 個 channel 配置 2 組……以此類推。而每個 channel 中能夠擁有許多組 DIMM(Dual In-line Memory Module),DIMM 也就是目前消費者能夠在市場上買到的記憶體模組,因為多年前的主機板必須購買記憶體顆粒(chip)直接插在主機板上,而後發展出 SIMM(Single In-line Memory Module),將多組記憶體顆粒焊在 1 片電路板上,成為記憶體模組,再將此電路板插在主機板上。接著為了增加資料吞吐量,將 1 條記憶體模組的頻寬從 SIMM 的 32bit 改換成 DIMM 的 64bit,這設計依然沿用至今。

從記憶體顆粒過度到 SIMM 的時代,坊間出現了替使用者將記憶體顆粒焊到 SIMM 電路板上的服務,因為當時記憶體非常昂貴,花一些小錢就可以把記憶體延用至新的電腦上。

rank 和 chip

rank 指的是連結到同 1 個CS(Chip Select)的記憶體顆粒 chip,記憶體控制器能夠對同 1 rank 的 chip 進行讀寫操作,而在同 1 rank 的 chip 也分享同樣的控制訊號。以目前的電腦來說,因為 1 組 channel 的寬度為 64bit,所以能夠同時讀寫 8byte 的資料,如果是具有 ECC 功能的記憶體控制器和 ECC 記憶體模組,那麼 1 組 channel 的寬度就是 72bit。


▲rank 1 和 rank 2 共享同組 address/comand 訊號線,利用 chip select 線選擇欲讀取或是寫入的那一組,之後將資料經由 MUX 多工器送出。

有些人會有錯誤觀念,以 chip 的數量或是以記憶體模組的單、雙面進行 rank 的判斷,但其實要以記憶體控制器和記憶體顆粒的規格進行判斷,目前家用 PC 的記憶體控制器通道絕大部分都是 64bit 寬,記憶體顆粒則是 8bit 寬,因此 8 顆並聯即可滿足記憶體控制器的需求,也就是 1 組 rank。但偶爾也有以 16bit 寬的記憶體顆粒製成的記憶體模組,此時 4 個 chip 就是 1 組 rank。

這在採用 Intel H61/H81 晶片組和傳統單channel的主機板時須特別注意,因為 Intel 限制 H61/H81 每個 channel 僅能支援 2 組 rank,而不是 4 組 rank,部分主機板每個 channel 又做了 2 組記憶體模組插槽,造成部分使用者同組 channel 放入 2 條記憶體模組時能夠辨識全部的記憶體容量(雙面單 rank 的記憶體模組),部分使用者則是僅能辨識一半的容量(雙面雙 rank 的記憶體模組)。

bank、row、column

bank 再往下分拆就是實際儲存位元的電路,一般來說橫向選擇排數的線路稱為 row(row enable、row select、word line),直向負責傳遞訊號的線路為column(bitline),每組 bank 的下方還會有個 row buffer(sense amplifier),負責將獨出的 row 資料暫存,等待 column 位址送到後輸出正確的位元,以及判斷儲存的資料是 0 還是 1。


▲1 個 bank 的讀取操作。

▲1 個 bank 的寫入操作。

下一頁:記憶體的讀寫方式

Facebook

馬上按讚 加入電腦王粉絲團

標籤:零組件, 知識百科, 電腦王, 記憶體, 教學, 技術研究

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.

You are receiving this email because you subscribed to this feed at blogtrottr.com.

If you no longer wish to receive these emails, you can unsubscribe from this feed, or manage all your subscriptions
arrow
arrow
    全站熱搜

    jmuko90 發表在 痞客邦 留言(0) 人氣()