RAM หรือ Random Access Memory (หน่วยความจำเข้าถึงสุ่ม) เป็นส่วนที่สำคัญมากของคอมพิวเตอร์สมัยใหม่ทุกเครื่อง CPU (Central Processing Unit - หน่วยประมวลผลกลาง) ของคอมพิวเตอร์ต้องการข้อมูลและคำสั่ง เพื่อทำงาน ข้อมูลนั้นต้องจัดเก็บที่ไหนที่หนึ่ง "ที่ไหน" นั้นเรียกว่า หน่วยความจำคอมพิวเตอร์ (Computer Memory)
มีประเภทของหน่วยความจำ RAM หลายประเภท แต่ละอย่างมีข้อดีข้อเสียของตัวเอง CPU มีปริมาณหน่วยความจำเล็กน้อย สร้างอยู่ภายใน ตรงๆ เรียกว่า CPU "Cache" (แคช) หน่วยความจำนี้เร็วมาก และเป็นส่วนหนึ่งของ CPU โดยตรง อย่างไรก็ตาม มันแพงมาก จึงไม่สามารถใช้เป็นหน่วยความจำหลักของคอมพิวเตอร์ได้
นี่คือที่ที่ RAM เข้ามามีบทบาท RAM มาในรูปของชิปซิลิคอน (Silicon Computer Chips) ต่อกับ Memory Bus (บัสหน่วยความจำ) หน่วยความจำแคชบน CPU เอง จริงๆ แล้วก็เป็นรูปแบบหนึ่งของ RAM แต่เมื่อใช้คำว่า RAM อย่างทั่วไป หมายถึงชิปหน่วยความจำเหล่านี้ ที่นั่งนอกเหนือจาก CPU
Memory Bus คือชุดวงจรเฉพาะ (Dedicated Circuits) ที่เคลื่อนย้ายข้อมูลระหว่าง CPU และ RAM เอง ระบบปฏิบัติการ (Operating System) ย้ายข้อมูลจากฮาร์ดดิสก์กลไก (Mechanical) หรือ Solid-State ที่ช้ากว่ามาก ของระบบ มาเตรียมไว้สำหรับความต้องการของ CPU ตัวอย่าง เวลากีมวิดีโอ "Loading" (กำลังโหลด) ข้อมูลกำลังถูกย้ายจากฮาร์ดดิสก์ไป RAM
คิดแบบอнал็อกกี้ (Analogy) คิดว่า RAM คือบนโต๊ะทำงาน และลิ้นชักคือฮาร์ดดิสก์ โดยคุณคือ CPU มันรวดเร็วและง่ายที่จะทำงานกับของที่อยู่บนโต๊ะ แต่มีพื้นที่จำกัด หมายถึง คุณต้องย้ายของระหว่างพื้นผิวโต๊ะและลิ้นชัก ตามที่คุณต้องการ
คอมพิวเตอร์ โทรศัพท์มือถือ คอนโซลเกม และอุปกรณ์คอมพิวติ้งทุกประเภทที่ใช้อยู่วันนี้ มี RAM บางประเภท เราจะอธิบายแต่ละประเภท ว่ามันทำงานอย่างไร และใช้ทำอะไร โดยเฉพาะ เราจะครอบคลุมประเภท RAM ต่อไปนี้:
- SRAM
- DRAM
- SDRAM
- SDR RAM
- DDR SDRAM
- GDDR
- HBM
ไม่ต้องกังวลถ้าดูเหมือนภาษาต่างดาว มันจะชัดเจนทุกอย่างเร็วๆ นี้
SRAM - Static Random Access Memory (หน่วยความจำเข้าถึงสุ่มแบบคงที่)
หนึ่งในสองประเภทหลักของ RAM SRAM พิเศษที่จุด มัน ไม่ต้อง "รีเฟรช" (Refresh) เพื่อรักษาข้อมูลที่มันจัดเก็บอยู่ ตราบใดที่ยังมีกระแสไฟฟ้ไหลผ่านวงจร ข้อมูลจะอยู่ที่เดิม
SRAM สร้างจากทรานซิสเตอร์ (Transistors) จำนวน 4-6 ตัว และเร็วมาก บนบรรดาธรรมชาติของมัน มันซับซ้อนและแพงกว่าค่อนข้าง ซึ่งเป็นเหตุผลที่คุณพบมันใน CPU ให้บริการเป็นหน่วยความจำแคช (Cache Memory) ระดับอัลตร้าเร็ว
ยังมี SRAM แคชปริมาณเล็ก อยู่ที่ทุกที่ที่ข้อมูลต้องเคลื่อนที่เร็ว แต่อาจติดขวด (Bottlenecked) บัฟเฟอร์ฮาร์ดดิสก์ (Hard Drive Buffers) เป็นตัวอย่างดีของกรณีใช้งานนี้ ทุกที่ที่อุปกรณ์ต้องย้ายข้อมูลรอบๆ โอกาสสูงว่าจะมี SRAM ช่วยทำให้การโอนย้ายนั้นราบรื่น
DRAM - Dynamic Random Access Memory (หน่วยความจำเข้าถึงสุ่มแบบไดนามิก)
DRAM เป็น อีก รูปแบบการออกแบบ RAM ที่พบบ่อย หน่วยความจำ DRAM สร้างจากทรานซิสเตอร์และแคปาซิเตอร์ (Capacitors) ถ้าคุณไม่ Refresh (รีเฟรช) เซลล์หน่วยความจำแต่ละเซลล์ มันจะสูญเสียเนื้อหา นี่คือเหตุผลที่เรียกว่า "Dynamic" (ไดนามิก) แทนที่จะเป็น "Static" (คงที่)
DRAM ช้ากว่า SRAM มาก แต่ยังเร็วกว่าอุปกรณ์จัดเก็บรอง (Secondary Storage) อย่างฮาร์ดดิสก์มาก มันถูกกว่า SRAM มาก และเป็นเรื่องปกติ ที่คอมพิวเตอร์จะมี DRAM หลายกิกะไบต์ บนบอร์ด (Onboard) เป็นโซลูชัน RAM หลัก
SDRAM - Synchronous Dynamic Random Access Memory (หน่วยความจำเข้าถึงสุ่มแบบไดนามิกซิงโครนัส)
บางคนคิดว่า SDRAM เป็นผสมของ SRAM และ DRAM แต่ มันไม่ใช่! นี่คือ DRAM ที่ถูกซิงค์ (Synced) เข้ากับนาฬิกา CPU (CPU Clock)
โมดูล DRAM จะรอ CPU ก่อนตอบสนองคำขอข้อมูลอินพุท (Data Input Requests) ขอบคุณลักษณะซิงโครนัส (Synchronous Nature) และวิธีที่หน่วยความจำ SDRAM ถูกกำหนดค่าเป็นแบงก์ (Banks) CPU สามารถทำคำสั่งหลายคำสั่งพร้อมกันได้ (Complete Multiple Instructions at the Same Time) เพิ่มประสิทธิภาพโดยรวมอย่างมีนัยสำคัญ
SDRAM เป็นรูปแบบพื้นฐานของประเภท RAM หลัก ที่ใช้ในคอมพิวเตอร์ส่วนใหญ่วันนี้ ยังรู้จักในชื่อ SDR SDRAM หรือ Single Data Rate Synchronous Dynamic Random Access Memory แม้จะเป็นประเภทหน่วยความจำพื้นฐานเดียวกันที่ใช้ในคอมพิวเตอร์วันนี้ รูปแบบ SDR แบบ Vanilla (ดั้งเดิม) ของมัน ล้าสมัย (Obsolete) ไปแล้ว แทนที่ด้วยประเภท RAM ถัดไปในรายการของเรา
Double Data Rate Synchronous Dynamic Random Access Memory (DDR SDRAM)
สิ่งแรกที่คุณควรรู้ คือ มีหลายรุ่น (Generations) ของหน่วยความจำ DDR รุ่นแรก ซึ่งเราเรียกว่า DDR 1 แบบย้อนหลัง (In Retrospect) เพิ่มความเร็วของ SDRAM เป็นสองเท่า โดยให้การอ่านและเขียน (Read and Write Operations) เกิดขึ้นทั้งยอด (Peak) และ creux (Trough) ของวัฏจักรนาฬิกา (Clock Cycle)
DDR2, DDR3 และวันนี้ DDR4 ได้ปรับปรุงอย่างเอ็กซ์โพเนนเชียล (Exponentially Improved) จากรุ่นแรกของ DDR ประสิทธิภาพของโมดูลหน่วยความจำเหล่านี้ วัดใน Mega Transfers per Second (MT/s) หนึ่ง Mega Transfer ในทางปฏิบัติ เทียบเท่ากับล้านรอบนาฬิกา (Million Clock Cycles) ชิป DDR รุ่นแรกที่เร็วที่สุด ทำได้ 400 MT/s DDR4 สามารถเร็วได้ถึง 3200 MT/s!
GDDR SDRAM - Graphics Double Data Rate Random Access Memory
GDDR อยู่ที่รุ่นที่หก (Sixth Generation) ปัจจุบัน และพบเกือบอย่างเดียวต่อกับ GPU (Graphics Processing Unit) บนการ์ดจอ (Video Card) หรือคอนโซลเกม GDDR เกี่ยวข้องกับ DDR ทั่วไป แต่ออกแบบสำหรับกรณีใช้งานกราฟิก (Graphics Use Cases) เน้น Bandwidth (แบนด์วิดท์/ความกว้างของทางข้อมูล) จำนวนมาก ในขณะที่ไม่ค่อยกังวลเรื่อง Latency (เวลาเลย์เทนซี่/ความล่าช้า) ที่ต่ำ
คำพูดง่ายๆ นี่คือ หน่วยความจำนี้ ไม่ตอบสนองเร็วเท่า SDRAM ทั่วไป แต่มันเคลื่อนย้ายข้อมูลได้มากกว่ามาก ตอนที่มันตอบสนอง นั่นสมบูรณ์แบบสำหรับแอปพลิเคชันกราฟิก ที่ต้องสตรีมข้อมูลเท็กซ์เชอร์ (Texture Data) หลายกิกะไบต์ เข้ามาเพื่อเรนเดอร์ฉาก (Render a Scene) และเลย์เทนซี่เล็กน้อย ไม่มีผลจริง
แม้ชื่อจะบ่งบอก แต่ GDDR สามารถใช้เป็น System RAM ทั่วไปได้ ตัวอย่าง PlayStation 4 มีพูล (Pool) GDDR เดียว ที่นักพัฒนาสามารถแบ่งได้ทุกอย่าง พวกเขาจัดสรรส่วนให้ CPU และ GPU ตามต้องการ
HBM - High Bandwidth Memory (หน่วยความจำแบนด์วิดท์สูง)
GDDR มีคู่แข่งในรูปของหน่วยความจำ HBM ซึ่งปรากฏบนการ์ดจอจำนวนจำกัด ที่ AMD ทำ รุ่นล่าสุดคือ HBM 2 แต่ยังไม่แน่ใจว่าจะแทนที่ GDDR หรือจะล้าสมัย
ส่วนสำคัญที่สุดของประสิทธิภาพหน่วยความจำ คือ ปริมาณข้อมูลทั้งหมด ที่สามารถขยับได้ ภายในเวลาที่กำหนด วิธีหนึ่ง คือ ทำหน่วยความจำให้เร็วมาก อีกวิธีหนึ่ง เพิ่ม Bandwidth รวม คือ ทำ "ท่อ" (Pipe) ที่ข้อมูลถูกดันผ่าน ให้กว้างขึ้น
หน่วยความจำ HBM ทำงานที่ความถี่นาฬิกา Raw (Raw Clock Frequencies) ต่ำกว่า GDDR แต่ใช้การออกแบบชิปซ้อน 3 มิติ (Unique 3D-stacked Chip Design) ที่ให้ทางกายภาพสำหรับข้อมูลที่กว้างมาก รวมถึงระยะทางสั้นกว่ามาก สำหรับสัญญาณเดินทาง ผลลัพธ์คือ โซลูชันหน่วยความจำ ที่มี Bandwidth รวม คล้าย GDDR แต่มีเลย์เทนซี่น้อยกว่า
ปัญหาของ HBM คือ มันซับซ้อนต่อการผลิต และขอบคุณการออกแบบกายภาพของมัน ยังไม่สามารถบรรลุความจุแบบต่างๆ ที่ง่ายกับ GDDR ถ้าปัญหาเหล่านี้ถูกแก้ไขในที่สุด มันอาจแทนที่ GDDR ได้ แตไม่มีการรับประกันว่าจะเกิดขึ้น
ขอขอบคุณความทรงจำ (Thanks For The Memories!)
ควรชัดเจนแล้วว่า RAM เป็นส่วนประกอบจำเป็นของคอมพิวเตอร์ทุกเครื่อง และ ตอนมันผิดปกติ อาจยากที่จะ 알아차리ว่า (Figure Out) ปัญหาจริงคืออะไร
畢竟 (After all) บิตผิดปกติ (Rogue Bit) ที่นี่นั่น อาจทำให้ระบบของคุณไม่เสถียรเล็กน้อย หรือเป็นสาเหตุของการ Crash (แครช) แบบสุ่มที่ดูไร้เหตุผล นี่คือเหตุผลที่คุณควรทดสอบ RAM ที่เสีย (Bad RAM) ทุกครั้ง ที่คุณมีปัญหาความเสถียรที่อธิบายไม่ได้
วันหนึ่งเราอาจเคลื่อนไปข้างหน้า RAM แต่สำหรับอนาคตที่คาดการณ์ได้ มันจะยังคงเป็นส่วนสำคัญของปริศนาประสิทธิภาพคอมพิวติ้ง ดังนั้นเราควรเรียนรู้จักมันดีๆ