แรม

RAM


ปัจจุบันนี้คงไม่มีใครเถียงนะครับ ว่า RAM นี้ ก็มีส่วนสำคัญอย่างมากสำหรับ performance ของระบบ PC ที่เราๆ ท่านๆ ใช้กันอยู่ ถ้าเป็นสมัยก่อนเราก็มักจะพูดกันแต่ว่า RAM เฉยๆ แต่ปัจจุบันนี้ เราคงไม่ค่อยได้เห็นคำว่า RAM อยู่โดดๆ เฉยๆ อีกต่อไปแล้ว มันจะมีอักษรอื่นๆ มาอยู่ข้างหน้ามัน เช่น EDORAM, SDRAM, VRAM, WRAM ฯลฯ เอาละ เริ่มสับสนบ้างแล้วละสิครับ ว่า แล้วไอ้เจ้าพวกเนี้ย มันคืออะไร? มันต่างกันอย่างไร? เรามาดูกันดีกว่าครับ

RAM เป็นคำย่อ มาจากคำเต็มๆว่า Random-Access Memory เป็นความหมายรวมๆ ซึ่งครอบคลุมถึงหน่วยความจำชนิดต่างๆ มันเป็นหน่วยความจำที่จำเป็นต้องมีไฟ มาหล่อเลี้ยง หากขาดไฟเลี้ยงแล้ว มันก็จะไม่จำอะไรอีกแล้ว คงเหมือนๆ สมองคนเนอะ หากขาดเลือดหล่อเลี้ยง ก็คงไม่จำอะไรอีกแล้ว ( ขนาดมีเลือดมาเลี้ยง ยังจำกันไม่ค่อยได้เลย แหะ แหะ ;-P ) พอพูดถึงคำๆ นี้แล้วมักจะนึกถึงอีกคำหนึ่ง ซึ่งเขียนคล้ายๆกัน แต่ความหมายต่างกันนั่นก็คือ ROM มาจากคำว่า Read-Only Memory ซึ่งก็หมายถึงหน่วยความจำเช่นกัน .. เอ๊ะ แล้วอย่างนี้ มันต่างกันอย่างไรล่ะ?

ROM นั้นจะเก็บข้อมูล ซึ่งถูกบันทึกมาตั้งแต่แรกแล้ว ไม่สามารถแก้ไขได้ เพราะฉะนั้น CPU สามารถ ดึงข้อมูลจาก ROM ได้อย่างเดียว ไม่สามารถบันทึกอะไรลงไปได้ ต่างจาก RAM ซึ่ง CPU สามารถ อ่าน และ/หรือ เขียน ข้อมูลต่างๆ ได้

Module ของ RAM

RAM ที่เรานำมาใช้งานนั้นจะเป็น chip เป็น IC ตัวเล็กๆ ซึ่งส่วนที่เรานำมาใช้เป็นหน่วยความจำหลัก จะถูก pack อยู่บนแผงวงจร หรือ Circuit Board เป็น module ซึ่งก็มีหลักๆ อยู่ 2 module คือ SIMM กับ DIMM

SIMM หรือ Single In-line Memory Module โดยที่ Module ชนิดนี้ จะรองรับ datapath 32 bit โดยทั้งสองด้านของ circuite board จะให้สัญญาณเดียวกัน

DIMM หรือ Dual In-line Memory Module โดย Module นี้เพิ่งจะกำเนิดมาไม่นานนัก มี datapath ถึง 64 bit โดยทั้งสองด้านของ circuite board จะให้สัญญาณที่ต่างกัน

ตั้งแต่ CPU ตระกูล Pentium เป็นต้นมา ได้มีการออกแบบให้ใช้งานกับ datapath ที่มากกว่า 32 bit เพราะฉะนั้น เราจึงพบว่า เวลาจะใส่ SIMM RAM บน slot RAM จะต้องใส่เป็นคู่ๆ ใส่โดดๆ แผงเดียวไม่ได้

