細說記憶體

即使您不懂電腦, 您也一定知道記憶體的重要。記憶體種類繁多, 我們統稱為Memory; 無論那一種Memory, 它的功能都是一樣的─儲存電腦內的資料與程式。就算有速度再快的CPU, 沒有記憶體, 電腦也是無法運作。




記憶體的分類及使用場合

那麼, 一部電腦裡頭總共使用了多少種類的記憶體? 一部電腦裡所使用到記憶體種類非常多, 每一種都有其不同的 架構和用處。 然而, 有許多人分辨不出這些記憶體的差異─像是ROM、RAM就有人搞不清楚。 筆者在此將電腦內常見的記憶體作簡單的說明, 讓讀者明白這一些記憶體 的差異 以及使用的場合。





記憶體種類 :

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

DRAM
DRAM - Dynamic 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記憶體就像一部電冰箱, 當您肚子餓了, 會先到冰箱裡找吃的。如果有的話, 就可以直接拿來吃; 如果找不到想吃的, 再去外頭買,這樣不是省時多了?

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

EDO DRAM
EDO DRAM - Extended Data Out DRAM, 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將會被視為一般的記憶體,甚至不能開機。 現在FPM以及EDO記憶體已經成為系統內的主流派了,另外如果讀者見到"Hyper Page Mode DRAM"的話,就是EDO DRAM另外一個稱呼。

BEDO DRAM
BEDO DRAM - Burst EDO DRAM, 爆發式EDO DRAM, 是一種改良型的EDO DRAM, 如果說 EDO DRAM 一次傳輸一筆資料, 則與EDO DRAM不同的是, BEDO DRAM全部 採用Burst的方式運作, 一次傳輸一批資料。

SDRAM
SDRAM - Synchronous DRAM, 它可以做到與CPU clock同步, 去除掉時間上的延遲, 藉以提高記憶體存取的效率。要使用SDRAM必須系統支援。目前市面上絕大部份的 電腦都僅支援EDO,
少部份支援SDRAM。相信再過幾年, SDRAM將會 趕上EDO, 成為高效率系統( High-performance systems) 的標準記憶體。

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不同。

ROM
ROM - Read Only Memory, 唯讀記憶體。由字面上的意義可以很明顯的看出, 這 一種記憶體只能讀, 不能寫入。它主要用來存放firmware韌體 , 例如系統的BIOS, 影像顯示卡上的BIOS等等, 因為這一類型的程式或資料將來會 變動的機會很低, 所以可以採用ROM類型的記憶體來存放, 除了降低成本之外, 儲存 在ROM裡頭的資料也不會因為誤動作而喪失資料。

MASK ROM
MASK ROM - 為了將韌體大量生產, 工廠常會先製作好一顆有原始資料的ROM或EPROM, 然後大量的製造生產出與原始ROM內容完全相同的ROM, 這一種大量生產的ROM就叫做MASK ROM, 可以在影像顯示卡, 遊戲機等硬體上找到它。

PROM
PROM - Programmable ROM, 或one-time programmable (OTP) ROM由字面上可以很 明顯的看出這是一種可以程式規畫的唯讀記憶體, 因為可以允許寫入一次資料, 所 以稱之為PROM。一般運用在製作第一顆原始資料記憶體, 準備將來生產MASK ROM或 其他用途的記憶體。因為只允
許資料寫入一次, 所以如果寫入錯誤, 或者是資料錯 誤, 則這一顆PROM都將無法回收重複使用。

EPROM
EPROM - Erasable Programmable ROM, EPROM也是屬於唯讀記憶體的一種 , 但是它可 以透過紫外線的照射, 將其內部的資料清除掉之後,再透過燒錄器之類的設備,將資料燒錄進EPROM內。所以 ,與PROM最大的不同點,在於EPROM可以重複燒錄資料, 不像PROM般的僅能 燒錄資料一次。在研發firmware時,總是會修修改改的,如果不是用EPROM而是用PROM 或其他的記 憶體,真是太浪費了。

