日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SDRAM内存的接口和设计方法(并行输送接口)

發(fā)布時(shí)間:2023/12/20 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SDRAM内存的接口和设计方法(并行输送接口) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載自:http://tech.sina.com.cn/c/2001-07-30/4752.html

SDRAM內(nèi)存的接口和設(shè)計(jì)方法

http://www.sina.com.cn 2001/07/30?09:42?小熊在線
?

  雖然目前SDRAM內(nèi)存條價(jià)格已經(jīng)接底線,內(nèi)存開始向DDR和Rambus內(nèi)存過渡。但是由于DDR內(nèi)存是在SDRAM基礎(chǔ)上發(fā)展起來的,所以詳細(xì)了解SDRAM內(nèi)存的接口和主板設(shè)計(jì)方法對(duì)于設(shè)計(jì)基于DDR內(nèi)存的主板不無裨益。下面我們就從內(nèi)存顆粒、內(nèi)存槽位接口、主板和內(nèi)存之間的信號(hào)接口幾個(gè)方面來詳細(xì)闡述SDRAM內(nèi)存條和主板內(nèi)存系統(tǒng)的設(shè)計(jì)思路。

  內(nèi)存顆粒介紹

?

?

  對(duì)于DRAM(Dynamic Random Access Memory)內(nèi)存我想凡是對(duì)于計(jì)算機(jī)有所了解的讀者都不會(huì)陌生。這種類型的內(nèi)存都是以一個(gè)電容是否充有電荷來作為存儲(chǔ)狀態(tài)的標(biāo)志,電容沖有電荷為狀態(tài)1,電容沒有電荷為狀態(tài)0。其最大優(yōu)點(diǎn)是集成度高,容量大,但是其速度相對(duì)于SRAM (Static Random Access Memory) 內(nèi)存來說慢了許多。目前的內(nèi)存顆粒封裝方式有許多種,本文僅僅以大家常見的TSSOP封裝的內(nèi)存顆粒為例子。

  其各個(gè)管腳的信號(hào)定義和我們所使用的DIMM插槽的定義是相同的,對(duì)于不同容量的內(nèi)存,地址信號(hào)的位數(shù)有所不同。另外一個(gè)需要注意的地方就是其供電電路。Vcc和Vss是為內(nèi)存顆粒中的存儲(chǔ)隊(duì)列供電,而VccQ和VssQ是為內(nèi)存顆粒中的地址和數(shù)據(jù)緩沖區(qū)供電。兩者的作用不同。

  我們對(duì)內(nèi)存顆粒關(guān)心的問題主要是其顆粒的數(shù)據(jù)寬度(數(shù)據(jù)位數(shù))和容量(尋址空間大小)。而對(duì)于顆粒自檢、顆粒自刷新等等邏輯并不需要特別深入的研究,所以對(duì)此我僅僅是一筆帶過,如果讀者有興趣的讀者可以詳細(xì)研究內(nèi)存顆粒的數(shù)據(jù)手冊(cè)。雖然內(nèi)存顆粒有這么多的邏輯命令方式,但是由于目前北橋芯片和內(nèi)存顆粒的集成度非常高,只要在布線和元器件的選擇上嚴(yán)格按照內(nèi)存規(guī)范來設(shè)計(jì)和制造,需要使用邏輯分析儀來調(diào)試電路上的差錯(cuò)的情況比較少,并且在設(shè)計(jì)過程中盡量避免出現(xiàn)這種情況。

  168線DIMM內(nèi)存插槽的信號(hào)定義我們目前PC和Server使用的內(nèi)存大都是168 Pins的SDRAM,區(qū)別只是其工作頻率有的可能是100MHz頻率,有的可能是133MHz頻率的。但是只要是SDRAM,其DIMM插槽的信號(hào)定義是一樣的。而這些引腳得定義就是設(shè)計(jì)內(nèi)存條和主板所必須遵從的規(guī)范。

  內(nèi)存引腳主要分為如下幾類:地址引腳、數(shù)據(jù)引腳(包含校驗(yàn)位引腳)、片選等控制信號(hào)、時(shí)鐘信號(hào)。整個(gè)內(nèi)存時(shí)序系統(tǒng)就是這些引腳上的信號(hào)配合產(chǎn)生。下面的表中就是內(nèi)存插槽的引腳數(shù)量和引腳定義,對(duì)于一些沒有定義或者是保留以后使用的信號(hào)就沒有列出來。

  

 

?

