何謂RAM?!

近來有些朋友有要買電腦,

但是對於電腦的規格又不是很熟,

以為HDD就昰RAM,

老是跟我講他看到的那台內建250G......或是更大的容量,

這...我就上網去找了些關於RAM的定義與解釋,

以及目前現有的規格,給有需要的朋友參考看看,

RAM的功能與特性

(一)RAM的功能

所謂「RAM」,即隨機存取記憶體(Random Access Memory)之簡稱,屬於電腦之內部記憶體,係用來儲存電腦立刻要用的程式指令或資料。Rma基於易變之特性,可以快速的存取,因此適用於在電腦運算和執行程式的過程中,其隨時存取的是當下執行要用到的程式,而且通常在RAM中出現的,只是當下要用到的程式資料。

此種將應用程式載入RAM中,以供執行的現象,是一般個人電腦執行運用程式的必然現象,電腦程式未經載入RAM中,及無法與電腦溝通。

(二)美國實務對RAM性質的見解

美國法院在多次的判決中,論及RAM的性質,例如美國第三巡迴上訴法院1983年在Apple Computer Inc. v. Franklin Computer Corp.一案中即指出「RAM為一晶片,內部記憶暫存於其中,而俟電源關閉,其中所儲存之記憶即拭去」

加州中區地方法院1984年在Apple Computer Inc. v. Formula Int’l Inc.一案中指出,「RAM可以簡單的定義為可以暫時記錄電腦程式和資料的電腦零件,電腦程式的買受人,欲使用其所買之置於磁碟片之電腦程式,要先將該程式載入RAM中,此僅為暫時性的固著(temporary fixation)。RAM之性質為當電腦電源關閉時,儲存於RAM中之電腦程式之重製物即喪失」

維吉尼亞州東區地方法院1994年在Advanced Computer Serv. Of Mich., Inc. v. MAI Sys. Corp. 一案中也指出,「在電腦程式未經載入RAM中,即無法與電腦溝通」

(三)RAM的特性

從以上之說明,可知RAM有以下三種特性:

1.具有快速存取。
2. RAM中儲存之資料因電源關閉而喪失。
3.執行程式時須將該程式載入RAM中。
由於RAM具有上述之特性,因此儲存於RAM中之資訊,若是一個受著作權法保護之著作時,則在RAM中暫時性的儲存該項著作,是否會構成著作權法意義下之重製?

若採肯定之見解,則因重製權為著作人專屬之權利,未經其同意而將著作載入RAM中之行為,除非可以主張著作人默示授權或主張合理使用之情形,否則該行為有可能構成對著作權人重製權之侵害。反之,若採否定見解,則此行為並未侵害著作人之重製權。關於這個問題,本文之後會再進行更深入的討論。

三、暫時性重製之形態與比較

(一)暫時性重製之形態

在電腦系統上,具有暫時性儲存性質者,包括電腦快取記憶體(cache)、伺服器(server)及代理伺服器(proxy server)等,其性質是否與RAM的性質一樣?比較如下:

1. 電腦快取記憶(cache):
cache有硬體的cache記憶體,及電腦軟體中名為cache檔的cache,前者之cache係指電腦主機板中的一個硬體晶片,其性質屬RAM的一種(為SRAM),故當電腦電源消失,其記憶體上的資料亦隨之不見,故其本質上就是RAM的一種。

後者與電腦檔名為temp檔或temporary internet files檔的屬性一樣,均為硬碟的一個檔名,其儲存資料的方法亦非永久性,係是該檔容量大小及使用電腦的頻率或使用者的自動設定刪除時間而決定資料存在的時間長短,不過該資料並不因電腦電源消失而不見,故其性質應為典型的「重製」。於「暫時性重製」相關問題之討論時,本文所談論的cache,係指前者而言。

2. 伺服器(server)
伺服器也是一部電腦,簡單來說是一部較大型的電腦,通常此電腦中會放置資料庫或程式庫,專門提供使用者透過該電腦連接到網際網路上。當資料經過伺服器時必定有儲存之事實,雖儲存時間不一,但已有重製行為。

依電腦網路實務運作之使用習慣,由於server需要極大的空間作為服務客戶之需求,因此,一般在server的電腦主機上,均以硬碟作為備份其客戶資料之儲存空間,其資料之消除係依電腦程式既有之預設值(固定時間內之更新或刪除)、或由管理者手動刪除等。

RAM - Random Access Memory, 是隨機存取記憶體。它的內部是一個矩陣式的電路, 每一個直行橫列所交叉的一個點就代表著記憶體內的一個bit, 每一個bit的位置儲存一個電位, 所以只要輸入適當的行、列位址, 就可以存取到該位址的資料。由於這一些資料可以隨時存取、修改, 所以稱之為 Random Access Memory, 此一類型的記憶體是電腦內主要使用的記憶體。

RAM 性能指標:


資料存取位元

