從KB到GB,記憶體條所經過的7個歷程
當今世界上的電腦都是基於馮·諾依曼結構,一台電腦必須包含運算器、控制器、記憶體和輸入、輸出設備五個部分,記憶體又可分為內記憶體和外記憶體,內記憶體可以簡單理解為CPU裡面的緩存和插主機板上的記憶體,而外記憶體則是硬碟、U盤、軟碟等,記憶體和硬碟對於一台當今的PC來說是不可或缺的部件。
記憶體在PC中是一個巨大的緩衝區,CPU所需訪問與處理的資料都會經過這裡,雖說CPU內部也有各級緩存,但是容量空間是無法與記憶體相比的,隨著CPU的處理能力不斷的提高,記憶體的速度與容量也在不斷的提升,每隔幾年就會更新換代,下面我們就一起來瞭解一下記憶體條的發展歷史。
古老的SIMM時代
其實在最初的個人電腦上是沒有記憶體條的,記憶體是直接以DIP晶片的形式安裝在主機板的DRAM插座上面,需要安裝8到9顆這樣的晶片,容量只有64KB到256KB,要擴展相當困難,但這對於當時的處理器以及程式來說這已經足夠了,直到80286的出現硬體與軟體都在渴求更大的記憶體,只靠主機板上的記憶體已經不能滿足需求了,於是記憶體條就誕生了。
遠古的30pin SIPP (Single In-line Pin Package) 介面,針腳的定義其實與30pin SIMM一樣的
SIPP很快就被SIMM(Single In-line Memory Modules)取代了,兩側金手指傳輸相同的信號,早期的記憶體頻率與CPU外頻是不同步的,是非同步DRAM,細分下去的話包括FPM DRAM(Fast Page Mode DRAM)與EDO DRAM(Extended data out DRAM),常見的介面有30pin SIMM與72pin SIMM,工作電壓都是5V。
從上到下分別是30pin SIMM、蘋果的64pin SIMM與72pin SIMM
第一代SIMM記憶體有30個引腳,單根記憶體資料匯流排只有8bit,所以用在16位元資料匯流排處理器上(286、386SX等)就需要兩根,用在32位元資料匯流排處理器上(386DX、486等)就需要四根30pin SIMM記憶體,採購成本一點都不低,而且還會增加故障率,所以30pin SIMM記憶體並不是完全被大家所接受。
有趣的是DIP晶片形式的記憶體與記憶體條共存了一段比較長的時間,在不少286的主機板上你可以同時看到DIP記憶體晶片與30pin SIMM記憶體插槽,它們是可以一齊工作的。
隨後誕生了72pin SIMM記憶體,單根記憶體位元寬增加到32位,一根就可以滿足32位元資料匯流排處理器,擁有64位元資料匯流排的奔騰處理器則需要兩根,記憶體容量也有所增加,它的出現很快就替代了30pin SIMM記憶體,386、486以及後來的奔騰、奔騰Pro、早期的奔騰II處理器多數會用這種記憶體。
FPM DRAM
30pin FPM DRAM
FPM DRAM是從早期的Page Mode DRAM上改良過來的,當它在讀取同一列資料是,可以連續傳輸行位元址,不需要再傳輸列位元址,可讀出多筆資料,這種方法當時是很先進的,不過現在看來就很沒效率。
FPM DRAM有30pin SIMM和72pin SIMM兩種,前者常見於286、386和486的電腦上,後者則常見於486與早期型的奔騰電腦上,30pin的常見容量是256KB,72pin的容量從512KB到2MB都有。
EDO DRAM
比較少見的168pin EDO記憶體,通常都用在伺服器上
其實也是72pin SIMM的一種,它擁有更大的容量和更先進的定址方式,這種記憶體簡化了資料訪問的流暢,讀取速度要FPM DRAM快不少,主要用在486、奔騰、奔騰Pro、 早期的奔騰II處理器的電腦上面,本人第一台電腦486上面就插著兩條8MB的EDO記憶體。
在1991到1995年EDO記憶體盛行的時候,憑藉著製造工藝的飛速發展,EDO記憶體在成本和容量上都有了很大的突破,單條EDO記憶體容量從4MB到16MB不等,資料匯流排依然是32位元,所以搭配擁有64位元資料匯流排的奔騰CPU時基本都成對的使用。
SDR SDRAM記憶體
然而隨著CPU的升級EDO記憶體已經不能滿足系統的需求了,記憶體技術也發生了大革命,插座從原來的SIMM升級為DIMM(Dual In-line Memory Module),兩邊的金手指傳輸不同的資料,SDR SDRAM記憶體插座的介面是168Pin,單邊針腳數是84,進入到了經典的SDR SDRAM(Single Data Rate SDRAM)時代。
SDRAM其實就是同步DRAM的意思,記憶體頻率與CPU外頻同步,這大幅提升了資料傳輸效率,再加上64bit的資料位元寬與當時CPU的匯流排一致,只需要一根記憶體就能讓電腦正常工作了,這降低了採購記憶體的成本。
第一代SDR SDRAM頻率是66MHz,通常大家都稱之為PC66記憶體,後來隨著Intel與AMD的CPU的頻率提升相繼出現了PC100與PC133的SDR SDRAM,還有後續的為超頻玩家所準備的PC150與PC166記憶體,SDR SDRAM標準工作電壓3.3V,容量從16MB到512MB都有。
SDR SDRAM的存在時間也相當的長,Intel從奔騰2、奔騰3與奔騰4(Socket 478),以及Slot 1、Socket 370與Socket 478的賽揚處理器,AMD的K6與K7處理器都可以SDR SDRAM。
從1999年開始AMD推出K7架構,到2000年Intel推出奔騰4處理器,兩家處理器的FSB都在不斷攀升,只有133MHz的SDR SDRAM根本無法滿足這個頻寬需求,至於誰是它的繼任者,Rambus DRAM與DDR SDRAM展開了一場大戰。
Rambus DRAM記憶體
在選擇SDR SDRAM的繼任者的時候Intel選擇了與Rambus合作並推出了Rambus DRAM記憶體,通常都會被簡稱為RDRAM,它與SDRAM不同,採用了新的高速簡單記憶體架構,基於RISC理論,這樣可以減少資料複雜性提高整個系統的性能。
RDRAM採用RIMM插槽,184pin,匯流排位元寬16bit,插兩條組建雙通道時就是32bit,工作電壓2.5V,當時的頻率有600、700、800、1066MHz等。
這款記憶體通常都是用在Socket 423的奔騰4平臺上,搭配Intel 850晶片組使用,然而大家都應該清楚Socket 423的奔騰4是多麼的悲劇,頻率高效率低的奔騰4被AMD K7+DDR記憶體的組合打得滿地找牙,再加上RDRAM的製造成本高,很多記憶體廠都沒有興趣,這直接導致RDRAM的零售價居高不下,奔騰4平臺的成本相對高,消費者也不買單,最終就是導致RDRAM完敗於DDR SDRAM,最終Intel拋棄RDRAM投奔到DDR陣營。
DDR記憶體
DDR記憶體的正式名字是DDR SDRAM(Dual Date Rate SDRAM),顧名思義就是雙倍速率SDRAM,從名字上就知道它是SDR SDRAM的升級版,DDR SDRAM在時鐘週期的上升沿與下降沿各傳輸一次信號,使得它的資料傳輸速度是SDR SDRAM的兩倍,而且這樣做還不會增加功耗,至於定址與控制信號與SDR SDRAM相同,僅在上升沿傳輸,這是對當時記憶體控制器的相容性與性能做的折中。
DDR SDRAM採用184pin的DIMM插槽,防呆缺口從SDR SDRAM時的兩個變成一個,常見工作電壓2.5V,初代DDR記憶體的頻率是200MHz,隨後慢慢的誕生了DDR-266、DDR-333和那個時代主流的DDR-400,至於那些運行在500MHz、600MHz、700MHz的都算是超頻條了,DDR記憶體剛出來的時候只有單通道,後來出現了支持雙通晶片組,讓記憶體的頻寬直接翻倍,兩根DDR-400記憶體組成雙通道的話基本上可以滿足FBS 800MHz的奔騰4處理器,容量則是從128MB到1GB。
DDR記憶體在對RDRAM的戰爭中取得了完全勝利,所以相當多的主機板廠家都選擇推出支援DDR記憶體的晶片組,當時的主機板市場可是相當的熱鬧,並不只有Intel與AMD兩個在單挑,還有NVIDIA、VIA、SiS、ALI、ATI等廠家,所以能用DDR記憶體的CPU也相當的多,Socket 370的奔騰3與賽揚,Socket 478與LGA 775的奔騰4、奔騰D、賽揚4、賽揚D,只要你想酷睿2其實也可以插到部分865主機板上用DDR記憶體,AMD的話Socket A介面的K7與Socket 939、Socket 754的K8架構產品都是可以用DDR記憶體的。
DDR2記憶體
在DDR記憶體戰勝了RDRAM之後就開啟了DDR王朝,就如大家所知道的,後續的都是DDR的衍生產品,DDR2記憶體在2004年6月與Intel的915/925主機板一同登場,伴隨了大半個LGA 775時代,而AMD的K8架構由於把記憶體控制器整合在CPU內部,要把記憶體控制器改成DDR2的比Intel麻煩得多,直到2006年6月AM2平臺推出才開始支援DDR2記憶體,估計現在還有些用DDR2記憶體的電腦在服役吧。
DDR和DDR2的關鍵區別是:DDR2記憶體單元的核心頻率是等效頻率的1/4(而不是1/2)。這需要一個4-bit-deep的預取佇列,在並不用改變記憶體單元本身的情況下,DDR2能有效地達到DDR資料傳輸速度的兩倍,此外DDR2融入了CAS、OCD、ODT技術規範和中斷指令,運行效率更高。
DDR2記憶體的金手指數比DDR多,DDR2有240個金手指,DDR只有184個,兩者的防呆缺口位置防止用戶差錯插槽,有一個比較容易從外觀上區分DDR與DDR2記憶體的方法,就是DDR記憶體是採用TSSOP封裝的,而DDR2記憶體是用BGA封裝的,看記憶體晶片就能分清楚兩者。
DDR2的標準電壓下降至1.8V,這使得它較上代產品更為節能,DDR2的頻率從400MHz到1200MHz,當時的主流的是DDR2-800,更高頻率其實都是超頻條,容量從256MB起步最大4GB,不過4GB的DDR2是很少的,在DDR2時代的末期大多是單條2GB的容量。
DDR3記憶體
DDR3記憶體隨著Intel在2007年發佈3系列晶片組一同到來的,至於AMD支援DDR3記憶體已經是2009年2月的AM3平臺發佈的時候 ,直到現在他依然還是市場的主流。
然而直到2008年11月推出x58平臺徹底拋棄DDR2的時候DDR3其實還不算是市場主流,在LGA 775平臺上消費者大多數依然會選擇DDR2,歸咎原因主要還算初期DDR3的頻率偏低只有1066MHz,而那時候高端DDR2也是能達到這個頻率的,而且同頻下DDR2的性能更好, 價格更低,所以剛上市那兩年DDR3其實不怎麼受歡迎,直到後來DDR3的價格降下來,頻率提到DDR2觸碰不到1333MHz時才開始普及,這種現象其實在每次記憶體更新換代的時候都會有。
和上一代的DDR2相比,DDR3在許多方面作了新的規範,核心電壓降低到1.5V,預取從4-bit變成了8-bit,這也是DDR3提升頻寬的關鍵,同樣的核心頻率DDR3能夠提供兩倍於DDR2的頻寬,此外DDR3還新增了CWD、Reset、ZQ、STR、RASR等技術。
DDR3記憶體與DDR2一樣是240Pin DIMM介面,不過兩者的防呆缺口位置是不同的,不能混插,常見的容量是512MB到8GB,當然也有單條16GB的DDR3記憶體,只不過很稀少。頻率方面從800MHz起步,目前比較容量買到最高的頻率是2400MHz,實際上有廠家推出了3100MHz的DDR3記憶體,只是比較難買得到,支援DDR3記憶體的平臺有Intel的後期的LGA 775主機板P35、P45、x38、x48等,LGA 1366平臺,LGA 115x系列全都支援還有LGA 2011的x79,AMD方面AM3、AM3+、FM1、FM2、FM3介面的產品全都支援DDR3。
DDR4記憶體
DDR4在2014年登場的時候並沒有重走DDR3發佈的舊路,首款支援DDR4記憶體的是Intel旗艦級的x99平臺,DDR4初登場的時候其實與高頻DDR3沒啥性能與價格上的優勢,然而x99只支援DDR4記憶體,想用旗艦平臺你也只能硬啃貴價記憶體,當然那些選擇旗艦平臺的玩家不會介意這些,DDR4記憶體真正走向大眾其實已經是2015年8月Intel發佈Skylake處理器與100系列主機板之後的事情了。
從DDR1到DDR3,每一代DDR技術的記憶體預取位元數都會翻倍,前三者分別是2bit、4bit及8bit,以此達到記憶體頻寬翻倍的目標,不過DDR4在預取位上保持了DDR3的8bit設計,因為繼續翻倍為16bit預取的難度太大,DDR4轉而提升Bank數量,它使用的是Bank Group(BG)設計,4個Bank作為一個BG組,可自由使用2-4組BG,每個BG都可以獨立操作。使用2組BG的話,每次操作的資料就是16bit,4組BG則能達到32bit操作,這其實變相提高了預取位寬。
DDR4記憶體的針腳從DDR3的240個提高到了284個,防呆缺口也與DDR3的位置不同,還有一點改變就是DDR4的金手指是中間高兩側低有輕微的曲線,而之前的記憶體金手指都是平直的,DDR4既在保持與DIMM插槽有足夠的信號接觸面積,也能在移除記憶體的時候比DDR3更加輕鬆。
DDR4記憶體的標準電壓是1.2V,電壓從2133MHz起步,目前最高是4200MHz,單條容量有4GB、8GB和16GB,目前已經很大程度的取代了DDR3,新的主機板已經很少會提供DDR3記憶體插槽了,徹底進入到DDR4的時代只是時間的問題。
展望未來的DDR5
現在DDR4還沒普及談DDR5可能有點早,DDR5記憶體目前還在研發階段,尚未有具體規範,所以廠商公佈的很多規格都不是確定的,其目標是相比DDR4記憶體至少頻寬翻倍,容量更大,同時更加節能,具體來說就是資料頻率從目前1.6-3.2Gbps的水準提升到3.2-6.4Gbps,預取位寬從8bit翻倍到16bit,記憶體庫提升到16-32個。至於電壓,DDR4電壓已經降至1.2v,DDR5有望降至1.1v或者更低。
在三星討論的DDR5記憶體規範中,其目標跟美光基本一致,也是頻寬至少翻倍,預取位寬也會翻倍,不過記憶體庫數量還是16個,與美光公佈的資料略有不同。
不過在時間點上,業界還是有一定共識的——DDR5預計在2017年完成規範制定,2018年出樣,2019年開始生產,不過要普及的話估計至少是2020年的事了。