符號(hào)功能詳細(xì)描述
DQ [0-63]I/O數(shù)據(jù)輸入/輸出
CB [0-7]I/OECC內(nèi)存的ECC校驗(yàn)輸入/輸出
A [0-13]I/O地址選擇
BA [0-1]ControlBank選擇
CS [0-3]Control片選信號(hào)
RASControl行地址選擇信號(hào)
CASControl列地址選擇信號(hào)
DQMB [0-7]Control數(shù)據(jù)掩碼控制(DQ Mask)高有效*
WEControl寫允許信號(hào)
CK [0-3]Clock時(shí)鐘信號(hào)
CKE [0-1]Clock時(shí)鐘允許信號(hào)**
REGEControl寄存器 (Registered) 允許信號(hào)
SA [0-2]I/OSPD地址輸入
SDAI/OSPD數(shù)據(jù)輸入/輸出
SCLClockSPD時(shí)鐘輸入
WPControl寫保護(hù)
VssPower電源線
VddPower地線
注:

?

  SPD Serial Presence Detect 內(nèi)存序列存儲(chǔ)芯片

  RAS Row Address Strobe 行地址選擇

  CAS Column Address Strobe 列地址選擇

?

  * 在讀模式時(shí),控制芯片顆粒的Buffers數(shù)據(jù)輸出 在寫模式時(shí),將芯片顆粒的Buffers中的數(shù)據(jù)寫入芯片顆粒中的內(nèi)存隊(duì)列中

?

  ** 當(dāng)該信號(hào)為高時(shí),時(shí)鐘信號(hào)有

?

   當(dāng)該信號(hào)為低時(shí),時(shí)鐘信號(hào)無效,并且該信號(hào)會(huì)觸發(fā)內(nèi)存顆粒的低功耗模式、自刷新模式或者掛起模式

  我們從DIMM插槽的引腳定義就可以計(jì)算出來,每個(gè)DIMM槽位最大支持的內(nèi)存數(shù)值。該數(shù)值實(shí)際上是尋址空間乘上數(shù)據(jù)寬度,所以每個(gè)DIMM槽位支持最大容量為4GB = 214 x 214 x 8 Byte。但是由于內(nèi)存芯片顆粒的制造局限性,所以目前能夠使用的DIMM條的內(nèi)存都達(dá)不到這個(gè)容量,其容量最大的內(nèi)存條為1GB。

  在設(shè)計(jì)和制造內(nèi)存條的時(shí)候,所有的內(nèi)存條都是按照插槽的規(guī)范來布線和生產(chǎn),所以對(duì)于內(nèi)存地址空間,所有生產(chǎn)出來的內(nèi)存條都是相同的地址空間,例如一條128MB內(nèi)存,他就是用了地址線A0-A13,當(dāng)我們?cè)谝慌_(tái)計(jì)算機(jī)上安裝多個(gè)內(nèi)存時(shí),如何分配每個(gè)內(nèi)存內(nèi)存條的地址空間呢?這個(gè)工作就需要北橋芯片和主板來配合了。

  SPD信號(hào)定義

?

  內(nèi)存中使用的SPD都是一片8針TSSOP(Plastic Thin Small Outline Package)封裝的串行存儲(chǔ)EEPROM,其容量是2048bit。每個(gè)DIMM的SPD數(shù)據(jù)讀寫時(shí)鐘線SCL和數(shù)據(jù)線SDA都是共享在一條總線上,所以當(dāng)我們?cè)谝慌_(tái)機(jī)器上會(huì)安裝多條內(nèi)存時(shí),其SPD的片選信號(hào)就需要事先確定。該片選信號(hào)是由SA0,SA1,SA2三條數(shù)據(jù)線來確定,該數(shù)據(jù)線的狀態(tài)由主板設(shè)計(jì)廠商在設(shè)計(jì)主板的時(shí)候固定下來。在每次讀寫該EEPROM的時(shí)候,北橋芯片會(huì)按照EEPROM的讀寫規(guī)格首先向該芯片發(fā)送3位片選信號(hào)和8位地址信息,每個(gè)芯片都會(huì)讀入該3位片選信號(hào)和8位地址信號(hào)。當(dāng)3位片選信號(hào)和主板上固化的3?醯刂廢擼⊿A0,SA1,SA2)的狀態(tài)一致的時(shí)候該內(nèi)存條上的SPD芯片就被選中,其信息會(huì)記錄在北橋控制器的寄存器中(Register)。

  SPD讀寫邏輯中的片選必須滿足下圖的時(shí)序邏輯。在此主要介紹地址選擇邏輯,對(duì)于數(shù)據(jù)如何讀寫的時(shí)序,有興趣的讀者可以查閱 Atemel 24C02A 的數(shù)據(jù)手冊(cè)(許多內(nèi)存廠商都選用該芯片作為SPD)。在這個(gè)時(shí)序中,硬件上僅僅需要滿足其Device Address 地址信息。該地址信息是一個(gè) 8bit 的數(shù)據(jù),它的格式如下

  

 