Memory Module ณ ปัจจุบัน มีอยู่ 3 รูปแบบ คือ 30-pin, 72-pin, 168-pin แต่ที่เราสามารถพบเจอได้ในวันนี้ จะเป็นแบบ 72-pin และ 168-pin โดยที่แบบ 30-pin จะหาได้ยากแล้ว

รายละเอียดของแต่ละชนิดของ RAM

ก่อนอื่น เรามาดู ชนิดของการตรวจสอบข้อมูลของ RAM กันก่อนนะครับ


Parity กับ Non-Parity ส่วนที่แตกต่างกันของสองแบบนี้ ก็คือว่า แบบ Parity จะมีความสามารถในการตรวจสอบความถูกต้องของ ข้อมูล โดยจะมี bit ตรวจสอบ 1 ตัว ถ้าพบว่ามีข้อมูลผิดพลาด ก็จะเกิด system halt ในขณะที่แบบ Non-Parity จะไม่มีการตรวจสอบ bit นี้


Error Checking and Correcting ( ECC ) หน่วยความจำแบบนี้ ก็พัฒนาขึ้นมาอีกระดับหนึ่งเพราะนอกจากจะตรวจสอบว่ามีข้อมูลผิดพลาดได้แล้ว ยังสามารถ แก้ไข bit ที่ผิดพลาดได้อีกด้วย โดยไม่ทำให้ system halt แต่หากมีข้อมูลผิดพลาดมากๆ มันก็ halt ได้เหมือนกันนะ สำหรับ ECC นี้ จะเปลือง overhead เพื่อเก็บข้อมูลมากกว่าแบบ Parity ดังนั้น Performance ของมันจึงถูกลดทอนลงไปบ้าง

เอาล่ะ แล้วต่อไป เราก็มาดูถึงแต่ละชนิด และ ความแตกต่างของ RAM กันเลยนะครับ


Dynamic Random Access Memory (DRAM)

DRAM จะทำการเก็บข้อมูลในตัวเก็บประจุ ( Capacitor ) ซึ่งจำเป็นจะต้องมีการ refresh เพื่อ เก็บข้อมูลให้คงอยู่ โดยการ refresh นี้ ทำให้เกิดการหน่วงเวลาขึ้นในการเข้าถึงข้อมูล และก็เนื่อง จากที่มันต้อง refresh ตัวเองอยู่ตลอดเวลานี้เอง จึงเป็นเหตุให้ได้ชื่อว่า Dynamic RAM ปัจจุบันนี้แทบจะหมดไปจากตลาดแล้ว


Static Random Access Memory (SRAM)

จะต่างจาก DRAM ตรงที่ว่า DRAM จะต้องทำการ refresh ข้อมูลอยู่ตลอดเวลา แต่ในขณะที่ SRAM จะเก็บข้อมูลนั้นๆ ไว้ และจะไม่ทำการ refresh โดยอัตโนมัติ ซึ่งมันจะทำการ refresh ก็ต่อเมื่อ สั่งให้มัน refresh เท่านั้น ซึ่งข้อดีของมัน ก็คือความเร็ว ซึ่งเร็วกว่า DRAM ปกติมาก แต่ก็ด้วยราคาที่สูงกว่ามาก จึงเป็นข้อด้อยของมันเช่นกัน


Fast Page Mode DRAM (FPM DRAM)

FPM นั้น ก็เหมือนๆกับ DRAM เพียงแต่ว่า มันลดช่วงการหน่วงเวลาในขณะเข้าถึงข้อมูลลง ทำให้มัน มีความเร็วในการเข้าถึงข้อมูลสูงกว่า DRAM ปกติ โดยที่สัญญาณนาฬิการปกติในการเข้าถึงข้อมูล จะเป็น 6-3-3-3 ( Latency เริ่มต้นที่ 3 clock พร้อมด้วย 3 clock สำหรับการเข้าถึง page ) และสำหรับระบบแบบ 32 bit จะมีอัตราการส่งถ่ายข้อมูลสูงสุด 100 MB ต่อวินาที ส่วนระบบแบบ 64 bit จะมีอัตราการส่งถ่ายข้อมูลสูงสุดที่ 200 MB ต่อวินาที เช่นกันครับ ปัจจุบันนี้ RAM ชนิดนี้ก็แทบจะหมดไปจากตลาดแล้ว แต่ก็ยังคงเห็นได้บ้างและมักจะมีราคา ที่ค่อนข้างแพงเมื่อเทียบกับ RAM รุ่นใหม่ๆ เนื่องจากที่ว่า ปริมาณที่มีในท้องตลาดมีน้อยมาก ทั้งๆที่ ยังมีคนที่ต้องการใช้ RAM ชนิดนี้อยู่


