RAM的簡介
經有那麼一段日子,雜誌上的電腦廣告確實是讓人一目了然。當然,不只是因為可選擇的處理器不多,其他所有元件也都沒什麼選擇餘地,從硬碟到音效卡,皆是如此。不過現在的選擇卻是群魔亂舞,讓人無從適應,各式縮寫滿地爬,彷彿一堆術語還不足以應付目前的狀況,所以我們就先來應付好像有著無限類型的記憶體類型。以前有RAM(隨機存取記憶體)就夠了,但是現在的RAM總有一兩個字母放在前面,DRAM、VRAM、SRAM、SDRAM、WRAM──即便是最靈通的技術觀察家,也未必能完全明白這些繞口令。
本文中,我們希望能對各種不同型式的 RAM作一些敘述,好讓各位心中的迷惑稍能紓解。要全盤解釋清楚,整本書拿來寫也不夠,但在以下的一些電腦辭彙用語裏,會列有最常遇見的RAM類型。
RAM的工作
第一步得先解釋一下 RAM是如何工作,另外也得說明RAM和CPU之間的關係。這 CPU,你的可能是486、Pentium、K6或是 M2…等等,是電腦的心臟,資料在此處理,程式指令也由它加以解釋。和CPU整合在一起的就是系統主記憶體,稱為隨機存取記憶體,通稱為 RAM。這兩者合在一起便是機器的核心,至於像硬碟、控制器和影像卡等,都只是中心活動的附加元件,統稱為周邊設備。
CPU使用RAM當作資料儲存區,計算結果和程式指令都放在這兒,如果程式執行需要時,也可以取用儲存區。為了儲存資料和從儲存區讀取資料,CPU會為所需資訊定義記憶體的位址。CPU 透過位址匯流排將位址送到 RAM,然後資料匯流排就會把對應的正確資料送往 CPU。這個匯流排指的是兩種設備之間的連接通道,供它們作通訊之用。量測 RAM效能最重要的指標是讀取時間,從CPU發出指令給RAM,要求取用特定位址的特定資料,記憶體回應後送資料給CPU,到CPU確實收到資料為止,這個程序所花的時間便是讀取時間。目前的 RAM晶片讀取時間,大多是60 ns,這意謂著完成上述程序所需的時間是60奈秒(或稱毫微秒,十億分之一秒),這比起幾年前100或120 ns的晶片可要快得多了,但是和理想的零讀取時間那又差得遠,如果CPU能自己儲存資料就可以達到此一境界。為了加速這一程序,CPU會連往「快取記憶體」,它的讀取時間低於20 ns,遠較系統主記憶體為快,不過系統裏並沒有裝太多的快取(因為它很貴),因此只有被選定的資料,那些CPU下一次可能會處理的資料,才能在其中佔有一席之地,至於選定的工作則由快取控制器來處理。
記憶晶片是以電荷儲存方式工作,晶片由電容和電晶體組成,電容儲存電荷,電晶則負責充電與否。在RAM的晶片裏,系統可以改變其電荷狀況,不過在ROM(唯讀記憶體)裏,電荷要不就是永遠存在,要不就不存在,本文主要是討論RAM。
各種不同的RAM
■ RAM(隨機存取記憶體)
這個字眼是所有可進行非線性模式讀寫動作的記憶體名詞總匯。不過,它通常指的特別是那些以晶片為主的記憶體,因為所有晶片型記憶體都可以作隨機存取。它和ROM並不是天平的兩端,電腦照樣可以從ROM讀取資料,但電腦可以對RAM作讀取和寫入的動作。
■ SIMM(Single In-line Memory Module,單線記憶模組)、DIMM(Dual In-line Memory Module,雙線記憶模組)
SIMM和DIMM指得並不是記憶體的型式,而是RAM包裝的模組(電路板再加上晶片)。SIMM是這兩者中較老的一種,提供的是32位元資料通路,因為Pentium的設計可以處理更寬的資料流量,所以在Pentium的主機板上,SIMM必須成對出現(如果是在486或較慢的主機板上,就可以單獨存在)。DIMM出現的比較晚,採用64位元通路,所以更適合用在Pentium或更新的處理器。以買方的眼光來看,好消息是一片DIMM就可以處理兩片SIMM的工作,當然在Pentium主機板上就可以單獨存在。以長遠來看,DIMM是比較合乎經濟效益的,因為你隨時可以再加一條上去。
■ DRAM(Dynamic RAM,動態隨機存取記憶體)
DRAM是今日電腦標準的系統主記憶體,當你告訴別人,自己的電腦是32MB RAM時,指的就是它。在DRAM裏,資訊是存放在電容器裏的一系列電荷。在幾微秒內,它就可以充電完畢,但是電容器會漏電,所以需要不斷地充電以維持電位。就是因為要不斷充電,所以它才叫作「動態」。
■ FPM RAM(Fast Page-Mode,快速頁模式RAM)
在EDO RAM出現之前,所有在PC裏的主記憶體都是快速頁模式的變型。為何取這個名字已不可考,反正也就只有這麼一種類型。隨著技術日漸成熟,FPM RAM的讀取時間從120奈秒掉到目前最常見的60奈秒。只不過Pentium處理器所允許的匯流排速度是66 MHz,FPM RAM還是追不上這樣的速度,60-ns的RAM模組是以低於30MHz的速度進行隨機頁讀取(所謂的「頁」指的是某一區的位址空間),這比匯流排的速度要慢,所以DRAM製造商便出現了所謂「RAM Cache」的概念。
■ EDO RAM(Extended-data-out RAM,延伸資料輸出RAM)
不必理會那些誇大的宣傳,其實EDORAM也不過是另一種形式的FPM RAM,簡要地說,在CPU在讀取某一位址的資料時,有相當大的機會在下一次動作時,會動用附近位址的資料。因此EDORAM利用這種特性,每次的記憶體讀取,它並不會強迫都來次重新充電,EDO RAM會記著前一次讀取動作的位址,取用附近位址資料時便可以加速進行。EDO RAM可加速記憶讀取周期,在記憶體效能改進可達百分之四十。但是EDO RAM最多只能跟上66MHz的效率,很快地,最新一代的CPU,如AMD、Cyrix和Intel的處理器,就把它給拋在後面了。
■ BEDO RAM(Burst EDO RAM,連發式EDO RAM)
由於讀取DRAM的速度要求愈來愈快,自然也就有相應的技術不斷開發出來。這類技術中有一種叫做連發(Bursting),這種作法就像是射擊裏的連發一樣,大區塊的資料以連續的分式,分成一小段一小段地送到CPU作處理。這代表DRAM裏面,連續發射出來的不只是第一頁裏的詳細位址,還包括後面幾頁的。BEDO RAM在一陣連發中最多可處理四個資料片段,這樣一來,後面三段資料就可以避開如第一段資料送出前的延遲,因為它們早就在那兒待命了。DRAM在收到第一個位址後,其它三個可以用10奈秒的間隔處理,只不過,BEDO RAM實際上雖有速度的增進,但那 66MHz的障礙依舊是難以跨越的鴻溝。BEDO RAM之所以能存活,完全拜 SDRAM製造商並不打算把價錢降到可和 EDO RAM競爭的價位,結果投入改進 EDO技術的資源不斷湧進,於是才出現這個「連發」的技術,以便和 SDRAM在速度上一拼高下,這就是BEDO RAM的由來。
■ SDRAM(Synchronous Dynamic RAM,同步動態隨機存取記憶體)
目前已有大量的資源轉投入SDRAM 的發展,並且已經出現在PC的廣告宣傳上,而它之所以會備受矚目,有兩個因素:第一、SDRAM可以處理高達100MHz的匯流排速度,而很快我們就會看到這樣的機器出現。第二、SDRAM是和系統時脈同步,這種精巧的技術即便是現在,也仍舊讓工程師十分困惑。SDRAM的技術可以讓兩頁的記憶體同時開啟,而目前SDRAM還發展出一種新的標準,這是Santa Clara大學(位在加州)的SCSzzLAssociation和許多工業領先廠商一起發展出來的,稱作SLDRAM。這種技術使用較高的匯流排速度,在處理送給DRAM的指令、位址請求和時序時,則採用封包(Packets,一小塊資料)技術。結果是它不需靠DRAM晶片設計技術改善來增進效率,更棒的是它乃是成本低但效能高的記憶體,請密切注意未來SLDRAM的出現。
■ SRAM(Static RAM,靜態隨機記憶體)
SRAM和DRAM的差異在於,DRAM得隨時充電,而SRAM儲存記憶不必作自動充電的動作,會出現充電動作的唯一時刻是有寫入動作時。如果沒有寫入的指令,在SRAM裏不會有任何東西被更動,這也是它為什麼被稱為靜態的原因。SRAM的優點是它比DRAM快得多,和BFDO的50ns相較,它甚至可以達到12ns。缺點則是它比DRAM貴許多,在PC裏最常用到SRAM的地方就是第二層快取(L2 Cache)。
■ L2 Cache
預測那些資料是下次動作所需,並且將其準備好,好加速執行的速度,這可算是一種快取的藝術。當CPU作出資料請求,資料可在下列四個地方之一找到:L1 Cache(第一層快取)、L2Cache、主記憶體和實體儲存系統(像硬碟)。L1快取位在CPU內,比起其他三者要小得多,L2快取則是另一個獨立的記憶區,採用SRAM。主記憶體大得多,並且由DRAM組成,至於實體儲存系統就更大了,但是速度自然要慢得很多。資料搜尋會先從L1快取開始,然後再到L2快取、DRAM,最後才是實體儲存系統。每下一層,速度就慢了一些,L2快取的功能處在DRAM和CPU之間,讀取速度比DRAM來得快,但得靠複雜的預測技術才能發揮功效。一般所稱的「快取命中」(Cache Hit)指的是,在L2裏找到資料,而非L1。快取系統的目的,就在於把記憶體讀取的速度,盡可能提昇到CPU的水準。
■ Async SRAM(Asynchronous SRAM,非同步SRAM)
從386時代起,Async SRAM就已經和我們共存了,時到今日,仍有很多PC裏的L2快取可以看見它們的身影。被稱為非同步,是因為它並不是和系統時脈同步,然後CPU就得等著L2快取回應資料請求。和DRAM比,這種等待並不算長,但還是得等。
Sync SRAM(Syncronous Burst SRAM,同步連發SRAM),Sync SRAM會和系統時脈同步,所以比起廣泛使用在L2快取上的非同步SRAM要快,速度大約是8.5ns。不幸的是,Sync SRAM的生產量並沒有大到足以降低成本的地步,因此它似乎註定是個短命的傢伙,尤其匯流排速度高於66MHz時,它就沒辦法維持同步的能力,所以在新一代的機器裏,就有待另一種記憶體來填補空隙。
■ PB SRAM(Pipeline Burst SRAM,管線化連發SRAM)
利用連發技術,SRAM的記憶體請求可以加以「管線化」,或者用「收集」的,因此在某一連發裏的請求,可以在一瞬間就被執行完畢。由於PBSRAM使用了管線化技術,所以儘管稍微落後在系統的同步速度,效能還是比Sync SRAM來得高些,主因在於它設計的運作速度,可以配合75MHz或更高的匯流排速度。可預見PB SRAM將會在Pentium II以後的系統裏,扮演重要的角色。
■ VRAM(Video RAM,視訊RAM)
VRAM的目標正是瞄準了視訊的效能,主要是在影像加速卡或整合顯示技術的主機板裏,才可以看到它的出現。VRAM用來儲存圖形顯示裏的像素值,板上的控制器會持續地從這記憶體裏讀取資料來更新顯示資料。它設計的目的除了提供比標準影像卡更快的視訊效能,還得降低對CPU的需求,VRAM是雙埠的記憶體,也就是單位記憶區會有兩個存取埠,一個是用來不斷地更新顯示內容,另一個則是用來改變將會顯示的資料。雙埠也意味著頻寬加倍,和較快的視訊效能,像DRAM和SRAM都只有單埠存取。
■ WRAM(Windows RAM,視窗RAM)
和VRAM一樣,WRAM也是雙埠的RAM,而且專門用在提升圖形顯示效能。在操作上,WRAM和VRAM類似,不過整個使用頻寬還要更高(大約高出百分之二十五),除了好幾個應用程式發展人員可資利用的好幾種圖形顯示功能,這裏面包括了比VRAM緩衝區快上好幾倍的雙緩衝區資料系統,於是在螢幕更新速率便有相當高的表現。
■ SGRAM(Synchronous Graphic RAM,同步圖形RAM)
SGRAM不同於VRAM和WRAM,但卻都是用於影像加速卡。SGRAM是單埠型的RAM,它的加速是採用了雙欄位功能,也就兩頁記憶體區可以同時開啟,因此和雙埠的作法有些類似。在3D影像技術上,SG-RAM証實是個頗有分量的競賽者,因為區塊寫入功能可以加速螢幕填入速度,同時記憶清除速度也會加快。三度空間的影像需要快速的記憶體清除,每秒大約要有30到40次。
結論:所有的RAM技術,都在強調速度,並且試圖不增加成本而能達成此一目標。不過CPU的技術跑得越來越快,記憶體技術必須加速趕上才行,這也是為何有各種RAM推陳出新,它可能讓人迷惑,但可以確定的,它們一定會合乎我們的口味!