「資料存取位元」是記憶體一次輸出/輸入的資料量。168-Pin與184-Pin的記憶體「每次」傳輸的資料頻率是64位元,由於Pentium級以上(至Pentium III)CPU與記憶體之間的資料匯流排是64位元,所以只要插上一條168-Pin、184-Pin的記憶體模組(1個Bank)就可以配合CPU作業了。早期72-Pin記憶體的資料頻率則為32位元,所以早期
Pentium主機板在使用72-Pin記憶體時,必須插滿2條72-Pin記憶體模
組才可以開機(32bits + 32bits = 64bits)。

存取時間

記憶體的「存取時間」(Access Time)指的是:從CPU向記憶體提出索取資料的要求,一直到記憶體把資料送出的這段時間。可以想像得到,這個時間當然是越短越好,如果記憶體的存取時間太久,CPU必須停下來等待資料,整體效率便會下降。通常記憶體的存取時間會標示在晶片上。

有些記憶體會標示「7」,這個「7」在「EDO DRAM」上表示70ns(奈秒,10的-9次方秒),也就是從CPU開始要資料到取得資料為止,可在70ns內完成;但對於SDRAM而言,各家廠商的時間標示意義並不相同,所以我們無法直接從SDRAM上面的表示來判定存取的速度。最可靠的辦法,就是依照記憶體型號去查閱Data Sheet(產品規格書),才能知道正確的存取時間。

CAS Latency

CAS Latency簡稱為CL,簡單而言是指記憶體需經過多少的時間周期後,才能開始讀寫資料。常見的CL值有2與3,所以CL=2的記憶體會比CL=3的記憶體來的佳,當然價格也會貴上一些。

Parity Check

Parity Check稱為「同位元檢查」,這是一種檢查資料是否正確的技術,它可以偵測出某段資料是否發生錯誤。一般以維持固定長度(通常為1Byte)的資料中有奇數或偶數個「1」(這是電腦使用的二進位制,不是我們日常說的1、2、3)而分為奇同位為或偶同位兩種,我們以奇同位說明其運作方式。

ECC(Error Checking & Correction)

ECC稱為「錯誤自動檢查與更正」,這也是一種資料檢查的技術,可以檢查資料是否正確;和Parity Check主要的不同點是在只有一個錯誤的狀況下,ECC具有自動更正的能力。

記憶體要具有檢查與修復的功能,就必須記錄更多的資訊,因此這類的記憶體除了負責資料的記錄之外,還要更多的記憶體來保存核對與更正所需的資訊。以前述的Parity Check為例,每8個位元需要增加1個位元來處理。ECC也是類似的做法,但每家廠商的做法並不完全相同,必須視處理資料的方式而定,例如Intel以64個資料位元搭配8個ECC位元,另外也有以8個資料位元搭配4個ECC位元的做法。

一般來說,現今製作記憶體的技術已趨穩定,所以並非所有的記憶體模組都具備ECC功能;換句話說,您若是要求購買具有ECC能力的記憶體,可能會稍微貴一點。

RAM 種類:

FPM DRAM

FPM DRAM - Fast Page Mode DRAM, 這是一種改良型的DRAM。它的特性是, 如果需要存取的前後資料在同一個列位址或同一頁page 內, 那麼記憶體控制器將不會重複送出列位址,只需要指示出下一個行位址就可以了, 所以整體上的效率會增加了一點,使用FPM記憶體就好像是閱讀一本字典一樣,有許多單字存放在同一頁內,非常容易可以前後找到的單字。

EDO DRAM

傳統的DRAM 每寫入一個bit的資料, 就必須送出「列」以及「行」位址各一次, 用來定出這一個bit的所在位置,並且每一個位址都必須有一段穩定的時間,然後才能讀取或寫入有效的資料, 在這一段穩定的時間之前所寫入或讀取的資料都是無效的。

FPM DRAM 的作法是, 在送出一個列位址之後, 只要是要存取同一列位址的資料, 就持續送出不同的行位址, 如此, 可以省去重覆送列位址的時間; 而EDO的作法, 是縮短等待送出位址的時間; 也就是說, 不必等到資料完整的讀去或寫入, 只要一到有效的時間, 就可以準備送出下一個位址, 不必等到有效的時間完畢。 舉例來說, 假設指定一個完整的位址完成之後, 需要等待一秒鐘之後資料匯流排 上頭才是有效的資料; 然後可以讀取或寫入五秒鐘; 之後,再繼續下一個位址的動作 。想想看, 如果在一開始的等待一秒鐘過後, 開始讀取或寫入有效的資料時, 就開始送出另一個位址, 等到下一個有效位址成立之後( 因為也需 要等待一段穩定的時間) , 這個時候資料也已經讀寫完成了, 馬上就可以進行下一個位址的讀寫動作, 省卻了一點等待的時間,這就是EDO DRAM強調的地方。