Extended-Data Output (EDO) DRAM

หรืออีกชื่อหนึ่งก็คือ Hyper-Page Mode DRAM ซึ่งพัฒนาขึ้นอีกระดับหนึ่ง โดยการที่มันจะอ้างอิงตำแหน่ง ที่อ่านข้อมูลจากครั้งก่อนไว้ด้วย ปกติแล้วการดึงข้อมูลจาก RAM ณ ตำแหน่งใดๆ มักจะดึงข้อมูล ณ ตำแหน่งที่อยู่ใกล้ๆ จากการดึงก่อนหน้านี้ เพราะงั้น ถ้ามีการอ้างอิง ณ ตำแหน่งเก่าไว้ก่อน ก็จะทำให้ เสียเวลาในการเข้าถึงตำแหน่งน้อยลง และอีกทั้งมันยังลดช่วงเวลาของ CAS latency ลงด้วย และด้วยความสามารถนี้ ทำให้การเข้าถึงข้อมูลดีขึ้นกว่าเดิม กว่า 40% เลยทีเดียว และมีความ สามารถโดยรวมสูงกว่า FPM กว่า 15%

EDO จะทำงานได้ดีที่ 66MHz ด้วย Timming 5-2-2-2 และ ก็ยังทำงานได้ดีเช่นกันถึงแม้จะใช้งานที่ 83MHz ด้วย Timming นี้ และหากว่า chip EDO นี้ มีความเร็วที่สูงมากพอ ( มากกว่า 50ns ) มันก็สามารถใช้งานได้ ณ 100 MHz ที่ Timming 6-3-3-3 ได้อย่างสบาย อัตราการส่งถ่ายข้อมูลสูงสุดของ DRAM ชนิดนี้อยู่ที่ 264M ต่อวินาที

EDO RAM เองก็เช่นกัน ณ ปัจจุบันนี้ ก็หาได้ค่อนข้างยากแล้วในท้องตลาด เนื่องจากบริษัทผู้ผลิต หยุดผลิต หรือ ผลิตในปริมาณน้อยลงแล้ว เพราะหันไปผลิต RAM รุ่นใหม่ๆ แทน ทำให้ราคาเมื่อเทียบเป็น เมกต่อเมก กับ SDRAM จึงแพงกว่า


Burst EDO (BEDO) DRAM

BEDO ได้เพิ่มความสามารถขึ้นมาจาก EDO เดิม คือ Burst Mode โดยหลังจากที่มันได้ address ที่ต้องการ address แรกแล้ว มันก็จะทำการ generate อีก 3 address ขึ้นทันที ภายใน 1 สัญญาณนาฬิกา ดังนั้นจึงตัดช่วงเวลาในการรับ address ต่อไป เพราะฉะนั้น Timming ของมันจึงเป็น 5-1-1-1 ณ 66 MHz

BEDO ไม่เป็นที่แพร่หลาย และได้รับความนิยมเพียงระยะเวลาสั้นๆ เนื่องมาจากว่าทาง Intel ตัดสินใจใช้ SDRAM แทน EDO และไม่ได้ใช้ BEDO เป็นส่วนประกอบในการพัฒนา chipset ของตน ทำให้บริษัทผู้ผลิตต่างๆ หันมาพัฒนา SDRAM กันแทน


Synchronous DRAM (SDRAM)