EEPROM
EEPROM - Electrically Erasable Programmable ROM, 也是屬於一種不需要電源就 可以保持住資料的記憶體。資料寫入記憶體之後, 即使在電源關閉的情況下, 也可以保留很長一段時間; 而在寫入資料時, 亦不需要額外的提高電壓, 只 要寫入某一些控制碼, 就可以將資料寫入EEPROM裡頭 。 在許多隨插即用的介面卡中, 都 將本身的設定值存放在EEPROM裡頭,系統可以隨時至EEPROM內讀取到介面卡 的設定資料, 並且系統也可以很快的更改這一些設定, 不需要如同以往般的調整 Jumper。其它如網路卡, 音效卡, 甚至主機板都有廠商使用EEPROM當成BIOS的設定資料 處存裝置。

另外也有許多的「保護」措施採用EEPROM, 例如常聽到的「硬體鎖」。因為EEPROM不需要額外的電源供應來 保存資料, 不怕電腦將電源關閉。因此, 可以將部份資料寫入 EEPROM內保存, 需要的時候再由EEPROM取回資料查核, 達到保護的目的。

FLASH
FLASH - Flash記憶體比較像是一個儲存裝置, 而不像是一般的RAM; 因為當一部 電腦關掉電源之後, 儲存在Flash記憶體的資料並不會流失掉。它讀取資料時的速 度如同一般的ROM, 但是寫入資料時必須將原本的資料清除掉, 然後再寫 入新的資料, 所以所需耗費的時間會比較長, 這是Flash記憶體的缺點。, 有許多採用 PCMCIA介面的儲存裝置, 採用了高容量的Flash記憶體; 筆者已經見過一百多Mbytes容量的PCMCIA Flash記憶卡,當然價位可不低喔! Flash的優點是不需要電源也能保 持資料,缺點是寫入資料的速度太慢。

目前在主機板上頭使用最廣泛的Flash記憶體是用來作為系統的BIOS用途, 以 1Mega-Bit為單位, 分別以Intel/12伏特, SSI以及Winbond五伏特為主, 今年應該會 將容量增加至2Mega-Bit的容量。另外筆者手頭上的資料顯示, 美國「PMC」這一家 公司已經研發出低電源低電壓的Flash記憶體, 採用1.8/2.5/3/5等四種直流電壓,說不定將來會了環保, 大家會陸續採用這種低電源消耗的Flash記憶體當系統的BIOS!



名詞解釋
Cache - 快捷記憶體, 通常會是SRAM
CPU - Central Processing Unit
EDO - Extended Data Output
IC - Integrated Circuit
Parity - 同位元檢查
RAM - Random Access Memory
ROM - Read Only Memory
DRAM - Dynamic RAM
SRAM - Static RAM
FPM DRAM - Fast Page Mode DRAM
EDO DRAM - Extended Data Output DRAM
BEDO DRAM - Burst EDO DRAM
SDRAM - Synchronous DRAM
SGRAM - Synchronous Graphics RAM
RDRAM - Rambus DRAM
VRAM - Video RAM
WRAM - Window RAM
PROM - Programmable ROM
EPROM - Eraseable Programmable ROM
EEPROM - Electrically Erasable Programmable ROM

記憶體的包裝
DIMM - Dual In-line Memory Module
SIMM - Single In-line Memory Module
TSOP - Thin Small Outline Package
DIP - Dual Inline Package
PLCC - Plastic Leaded Chip Carrier
TQFP - Thin Quad Flat Package
PQFP - Plastic Quad Flat Pack
SMT - Surface MounT
SOJ - Small Outline Jedec
BGA - Ball Grid Array

記憶體內的規格
tRC - Random read or write cycle time
tRP - RAS* recharge time
tCP - CAS* recharge time
tRAS - RAS* pulse width
tCAS - CAS* pulse width
tASR - Row address setup time
tRAH - Row address hold time
tASC - Column address setup time
tCAH - Column address hold time
tRSH - RAS* hold time
tCSH - CAS* hold time
tAA - Access time from column-address


arrow
arrow
    全站熱搜

    天天 發表在 痞客邦 留言(0) 人氣()