理論上, EDO DRAM會比傳統的DRAM快。但是實際上, 因為電腦內已經有了Cache , 所以EDO DRAM並沒有很明顯的效率增益; 雖然理論上會有約2%的效益增加比, 但是除非系統沒有Cache Memory, 才會很明顯的感受出效率變快了, 所以EDO DRAM在從前的運用上多偏向於介面卡( 例如VGA卡 )。 近來由於EDO DRAM的產能增加, 生產與銷售的成本大幅的調降,EDO DRAM已成功地代傳統的DRAM,成為製作記憶體模組的主要材料。

要注意的是, 要用EDO DRAM 的優點是有條件的。如果主機板的晶片不支援 EDO DRAM的存取特性,則EDO DRAM將會被視為一般的記憶體,甚至不能開機。

DRAM

DRAM - Dynamic RAM, 是指動態記憶體, 也是目前電腦內最常被使用到的記憶體。 一般我們說的主記憶體 (SD-RAM), 就是指DRAM晶片所製成一條條的記憶體模組( Memory Module )。 在電腦運作時, 系統用DRAM來儲存暫時性的資料, 程式以及運算過程當中的各 種資訊; 而這些資料是由CPU, 顯示卡以及其它的電腦周邊所存放或讀取。會稱之 為Dynamic RAM, 是因為此類記憶體 需要refreshed, 因為其記憶體儲存的單位cells是 以極微小的電容器儲存電荷, 因為如同一個極微小的電容器, 所以如同電容必須 在一段時間之內要充電, 才能保持住原本的電壓。在電腦內只要針對該bit的位址讀 取資料一次, 就可以對該bit充電一次, 不需要額外設計充電的電路, 這個動作稱之 為refreshed, 這是DRAM獨特的特性, 也是嚴重的缺點之一; 因為要refreshed, 所 以總是需要佔用系統一部份的時間, 降低系統的效率。

SRAM

SRAM - Static RAM, 靜態記憶體, 同樣也是採用「行 列」方式來定址儲存資料。但是SRAM至少快過DRAM五倍以上的速度, 價位比DRAM 貴兩倍以上, 體積也比DRAM大兩倍以上。SRAM 也需要用電源來保持資料, 但是不需要如同DRAM般的需要持續不斷的refreshed。 SRAM主要的儲存單位為電晶體, 所以速度會比較快, 並且儲存的 電荷不會像電容器般的會漏電, 所以不需要refreshed動作, 在電腦內是用來作為cache記憶體使用。

Cache RAM

Cache RAM - Cache RAM 是一種高速度的記憶體, 通常是由SRAM 組成, 它放在CPU及主 記憶體之間, 用來儲存經常被使用到的資料及指令; 當CPU需要資料時, 會先檢查這一 塊Cache, 如果資料在這Cache內, 就直接使用; 否則, CPU才會從主記憶 體讀取資料。 Cache記憶體就像把檔案存在硬碟中, 如果硬碟中已有檔案就直接開啟,沒有才從軟碟中讀取, 節省了放磁片, 找檔案的時間。

SDRAM

SDRAM - Synchronous DRAM, 它可以做到與CPU clock同步, 去除掉時間上的延遲, 藉以提高記憶體存取的效率

DDR SDRAM

DDR (Double Data Rate,雙倍資料速率)SDRAM從名稱上即可猜測出它是擁有「雙倍」傳輸速率的SDRAM。

由於它沿用SDRAM的基礎,所以製造成本並不會比SDRAM記憶體高出太多。而市場上DDR SDRAM常以PC1600/PC2100/PC2700來標示速度,其實它指的是DDR200/DDR266/DDR333,也就是每秒可傳送的資料量分別是1.6、2.1、2.7GB。目前DDR SDRAM都採用184-Pin模組。

SGRAM

SGRAM - Synchronous Graphics RAM, SGRAM是由SDRAM再改良的記憶體,它的設計允許以block為單位個別分開地取回或修改其中的資料 , 減少整體記憶體讀寫的次數, 增加繪圖控制器的效率。

RDRAM

RDRAM - Rambus DRAM, RDRAM完全由Rambus公司獨立設計完成。它非常的快, 約是 一般DRAM十倍以上的速度, 但是記憶體控制器需要相當大的改變; 當然系統記憶體方面的介面也要有所更改才能使用。目前絕大部份使用在遊戲機器上頭, 或者專門處理圖形應用的系統上。

VRAM

VRAM - Video RAM, 圖形記憶體。它的特性是可以很快的更新資料, 通常用在高速處理圖形的環境下。要在很短的時間內處理更新到CRT以及CPU上頭的資料, 這對傳統的記憶體而言, 因為只擁有一個資料埠( 單一個輸出入bit), 會 有極大的資料傳輸瓶頸; 而VRAM擁有兩個分開的資料埠( 兩個單獨的輸出入bits) 所以可以解決上述的問題。一個資料埠可以專門用來處理CRT的資料, 更新在螢幕上的顯像; 另外一個資料埠由CPU或繪圖控制器用來改變記憶體內的顯像資料。

WRAM

WRAM - Window RAM, WRAM是另外一種使用雙資料埠的記憶體, 也是集中在專門從事繪圖工作的系統內, WRAM是採用EDO的方式, 此點與VRAM不同。

留言