SDRAM นี้ จะต่างจาก DRAM เดิม ตรงที่มันจะทำงานสอดคล้องกับสัญญาณนาฬิกา สำหรับ DRAM เดิมจะทราบตำแหน่งที่จะอ่าน ก็ต่อเมื่อเกิดทั้ง RAS และ CAS ขึ้น แล้วจึงทำการ ไปอ่านข้อมูล โดยมีช่วงเวลาในการเข้าถึงข้อมูล ตามที่เราๆมักจะได้เห็นบน chip ของตัว RAM เลย เช่น -50 , -60, -80 โดย -50 หมายถึง ช่วงเวลาเข้าถึง ใช้เวลา 50 นาโนวินาทีเป็นต้น แต่ว่า SDRAM จะใช้สัญญาณนาฬิกาเป็นตัวกำหนดการทำงาน โดยจะใช้ความถี่ของสัญญาณเป็นตัวระบุ SDRAM จะทำงานตามสัญญาณนาฬิกาขาขึ้น เพื่อรอรับตำแหน่งที่ต้องการให้มันอ่าน แล้วจากนั้น มันก็จะไปค้นหาให้ และให้ผลลัพธ์ออกมา หลังจากได้รับตำแหน่งแล้ว เท่ากับ ค่า CAS เช่น CAS 2 ก็คือ หลังจากรับตำแหน่งที่จะอ่านแล้ว มันก็จะให้ผลลัพธ์ออกมา ภายใน 2 ลูกของสัญญาณนาฬิกา

SDRAM จะมี Timming เป็น 5-1-1-1 ซึ่งแน่นอน มันเร็วพอๆ กันกับ BEDO RAM เลยทีเดียว แต่ว่ามันสามารถ ทำงานได้ ณ 100 MHz หรือ มากกว่า และมีอัตราการส่งถ่ายข้อมูลสูงสุดอยู่ที่ 528 M ต่อวินาที


DDR SDRAM ( หรือ ที่เรียกกันว่า SDRAM II )

DDR DRAM นี้ แยกออกมาจาก SDRAM โดยจุดที่ต่างกันหลักๆ ของทั้งสองชนิดนี้คือ DDR SDRAM นี้ สามารถที่จะใช้งานได้ทั้งขาขึ้น และ ขาลง ของสัญญาณนาฬิกา เพื่อส่งถ่ายข้อมูล นั่นก็ทำให้อัตราส่งถ่ายเพิ่มได้ถึงเท่าตัว ซึ่งจะมีอัตราส่งถ่ายข้อมูลสูงสุดถึง 1 G ต่อวินาทีเลยทีเดียว


Rambus DRAM (RDRAM)

ชื่อของ RAMBUS เป็นเครื่องหมายการค้าของบริษัท RAMBUS Inc. ซึ่งตั้งขึ้นมาตั้งแต่ยุค 80 แล้ว เพราะฉะนั้น ชื่อนี้ ก็ไม่ใช่ชื่อที่ใหม่อะไรนัก โดยปัจจุบันได้เอาหลักการของ RAMBUS มาพัฒนาใหม่ โดยการลด pin, รวม static buffer, และ ทำการปรับแต่งทาง interface ใหม่ DRAM ชนิดนี้ จะสามารถทำงานได้ทั้งขอบขาขึ้นและลง ของสัญญาณนาฬิกา และ เพียงช่องสัญญาณเดียว ของหน่วยความจำแบบ RAMBUS นี้ มี Performance มากกว่าเป็น 3 เท่า จาก SDRAM 100MHz แล้ว และ เพียงแค่ช่องสัญญาณเดียวนี้ก็มีอัตราการส่งถ่ายข้อมูลสูงสุดถึง 1.6 G ต่อวินาที

ถึงแม้ว่าเวลาในการเข้าถึงข้อมูลแบบสุ่มของRAMชนิดนี้จะช้า แต่การเข้าถึงข้อมูลแบบต่อเนื่องจะเร็วมากๆๆๆ ซึ่งหากว่า RDRAM นี้มีการพัฒนา Interface และ มี PCB ที่ดีๆ แล้วละก็ รวมถึง Controller ของ Interface ให้สามารถใช้งานมันได้ถึง 2 ช่องสัญญาณแล้วหล่ะก็ มันจะมีอัตราส่งถ่ายข้อมูลเพิ่มเป็น 3.2 G ต่อวินาที และหากว่าสามารถใช้งานได้ถึง 4 ช่องสัญญาณ ก็จะสามารถเพิ่มไปถึง 6.4 G ต่อวินาที มหาศาลเลยหล่ะ!


