~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~分割線-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
支援記憶體型別,是指主機板所支援的具體記憶體型別。不同的主機板,所支援的記憶體型別是不相同的。記憶體型別主要有以下幾種:
fpm 記憶體
edo 記憶體
sdram 記憶體
rdram 記憶體
ddr sdram 記憶體
ddr2 記憶體
ecc(error correction coding 或 error checking and correcting)並不是記憶體型別,而是一種具有自動糾錯功能的記憶體,英特爾的82430hx 晶元組就開始支援它。使用該晶元組的主機板,都可以安裝使用 ecc 記憶體。但由於 ecc 記憶體成本比較高,所以主要應用在要求系統運算可靠性比較高的商業電腦中,如伺服器/工作站等。由於實際上儲存器出錯的情況不會經常發生,而且普通的主機板也並不支援 ecc 記憶體,所以,一般的家用與辦公電腦也不必採用 ecc 記憶體。
一般情況下,一塊主機板只支援一種記憶體型別,但也有例外。有些主機板具有兩種記憶體插槽,可以使用兩種記憶體。如以前有些主機板能使用 edo 和sdram,現在有些主機板就支援兩種記憶體型別(sdram 和 ddr sdram),採用兩種型別的記憶體插槽(藍色和黑色)來區分。值得注意的是,在這些主機板上,不能同時使用兩種記憶體,而只能使用其中的一種。這是因為其電氣規範和工作電壓是不同的,混用會引起記憶體損壞和主機板損壞的問題。
1、fpm 記憶體
fpm 是 fast page mode(快頁模式)的簡稱。是較早的 pc 機普遍使用的記憶體,它每隔 3 個時鐘脈衝週期,傳送一次資料。現在早就被淘汰掉了。
2、edo 記憶體
edo 是 extended data out(擴充套件資料輸出)的簡稱。它取消了主機板與記憶體兩個儲存週期之間的時間間隔,每隔 2 個時鐘脈衝週期,傳輸一次資料,大大地縮短了訪問時間,使訪問速度提高 30%,達到 60ns。edo 記憶體主要用於 72 線的 simm 記憶體條,以及採用 edo 記憶體晶元的pci 顯示卡。這種記憶體流行在 486 以及早期的奔騰計算機系統中,它有 72 線和 168 線之分,採用 5v 工作電壓,頻寬 32 bit,必須兩條或四條成對使用,可用於英特爾 430fx/430vx 甚至 430tx 晶元組主機板上。目前也已經被淘汰,只能在某些老爺機上見到。
3、sdram 記憶體
sdram 是 synchronous dynamic random access memory(同步動態隨機儲存器)的簡稱。是前幾年普遍使用的記憶體形式。sdram 採用3.3v 工作電壓,頻寬 64 位,sdram 將 cpu 與 ram 通過乙個相同的時鐘鎖在一起,使 ram 和 cpu 能夠共享乙個時鐘週期,以相同的速度同步工作。與 edo 記憶體相比,速度能提高 50%。sdram 基於雙儲存體結構,內含兩個交錯的儲存陣列,當 cpu 從乙個儲存體或陣列訪問資料時,另乙個就已為讀寫資料做好了準備,通過這兩個儲存陣列的緊密切換,讀取效率就能得到成倍的提高。sdram 不僅可用作主存,在顯示卡上的視訊記憶體方面,也有廣泛應用。sdram 曾經是長時間使用的主流記憶體,從 430tx 晶元組到 845 晶元組,都支援 sdram。但隨著 ddr sdram 的普及,sdram 也正在慢慢退出了主流市場。
4、rdram 記憶體
rdram 是 rambus dynamic random access memory(儲存器匯流排式動態隨機儲存器)的簡稱。是 rambus 公司開發的具有系統頻寬、晶元到晶元介面設計的記憶體,它能在很高的頻率範圍下通過乙個簡單的匯流排傳輸資料,同時使用低電壓訊號,在高速同步時鐘脈衝的兩邊沿傳輸資料。最開始支援 rdram 的是英特爾 820 晶元組,後來又有 840,850 晶元組等。rdram 最初得到了英特爾的大力支援,但由於其高昂的**以及rambus 公司的專利許可限制,一直未能成為市場主流,其地位被相對廉價而效能同樣出色的 ddr sdram 迅速取代,市場份額很小。
5、ddr sdram 記憶體
ddr sdram 是 double data rate synchronous dynamic random access memory(雙資料率同步動態隨機儲存器)的簡稱。是由 via 等公司為了與 rdram 相抗衡而提出的記憶體標準。ddr sdram 是 sdram 的更新換代產品,採用 2.5v 工作電壓,它允許在時鐘脈衝的上公升沿和下降沿傳輸資料,這樣,不需要提高時鐘的頻率,就能加倍提高 sdram 的速度,並具有比 sdram 多一倍的傳輸速率和記憶體頻寬。例如 ddr 266 與pc 133 sdram 相比,工作頻率同樣是 133mhz,但記憶體頻寬達到了 2.12 gb/s,比 pc 133 sdram 高一倍。目前主流的晶元組都支援 ddrsdram,是目前最常用的記憶體型別。
6、ddr2 記憶體
ddr2 的定義:ddr2(double data rate 2)sdram,是由 jedec(電子裝置工程聯合委員會)進行開發的新生代記憶體技術標準。它與上一代 ddr 記憶體技術標準最大的不同。就是雖然同是採用了在時鐘的上公升沿和下降沿同時進行資料傳輸的基本方式,但 ddr2 記憶體卻擁有兩倍於上一代 ddr 記憶體的預讀取能力(即:4bit 資料讀預取)。換句話說,ddr2 記憶體,每個時鐘能夠以 4 倍外部匯流排的速度讀/寫資料,並且能夠以內部控制匯流排 4 倍的速度執行。
此外,由於 ddr2 標準規定所有 ddr2 記憶體均採用 fbga 封裝形式,而不同於目前廣泛應用的 tsop/tsop-ii 封裝形式。fbga 封裝,可以提供了更為良好的電氣效能與散熱性,為 ddr2 記憶體的穩定工作與未來頻率的發展提供了堅實的基礎。回想起 ddr 的發展歷程,從第一代應用到個人電腦的 ddr200,經過 ddr266、ddr333,到今天的雙通道 ddr400 技術,第一代 ddr 的發展也走到了技術的極限,已經很難通過常規辦法提高記憶體的工作速度。隨著 intel 最新處理器技術的發展,前端匯流排對記憶體頻寬的要求是越來越高,擁有更高更穩定執行頻率的 ddr2 記憶體將是大勢所趨。
ddr2 與 ddr 的區別:在了解 ddr2 記憶體諸多新技術前,先讓我們看一組 ddr 和 ddr2 技術對比的資料。
1) 延遲問題:
從上表可以看出,在同等核心頻率下,ddr2 的實際工作頻率是 ddr 的兩倍。這得益於 ddr2 記憶體擁有兩倍於標準 ddr 記憶體的 4bit 預讀取能力。換句話說,雖然 ddr2 和 ddr 一樣,都採用了在時鐘的上公升沿和下降沿同時進行資料傳輸的基本方式,但 ddr2 擁有兩倍於 ddr 的預讀取系統命令資料的能力。也就是說,在同樣 100mhz 的工作頻率下,ddr 的實際頻率為 200mhz,而 ddr2 則可以達到 400mhz。
這樣也就出現了另乙個問題:在同等工作頻率的 ddr 和 ddr2 記憶體中,後者的記憶體延時要慢於前者。舉例來說,ddr 200 和 ddr2-400 具有相同的延遲,而後者具有高一倍的頻寬。實際上,ddr2-400 和 ddr 400 具有相同的頻寬,它們都是 3.2gb/s,但是 ddr 400 的核心工作頻率是 200mhz,而 ddr2-400 的核心工作頻率是 100mhz,也就是說 ddr2-400 的延遲要高於 ddr 400。
2) 封裝和發熱量:
ddr2 記憶體技術最大的突破點,其實不在於使用者們所認為的兩倍於 ddr 的傳輸能力,而是在採用更低發熱量、更低功耗的情況下,ddr2 可以獲得更快的頻率提公升,突破標準 ddr 的 400mhz 限制。
ddr 記憶體通常採用 tsop 晶元封裝形式。這種封裝形式,可以很好的工作在 200mhz 上,當頻率更高時,它過長的管腳就會產生很高的阻抗和寄生電容,這會影響它的穩定性和頻率提公升的難度。這也就是 ddr 的核心頻率很難突破 275mhz 的原因。而 ddr2 記憶體均採用 fbga 封裝形式。不同於目前廣泛應用的 tsop 封裝形式,fbga 封裝提供了更好的電氣效能與散熱性,為 ddr2 記憶體的穩定工作與未來頻率的發展提供了良好的保障。
ddr2 記憶體採用 1.8v 電壓,相對於 ddr 標準的 2.5v,降低了不少,從而提供了明顯的更小功耗與更小發熱量,這一點的變化是意義重大的。
3) ddr2 採用的新技術:
除了以上所說的區別外,ddr2 還引入了三項新的技術,它們是 ocd、odt 和 post cas。
ocd(off-chip driver)——也就是所謂的離線驅動調整,ddr2 通過 ocd 可以提高訊號的完整性。ddr2 通過調整上拉(pull-up)/下拉(pull-down)的電阻值,使兩者電壓相等。使用 ocd 通過減少 dq-dqs 的傾斜,來提高訊號的完整性;通過控制電壓來提高訊號品質。
odt ——odt 是內建核心的終結電阻器。我們知道,使用 ddr sdram 的主機板上,為了防止資料線終端反射訊號,需要大量的終結電阻。它大大增加了主機板的製造成本。實際上,不同的記憶體模組對終結電路的要求是不一樣的。終結電阻的大小,決定了資料線的訊號比和反射率。終結電阻小,則資料線訊號反射低,但是訊雜比也較低;終結電阻高,則資料線的訊雜比高,但是訊號反射也會增加。因此,主機板上的終結電阻並不能非常好的匹配記憶體模組,還會在一定程度上影響訊號品質。ddr2 可以根據自已的特點,內建合適的終結電阻。這樣,可以保證最佳的訊號波形。使用 ddr2 不但可以降低主機板成本,還得到了最佳的訊號品質,這是 ddr 不能比擬的。
post cas ——它是為了提高 ddr2 記憶體的利用效率而設定的。在 post cas 操作中,cas 訊號(讀寫/命令)能夠被插到 ras 訊號後面的乙個時鐘週期,cas 命令可以在附加延遲(additive latency)後面保持有效。原來的 trcd(ras 到 cas 和延遲)被 al(additivelatency)所取代,al 可以在 0,1,2,3,4 中進行設定。由於 cas 訊號放在了 ras 訊號後面乙個時鐘週期,因此,act 和 cas 訊號永遠也不會產生碰撞衝突。
總的來說,ddr2 採用了諸多的新技術,改善了 ddr 的諸多不足,雖然它目前有成本高、延遲慢等諸多不足,但相信隨著技術的不斷提高和完善,這些問題終將得到解決。
~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~分割線-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
Java知識 LinkedList類詳解
這篇部落格算不上對linkedlist類的詳解,我只能把自己淺薄的知識分享出來了。雙向鍊錶jdk1.6的時候是entry結點實現的,jdk1.7開始改用node結點實現。那這兩個有什麼不同呢,據說 是1.7優化的。說是從迴圈鍊錶變成 了非迴圈鍊錶。因為linkedlist 是基於鍊錶的,因此不像ar...
基類和派生類記憶體詳解
昨天室友問了我乙個c 基類和派生類的記憶體方面的問題,由於當時不能給出確切的答案,所以今天在vs上面乙個個測試了一遍,今記錄下來。問題歸結為如下 class a public a a 0 cout b b a p b p fun p vfun p a 2 通過p改變a中a的值 couta a的值 基...
詳解結構體 類等記憶體位元組對齊
先說個題外話 早些年我學c程式設計時,寫過一段解釋硬碟mbr分割槽表的 對著磁碟編輯器怎麼看,怎麼對,可一執行,結果就錯了。當時除錯也不太會,又根本沒聽過結構體對齊這一說,所以,問題解決不了,好幾天都十分糾結。後來萬般無奈請教乙個朋友,才獲悉可能是結構體對齊的事,一查 一改,果真如此。問題是解決了,...