對于開發(fā)新一代主板的設(shè)計工程師來說,DRAM正在成為主要考慮因素,因為終端用戶對內(nèi)存的需求日益俱增。操作系統(tǒng)變得越來越龐大,應(yīng)用程序也相對以前需要更多的RAM存儲。諸如虛擬服務(wù)器、多核處理器和高密度刀片服務(wù)器等新興技術(shù),都提高了對內(nèi)存的需求。要想CPU發(fā)揮更強的處理能力,就需要越多的內(nèi)存來支持它。系統(tǒng)設(shè)計師也一直想方設(shè)法在越來越小的主板上安裝更多的內(nèi)存。為了作出正確的決策,有必要根據(jù)設(shè)計對以下這些問題進行考量。
1)容量:所有應(yīng)用軟件或計算機系統(tǒng)要求的數(shù)據(jù)操作需要多大容量的內(nèi)存?
2)空間和外形尺寸考慮:計算機中有多少物理空間(SoC、主板等)可分配給內(nèi)存使用?
3)帶寬:為了支持密集型計算,處理器指令和數(shù)據(jù)需要以多快的速度執(zhí)行或處理?
對系統(tǒng)內(nèi)存容量的考慮
一般來說,了解有多少用戶會對計算機系統(tǒng)及其所使用的應(yīng)用軟件有需求將對內(nèi)存容量起決定性作用。然而,最常見的結(jié)論是內(nèi)存越多越好。除了處理器能力之外,內(nèi)存對系統(tǒng)性能的影響是最大的了,因此選擇一款能夠適應(yīng)大內(nèi)存容量和最高內(nèi)存帶寬的內(nèi)存控制器和操作系統(tǒng)無疑能夠提高系統(tǒng)性能。另外值得注意的是,32位的操作系統(tǒng)最多只能訪問5GB的內(nèi)存空間(達到2的32次方),但最新的64位操作系統(tǒng)可以訪問的內(nèi)存空間達18ZB(2的64次方)。
計算內(nèi)存容量的方法之一是,確定有多少內(nèi)存空間必須分配給操作系統(tǒng)內(nèi)核、操作系統(tǒng)驅(qū)動程序、頻繁處于活動狀態(tài)的應(yīng)用軟件、駐留在內(nèi)存中的數(shù)據(jù)文件大小和數(shù)量以及需要支持的最大網(wǎng)絡(luò)需求。工程師應(yīng)該考慮在處理器上運行的所有軟件資源的大小,以及所有峰值網(wǎng)絡(luò)需求,然后增加10%的裕度用作自由內(nèi)存空間。由于用于處理器的主內(nèi)存通常是以1GB、2GB、4GB和8GB這樣的偶數(shù)倍增加的,因此此時最合適的主內(nèi)存容量是4GB(如果是雙槽道配置就是2個2GB的DIMM內(nèi)存條)。
諸如數(shù)據(jù)庫、電子郵件和web服務(wù)器等計算機應(yīng)用占用非常大的內(nèi)存資源,因此這些系統(tǒng)的內(nèi)存容量要盡可能大。計算內(nèi)存容量的另外一種方法是運行與系統(tǒng)使用率有關(guān)的系統(tǒng)基準(zhǔn)測試,通過比較使用的內(nèi)存(GB)、CPU使用率和系統(tǒng)內(nèi)存容量,(即使用微軟的“控制面板”)瀏覽管理工具(性能)并通過點擊工具條中的“+”符號增加內(nèi)存對象,如圖1所示。
圖1:微軟XP管理工具(性能)截屏。
圖2:處理器/內(nèi)存利用率。
圖2中的性能圖表是雙處理器系統(tǒng)中數(shù)據(jù)可能呈現(xiàn)的面貌例子,它對“內(nèi)存約束”配置(4GB系統(tǒng))與“CPU約束”配置(8GB系統(tǒng))的資源局限做了比較。值得注意的是,6GB系統(tǒng)配置是如何在CPU使用率等于內(nèi)存使用率時最大化CPU到內(nèi)存的使用率來獲得最佳性價比的。目前許多系統(tǒng)設(shè)計師流行使用粗略的計算方法,即為每GHz的處理器內(nèi)核配置2GB內(nèi)存。一旦內(nèi)存容量確定后,選擇內(nèi)存控制器以支持所希望的內(nèi)存容量顯得同樣重要。內(nèi)存控制器將通過以下兩種方式限制可獲得的內(nèi)存密度:
1)內(nèi)存可用的片選線數(shù)量有限;
2)內(nèi)存控制器支持的最大DRAM容量。
目前有兩種通用的內(nèi)存子系統(tǒng)設(shè)計可用于連接片選線。一種是每個內(nèi)存插槽兩根片選線,一種是每個內(nèi)存插槽4根片選線。由于內(nèi)存模組數(shù)量受限于插槽數(shù)量,因此最大系統(tǒng)內(nèi)存容量將是內(nèi)存插槽數(shù)量乘以每條內(nèi)存模組的容量。
內(nèi)存空間和內(nèi)存尺寸考慮
內(nèi)存子系統(tǒng)中使用的內(nèi)存外形尺寸一般取決于以下一些因素:
1)物理空間,更明確地說就是內(nèi)存所裝配的機械外殼;
2)處理器可以容忍的(由于處理器到內(nèi)存的物理距離引起的)延時和速度下降;
3)安裝底架的約束,如與周邊元組件的接近度、熱冷卻要求(與風(fēng)扇的接近度、使用熱傳導(dǎo)器或散熱器、液體冷卻、內(nèi)存組件之間的空隙等);
4)內(nèi)存布局(與處理器的接近度,垂直或水平安裝等);
5) 安裝、維修和升級內(nèi)存的簡易度。
當(dāng)使用SoC中的嵌入式DRAM(eDRAM)內(nèi)存時,用于決定“片上”和片外DRAM內(nèi)存分布的標(biāo)準(zhǔn)通常基于SoC上用于流水線、緩存和低延時訪問的內(nèi)存的可用空間,以及將DRAM嵌入進SoC的相關(guān)成本。
舉例來說,90nm嵌入式DRAM工藝基于的是CMOS邏輯技術(shù),可集成插件形式的內(nèi)存模組。嵌入式工藝在與外部DRAM器件連接時不存在I/O功耗,因此可以提供更寬的總線、更低的材料成本和更高的帶寬。而且與SRAM相比正常工作功耗和待機功耗都要低。
然而,嵌入式內(nèi)存技術(shù)還沒有達到可以替代主板上高密度DRAM的密度水平,因為用于處理器和SoC的嵌入式內(nèi)存目前還沒超過100MB,而主板上配置的片外內(nèi)存一般最小要1GB。與處理器一樣,內(nèi)存技術(shù)同樣也遵循摩爾定律,相當(dāng)于每兩年提高2倍密度。表1說明了目前內(nèi)存密度的發(fā)展趨勢:
表1:內(nèi)存密度趨勢。
選擇系統(tǒng)內(nèi)存的六大指標(biāo)
如果內(nèi)存容量是一個重要的系統(tǒng)指標(biāo),那么相對其它結(jié)構(gòu)外形來說內(nèi)存模組更合適。目前有幾種JEDCE標(biāo)準(zhǔn)DIM可用,如RDIMM,UDIMM,S0-DIMM,Mini-DIMM,MicroDIMM和FBDIMM。下面列出了為何選用DRAM內(nèi)存模組的六大理由:
理由1:更低的總體擁有成本(TCO),具體理由如下:
A)模組化的內(nèi)存后可以在最終裝配和測試需要時隨時購買得到,甚至可趕在系統(tǒng)交付之前。這樣做可以減少庫存,釋放現(xiàn)金流。這樣做還能避免內(nèi)存元件庫存面臨價格下降而造成財務(wù)損失的風(fēng)險。如果用于系統(tǒng)的內(nèi)存是板載芯片(COB),那么獨立的內(nèi)存元件可能需要庫存較長時間,以便預(yù)留時間生產(chǎn)主板。
B)開始時可以使用最小的內(nèi)存配置以較低的系統(tǒng)成本出售/購買系統(tǒng)(預(yù)留一些空槽以便未來升級)。用戶可以在增加新的應(yīng)用軟件或提高計算機速度時升級內(nèi)存,此時只需簡單地升級或增加內(nèi)存模組。[!--empirenews.page--]
C)由于內(nèi)存也是計算機系統(tǒng)成本中的昂貴部分,當(dāng)原本的系統(tǒng)不再工作或被中止服務(wù)時,內(nèi)存模組可以移走,然后在其它系統(tǒng)中得到再次利用。
理由2:提供更高的系統(tǒng)密度。模組化內(nèi)存可以比直接安裝在主板上的單片分立DRAM提供更高的內(nèi)存容量。要求最大內(nèi)存容量的系統(tǒng)可以使用非常緊湊的內(nèi)存模組,這些模組使用了各種可提高單位密度的堆疊技術(shù)。
理由3:增加處理器板上的實用面積。固態(tài)雙數(shù)據(jù)速率(SSDDR)內(nèi)存模組能夠適應(yīng)“混合內(nèi)存”技術(shù)。這種方法提供了雙重功能,可將DDR DRAM和NAND閃存整合進一個小型封裝(見圖3),這也是將更多內(nèi)存和數(shù)據(jù)裝進空間受限的單板計算機(SBC)和嵌入式系統(tǒng)應(yīng)用的一種方式。DIMM插座方向性還能使內(nèi)存放置在其它主板元件上方以節(jié)省主板空間。用于刀片服務(wù)器的ULP和VLP DIMM提供類似的空間節(jié)省特性。LeanSTOR封裝技術(shù)是另一種為AMC或ATCA電信刀片服務(wù)器節(jié)省空間的方法。
圖3:SSDDR DRAM和NAND閃存SATA SODIMM。
理由4:更高的RAS(可靠性/可用性/可維修性)。隨著時間的推移,內(nèi)存也可能出現(xiàn)故障,產(chǎn)生SBE和多位差錯,這種問題將影響計算機系統(tǒng)的正常工作,或由于ECC處理軟件開銷而使系統(tǒng)運行速度降低。如果是模組形式的內(nèi)存,那么就能很快地替換插槽中的故障件,從而縮短由于查錯和維修引起的系統(tǒng)宕機時間。如果內(nèi)存直接安裝在主板上,那么排除故障內(nèi)存也是很困難的。重新焊接主板上的內(nèi)存還可能降低其質(zhì)量。如果主板要求內(nèi)置內(nèi)存測試程序以診斷故障芯片,那么系統(tǒng)設(shè)計師或BIOS編程人員可能無法利用內(nèi)存測試專業(yè)軟件,因為這些內(nèi)存測試程序是專門針對測試內(nèi)存模組設(shè)計的。
理由5:增強可測性和系統(tǒng)兼容性。如果系統(tǒng)中的內(nèi)存直接安裝在主板上,那么當(dāng)它發(fā)生故障時,處理器也許無法運行診斷程序來查找錯誤的源頭。內(nèi)存是面向總線的,通過總線與內(nèi)存控制器(或芯片組)協(xié)同工作。它們都是作為成組的器件在工作,因此那些沒有被篩選為一組(就像在模組中一樣)的失配DRAM產(chǎn)生的任何時序偏移都將導(dǎo)致不穩(wěn)定的、不可預(yù)測的或間歇性操作。另外,對只能提供BGA封裝的DDR2或DDR3內(nèi)存進行探針測試也是不可能的。系統(tǒng)主板還經(jīng)常使用獨特的設(shè)計拓?fù)浜蛢?nèi)存控制器,它們會對DRAM的交流和直流參數(shù)作出限制。模組化的內(nèi)存可以使用系統(tǒng)軟件實現(xiàn)系統(tǒng)級的預(yù)測試,從而排除掉與系統(tǒng)不兼容的內(nèi)存。
理由6:提高可制造性。如果主板不是無鉛的,芯片組又適用于DDR2內(nèi)存,那么設(shè)計師在不是無鉛的主板上裝配無鉛RoHS DDR2 DRAM可能無法獲得較好的焊接可靠性。表2中的表格展示了在SoC上的嵌入式內(nèi)存、在主板上的分立內(nèi)存芯片(如板載芯片,COB以及某些多芯片封裝(MCP))和插槽中的內(nèi)存模組之間的一些區(qū)別。
表2:COB、內(nèi)存模組與SoC嵌入式DRAM之間的比較。
系統(tǒng)內(nèi)存帶寬的考慮因素
如果計算機系統(tǒng)處于需要高吞吐量的密集計算或網(wǎng)絡(luò)環(huán)境中,那么除了內(nèi)存容量外內(nèi)存帶寬也是一個重要的考慮因素。內(nèi)存帶寬主要取決于內(nèi)存控制器(或芯片組)的速度、DRAM器件技術(shù)和系統(tǒng)設(shè)計。目前它的計量單位是GB/sec,計算方法是用總線寬度乘以數(shù)據(jù)速率。例如在一個雙通道系統(tǒng)配置中的DDR3-1333(PC3-10600)內(nèi)存子系統(tǒng),它的內(nèi)存帶寬是21.3GB/s,即128位總線寬度(2個64位內(nèi)存總線)×1333Mbps×1B/8bits=21300MB/s。
內(nèi)存帶寬通常受“速度/密度”公式的影響,其中速度和密度呈反比關(guān)系。為了增加系統(tǒng)內(nèi)存容量而向內(nèi)存總線增加越多的DRAM,數(shù)據(jù)訪問控制(DAC)總線上的容性負(fù)載就越高,進而降低更高速度時的信號質(zhì)量??朔俣?密度限制的一些方法是:
1)使用帶多個內(nèi)存通道(更寬數(shù)據(jù)庫)的內(nèi)存控制器;
2)使用緩存(寄存器式,或完全緩沖式內(nèi)存,縮短了延時);
3)在增加更多的內(nèi)存時降低內(nèi)存時鐘。一般來說,內(nèi)存越大,帶寬越小。
使用無緩沖內(nèi)存的系統(tǒng)通常有較高的帶寬和較低的系統(tǒng)密度,而使用寄存器/緩沖式內(nèi)存的系統(tǒng)通常具有較高的密度和較低的帶寬。
本文小結(jié)
一旦利用本文提供的信息確定好系統(tǒng)中的內(nèi)存容量、空間和帶寬后,設(shè)計師就能專注于考慮其它事項,如內(nèi)存成本,以及決定將哪部分系統(tǒng)成本預(yù)算留給內(nèi)存。