Synchronous Graphics RAM (SGRAM)

SGRAM นี้ ก็แยกออกมาจาก SDRAM เช่นกัน โดยมันถูกปรับแต่งมาสำหรับงานด้าน Graphics เป็นพิเศษ แต่โดยโครงสร้างของ Hardware แล้ว แทบจะไม่ต่างจาก SDRAM เลย เราจึงจากบาง Graphic Card ที่รุ่นเดียวกัน แต่ใช้ SDRAM ก็มี SGRAM ก็มี เช่น Matrox G200 ไงครับ แต่จุดที่ต่างกัน ก็คือฟังก์ชั่น ที่ใช้โดย Page Register ซึ่ง SG สามารถทำการเขียนข้อมูลได้หลายๆตำแหน่ง ในสัญญาณนาฬิกาเดียว ในจุดนี้ ทำให้ความเร็วในการแสดงผล และ Clear Screen ทำได้เร็วมาก และ ยังสามารถเขียนเพียงแค่ บาง bit ใน word ได้ ( คือไม่ต้องเขียนข้อมูลใหม่ทั้งหมด เขียนเพียงแค่ข้อมูลที่เปลี่ยนแปลงเท่านั้น ) โดยใช้ bit mask ในการเลือก bit ที่จะเขียนใหม่

สำหรับงานโดยปกติแล้ว SGRAM แทบจะไม่ให้ผลที่ต่างจาก SDRAM เลย มันเหมาะกับงานด้าน Graphics มากกว่า เพราะด้วยความสามารถที่ว่าแสดงผลเร็วและ Clear Screen ได้เร็ว มันจึงเหมาะกับใช้บน Graphics Card มากกว่า ที่จะใช้บน System


Video RAM (VRAM)

VRAM ชื่อก็บอกอยู่แล้วว่า ทำงานเกี่ยวกับ Video เพราะมันถูกออกแบบมาใช้บน Display Card โดย VRAM นี้ ก็มีพื้นฐานมาจาก DRAM เช่นกัน แต่ที่ทำให้มันต่างกัน ก็ด้วยกลไกบางอย่างที่เพิ่มเข้ามา โดยที่ VRAM นั้น จะมี serial port พิเศษเพิ่มขึ้นมาอีก 1 หรือ 2 port ทำให้เรามองว่ามันเป็น RAM แบบ พอร์ทคู่ ( Dual-Port ) หรือ ไตรพอร์ท ( Triple-Port ) Parallel Port ซึ่งเป็น Standard Interface ของมัน จะถูกใช้ในการติดต่อกับ Host Processor เพื่อสั่งการให้ทำการ refresh ภาพขึ้นมาใหม่ และ Serial Port ที่เพิ่มขึ้นมา จะใช้ในการส่งข้อมูลภาพ ออกสู่ Display


Windows RAM (WRAM)

WRAM นี้ ดูๆไปแล้วเหมือนกับว่า ถูกพัฒนาโดย Matrox เพราะ แทบจะเป็นผู้เดียวที่ใช้ RAM ชนิดนี้ บน Graphics Card ของตน ( card ตระกูล Millenium และ Millenium II แต่ไม่รวม Millenium G200 ซึ่งใช้ SGRAM ) แต่ปัจจุบันนี้ก็เห็นมีของ Number 9 ที่ใช้ WRAM เช่นกัน ในรุ่น Number 9 Revolution IV ที่ใช้ WRAM 8M บน Card WRAM นี้ โดยรวมแล้วก็เหมือนๆกับ VRAM จะต่างกันก็ตรงที่มันรองรับ Bandwith ที่สูงกว่า อีกทั้งยังใช้ระบบ Double-Buffer อีกด้วย จึงทำให้มันเร็วกว่า VRAM อีกมากทีเดียว


โดย : นาย สุมิตร สิงห์พร, หนองวัวแดงวิทยา, วันที่ 18 พฤษภาคม 2545