?

地址位01234567
數(shù)據(jù)1010A2A1A0R/W

?

  該數(shù)據(jù)通過SCL提供的時(shí)鐘同步,0-3 位是固定的信息,4-6 位是片選地址,7位是判斷該,命令是讀還是寫。在芯片內(nèi)部會(huì)對(duì)4-6位的數(shù)據(jù)和硬件電路上的狀態(tài)進(jìn)行比較,相符的話,該芯片被選中,否則不進(jìn)行下面的操作。從該時(shí)序邏輯可以得知,一個(gè)SPD通道(僅僅只有一對(duì)SCL和SDA信號(hào)線)只支持8條內(nèi)存。至于SPD的讀寫和SPD內(nèi)容的含義在此就不做進(jìn)一步說明。

  注:SPD涉及到的縮寫

  SA 0-2 Serial Presence Detect Address Inputs

  SDA Serial Presence Detect Address Input/Output

  SCL Serial Presence Detect Clock Input

  WP Write Protect for SPD on DIMM

  內(nèi)存條的設(shè)計(jì) 

?

  我們已經(jīng)知道了內(nèi)存顆粒、SPD的接口信息,下面就可以開始設(shè)計(jì)內(nèi)存了。內(nèi)存條的邏輯功能圖差別不是非常大,對(duì)于不同容量的顆粒,只是在數(shù)量上有所改變。

  

?

  上面的邏輯功能圖就是一個(gè)帶ECC功能72bit 內(nèi)存條的邏輯功能圖。采用的是16bit數(shù)據(jù)寬度的內(nèi)存顆粒。由于內(nèi)存條每次讀寫必須滿足64bits(非ECC)或者72bit(ECC),所以在設(shè)計(jì)的時(shí)候顆粒數(shù)量是固定的。上面的內(nèi)存條僅僅只有一個(gè)Bank,所以沒有使用BA信號(hào)。如果該內(nèi)存條設(shè)計(jì)的時(shí)候是兩個(gè)Bank,其功能圖中就多出了BA選擇信號(hào),并且其容量也會(huì)隨之增加1倍。剩下的工作就是布線,在一個(gè)6層電路板上布下所有的信號(hào)線。

  但是隨著目前服務(wù)器內(nèi)存的增大,內(nèi)存插槽數(shù)量的增多,服務(wù)器內(nèi)存系統(tǒng)各個(gè)引腳間的引線長度會(huì)產(chǎn)生較大差別,導(dǎo)致信號(hào)時(shí)序會(huì)產(chǎn)生錯(cuò)位。并且控制器的信號(hào)控制這么多的內(nèi)存,有限的驅(qū)動(dòng)能力會(huì)不堪重負(fù)。針對(duì)這種情況,服務(wù)器中的內(nèi)存主要采用的是Registered內(nèi)存,在內(nèi)存上添加鎖相環(huán)電路和幾個(gè)寄存器,這樣每個(gè)控制信號(hào)僅僅針對(duì)數(shù)量很少的寄存器,不用針對(duì)內(nèi)存條上的每個(gè)內(nèi)存顆粒來輸出信號(hào),可以很大程度上降低控制芯片的負(fù)載,提高信號(hào)的質(zhì)量。同時(shí)鎖相環(huán)電路大大減少了內(nèi)存系統(tǒng)的時(shí)間延遲,保證了數(shù)據(jù)的同步。

  下面就是寄存器的功能圖

  

?

  寄存器僅僅寄存了每個(gè)內(nèi)存條上的控制信號(hào),對(duì)于數(shù)據(jù)信號(hào)沒有進(jìn)行任何操作。因?yàn)榭刂菩盘?hào)例如S0、CKE0等等信號(hào)都是控制多個(gè)內(nèi)存顆粒的信號(hào),所以當(dāng)服務(wù)器上安裝8到16條內(nèi)存的時(shí)候,僅僅靠主板上的控制芯片來控制肯定是力不從心。

  

?

  上面的邏輯圖就很好的說明了Registered內(nèi)存中鎖相環(huán)電路的作用。該電路時(shí)時(shí)保證和主板上的時(shí)鐘電路所屬出的時(shí)鐘頻率保持同步,使用這個(gè)時(shí)鐘信號(hào)驅(qū)動(dòng)寄存器和內(nèi)存芯片顆粒就不會(huì)產(chǎn)生時(shí)鐘的漂移。所以目前的服務(wù)器內(nèi)存都采用的是Registered內(nèi)存條。

  主板上內(nèi)存系統(tǒng)的設(shè)計(jì)主板上對(duì)于內(nèi)存的訪問主要是由北橋芯片來控制。32位CPU能夠訪問的內(nèi)存容量是64GB。這是由CPU尋址空間和數(shù)據(jù)帶寬固定的。但是在實(shí)際使用中,我們的北橋芯片能夠?qū)ぶ返目臻g卻十分有限。一般PC是2GB,高端PC可能達(dá)到4GB,高端服務(wù)器可以達(dá)到32GB的內(nèi)存容量。這一部分和各個(gè)系統(tǒng)內(nèi)存控制芯片的設(shè)計(jì)有關(guān)。在此我以Intel 815E芯片組為例說明一下主板上內(nèi)存系統(tǒng)的設(shè)計(jì)。

  Intel 815E北橋控制芯片的內(nèi)存控制電路的邏輯圖如下:

  

?

  每種信號(hào)引腳的功能如下表:

符號(hào)功能詳細(xì)描述
SMD [0-63]I/O數(shù)據(jù)輸入/輸出
SMAA [0-12]I/O地址選擇
SMAB [4-7]I/O地址選擇
SMAC [4-7]I/O地址選擇
SBS [0-1]ControlBank選擇
SCSA [0-5]Control片選信號(hào)
SCSB [0-5]Control片選信號(hào)
SRASControl行地址選擇信號(hào)
SCASControl列地址選擇信號(hào)
SDQM [0-7]Control數(shù)據(jù)掩碼控制
SWEControl寫允許信號(hào)
SCKE [0-5]Clock時(shí)鐘允許信號(hào)
SRCOMPControl用來校準(zhǔn)系統(tǒng)內(nèi)存的I/O緩沖。一般在主板上固定設(shè)置為高

?

  該芯片組的內(nèi)存兼容性和管理特性主要有下面幾點(diǎn):

  Intel 815E支持64bits的內(nèi)存。

  從芯片引腳信號(hào)圖可以看出,該芯片組只有64bits的數(shù)據(jù)帶寬,沒有8bits的ECC校驗(yàn)。

  北橋芯片沒有SPD監(jiān)測電路。

  該信息必須通過南橋芯片上的服務(wù)器系統(tǒng)管理總線SM_Bus總線來讀出SPD的信息,然后傳送到北橋芯片的寄存器中。

  該芯片組不支持Registered內(nèi)存。

  可以支持3個(gè)DIMM插槽。每個(gè)槽位最大支持512MB。

  計(jì)算方法:采用SMAA,總共使用數(shù)據(jù)帶寬為64bits。

  容量為512MB=213 x 213 x 8

  我們根據(jù)Intel 815E芯片的特性,就可以設(shè)計(jì)出主板上的DIMM插槽的電路連接邏輯示意圖了(注:該圖中沒有標(biāo)出SPD的地址分配信息):

  

?

  每個(gè)DIMM槽的SDQM、SMD、SMB_CLK(管理總線_時(shí)鐘信號(hào)線)、SMB_DATA(管理總線_數(shù)據(jù)信號(hào)線)、SCAS、SRAS、SWE、SBS是共享的。那么如何區(qū)別每個(gè)DIMM槽上的內(nèi)存呢?每個(gè)DIMM槽上的內(nèi)存顆粒通過SMAA,SMAB,SMAC三個(gè)地址來區(qū)分其不同的地址段,而12條片選信號(hào)則在每個(gè)DIMM槽上分配4條,分別選擇不同的芯片顆粒。這樣同種的內(nèi)存條插在不同的插槽上就被分配了不同的內(nèi)存地址段。

  至此,我們的內(nèi)存系統(tǒng)從顆粒到主板的整個(gè)地址和數(shù)據(jù)組織管理模式就清晰的擺在讀者面前了。

?

轉(zhuǎn)載于:https://www.cnblogs.com/gujiangtaoFuture/articles/7146147.html

總結(jié)

以上是生活随笔為你收集整理的SDRAM内存的接口和设计方法(并行输送接口)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。