Memory Wall คืออะไร? เมื่อ CPU พัฒนาเร็วขึ้นเรื่อย ๆ แต่หน่วยความจำกลับไม่ได้เร็วขึ้นในอัตราเดียวกัน จนเกิด “ช่องว่าง” ระหว่างพลังการคำนวณกับความเร็วในการป้อนข้อมูล ปัญหาคือ CPU ที่เร็วระดับมหาศาล อาจไม่ได้ใช้เวลาส่วนใหญ่ไปกับการคำนวณ แต่อาจต้อง หยุดรอข้อมูลจาก Memory แทน และเมื่อเข้าสู่ยุค AI ที่ต้องเคลื่อนย้ายข้อมูลจำนวนมหาศาล Memory Wall จึงกำลังกลายเป็นหนึ่งใน “คอขวด” สำคัญของคอมพิวเตอร์ยุคใหม่
ในยุคที่เรามักพูดกันว่า CPU รุ่นใหม่มีจำนวนคอร์มากขึ้น ความเร็วสูงขึ้น และสามารถประมวลผลคำสั่งได้มหาศาลต่อวินาที อาจทำให้เข้าใจว่าการเพิ่มประสิทธิภาพของคอมพิวเตอร์เป็นเรื่องของการทำให้ CPU เร็วขึ้นเพียงอย่างเดียว แต่ในความเป็นจริงแล้ว CPU ไม่ได้ทำงานอยู่ลำพัง เพราะก่อนที่จะคำนวณอะไรได้ มันต้องได้รับข้อมูลและคำสั่งจากหน่วยความจำเสียก่อน และนี่เองคือจุดที่เกิดปัญหาสำคัญที่เรียกว่า “Memory Wall” หรือ “กำแพงด้านหน่วยความจำ” ซึ่งหมายถึงช่องว่างระหว่างความเร็วในการประมวลผลของโปรเซสเซอร์กับความเร็วในการส่งข้อมูลจากหน่วยความจำเข้าสู่โปรเซสเซอร์ เมื่อช่องว่างนี้กว้างขึ้นเรื่อย ๆ CPU ที่มีพลังมหาศาลก็อาจต้องเสียเวลา “รอข้อมูล” แทนที่จะใช้เวลานั้นในการคำนวณ
Memory Wall คืออะไร ?
แนวคิดของ Memory Wall เกิดขึ้นจากพัฒนาการของคอมพิวเตอร์ที่ไม่สมดุลกัน ระหว่างฝั่ง Compute หรือความสามารถในการคำนวณ กับฝั่ง Memory หรือความสามารถในการป้อนข้อมูลให้กับหน่วยประมวลผล ในช่วงหลายทศวรรษที่ผ่านมา วิศวกรสามารถพัฒนา CPU ให้เร็วขึ้นได้อย่างต่อเนื่อง ทั้งการเพิ่มความถี่ การเพิ่มจำนวนคอร์ การทำงานแบบขนาน และการเพิ่มประสิทธิภาพของสถาปัตยกรรมภายในโปรเซสเซอร์ ขณะที่เทคโนโลยีหน่วยความจำ แม้จะพัฒนาขึ้นเช่นกัน แต่ความเร็วในการเข้าถึงข้อมูลหรือ Memory Latency ไม่ได้เพิ่มขึ้นในอัตราเดียวกับความสามารถของ CPU ผลที่เกิดขึ้นจึงเหมือนกับเรามีโรงงานที่มีเครื่องจักรทำงานเร็วขึ้นเรื่อย ๆ แต่สายพานที่ลำเลียงวัตถุดิบเข้ามายังโรงงานไม่ได้เร็วขึ้นตามไปด้วย ในบางจังหวะเครื่องจักรจึงต้องหยุดรอวัตถุดิบ ปัญหานี้ไม่ได้หมายความว่า RAM “ช้า” ในความหมายทั่วไป แต่หมายความว่า RAM เร็วไม่พอเมื่อเทียบกับความเร็วของโปรเซสเซอร์ที่ต้องการข้อมูล และเมื่อ CPU สามารถทำงานได้หลายคำสั่งในช่วงเวลาที่หน่วยความจำกำลังตอบสนองเพียงหนึ่งครั้ง ช่องว่างดังกล่าวจึงกลายเป็นคอขวดของระบบอย่างหลีกเลี่ยงไม่ได้
ลองจินตนาการว่า CPU เป็นเชฟที่ทำอาหารได้เร็วมาก เชฟสามารถหั่น ผัด และปรุงอาหารได้แทบจะทันที แต่ถ้าวัตถุดิบทุกอย่างต้องเดินทางมาจากโกดังที่อยู่ไกลออกไป เชฟก็ไม่สามารถทำงานต่อได้ตลอดเวลา เพราะต้องหยุดรอวัตถุดิบ นี่คือสิ่งที่เกิดขึ้นกับ CPU เช่นกัน เมื่อคำสั่งต้องการข้อมูลที่ไม่ได้อยู่ใกล้โปรเซสเซอร์ CPU อาจต้องรอให้ข้อมูลเดินทางมาจากระดับหน่วยความจำที่ช้ากว่า ยิ่งโปรแกรมมีรูปแบบการเข้าถึงข้อมูลที่ไม่เป็นระเบียบและไม่สามารถใช้ข้อมูลเดิมซ้ำได้มากเท่าไร ปัญหา Memory Wall ก็ยิ่งเห็นได้ชัดขึ้นเท่านั้น
ทำไม CPU เร็ว แต่คอมพิวเตอร์ยังต้องรอ?
หัวใจสำคัญของ Memory Wall อยู่ที่คำสองคำคือ Latency และ Bandwidth ซึ่งมักถูกเข้าใจว่าเป็นเรื่องเดียวกัน แต่จริง ๆ แล้วแตกต่างกัน Latency คือระยะเวลาที่ต้องใช้ตั้งแต่ CPU ขอข้อมูลจนกระทั่งได้รับข้อมูลกลับมา ส่วน Bandwidth คือปริมาณข้อมูลที่สามารถส่งผ่านระบบหน่วยความจำได้ในช่วงเวลาหนึ่ง ดังนั้นหน่วยความจำอาจมี Bandwidth สูงมาก แต่ยังมี Latency ที่เป็นปัญหาได้ โดยเฉพาะงานที่ต้องอ่านข้อมูลแบบสุ่มและไม่สามารถคาดการณ์ล่วงหน้าได้ ตัวอย่างเช่น CPU อาจสามารถประมวลผลคำสั่งได้จำนวนมากภายในช่วงเวลาที่ DRAM ใช้สำหรับตอบสนองคำขอข้อมูลเพียงครั้งเดียว หากข้อมูลที่ CPU ต้องการไม่อยู่ใน Cache และต้องเดินทางไปถึง Main Memory เวลาที่เสียไปกับการรออาจมากกว่าระยะเวลาที่ใช้ในการคำนวณจริงเสียอีก
นี่ทำให้การวัดความเร็วของคอมพิวเตอร์ด้วยตัวเลขอย่าง GHz หรือจำนวนคอร์เพียงอย่างเดียวอาจไม่เพียงพอ เพราะ CPU ที่เร็วขึ้นไม่ได้หมายความว่าระบบทั้งหมดจะเร็วขึ้นตามสัดส่วน หาก CPU มีความสามารถในการคำนวณเพิ่มขึ้น แต่ระบบไม่สามารถส่งข้อมูลให้ CPU ได้เร็วพอ ประสิทธิภาพที่เพิ่มขึ้นก็อาจถูกปล่อยให้สูญเปล่า นักออกแบบระบบจึงต้องคิดทั้งเรื่อง “ทำอย่างไรให้คำนวณเร็วขึ้น” และ “ทำอย่างไรให้ข้อมูลมาถึง CPU ได้ทันเวลา” ไปพร้อมกัน นี่คือเหตุผลที่ระบบคอมพิวเตอร์สมัยใหม่ไม่ได้ออกแบบให้ CPU ติดต่อกับ RAM โดยตรงทุกครั้งที่ต้องการข้อมูล แต่สร้าง Memory Hierarchy ขึ้นมาเป็นชั้น ๆ เพื่อพยายามซ่อนเวลารอที่เกิดจาก Memory Wall ให้ได้มากที่สุด
Cache คือวิธีที่คอมพิวเตอร์ใช้ “ปีนข้าม” Memory Wall
หนึ่งในคำตอบสำคัญที่วงการคอมพิวเตอร์ใช้รับมือกับ Memory Wall คือ Cache Memory แนวคิดง่าย ๆ คือ แทนที่จะให้ CPU เดินทางไปเอาข้อมูลจาก RAM ทุกครั้ง ระบบจะเก็บข้อมูลที่มีโอกาสถูกใช้งานอีกครั้งไว้ในหน่วยความจำที่เร็วกว่าและอยู่ใกล้ CPU มากกว่า จึงเกิดเป็นลำดับชั้นอย่าง L1 Cache, L2 Cache และ L3 Cache โดยทั่วไป L1 มีขนาดเล็กแต่เร็วมาก ส่วน Cache ระดับที่สูงขึ้นจะมีขนาดใหญ่ขึ้นแต่แลกกับความเร็วที่ลดลง ก่อนจะไปถึง DRAM ซึ่งมีความจุมากกว่าแต่มี latency สูงกว่า แนวคิดนี้อาศัยหลักการที่เรียกว่า Locality กล่าวคือ โปรแกรมจำนวนมากมีแนวโน้มที่จะใช้ข้อมูลเดิมซ้ำ หรือใช้ข้อมูลที่อยู่ใกล้กับข้อมูลที่เพิ่งถูกเรียกใช้ ดังนั้นหากระบบสามารถคาดเดาและเก็บข้อมูลเหล่านั้นไว้ใกล้ CPU ได้ ก็สามารถลดจำนวนครั้งที่ต้องเดินทางไปยัง RAM ได้อย่างมาก
นอกจาก Cache แล้ว CPU สมัยใหม่ยังใช้เทคนิคอย่าง Prefetching เพื่อพยายามคาดเดาว่าโปรแกรมจะต้องการข้อมูลอะไรในอนาคต แล้วดึงข้อมูลเข้ามารอไว้ก่อน รวมถึง Out-of-Order Execution ที่เปิดโอกาสให้ CPU ทำงานอื่นต่อระหว่างรอข้อมูลบางส่วน เทคนิคเหล่านี้ไม่ได้ทำให้ DRAM มี Latency ต่ำลงโดยตรง แต่เป็นการ “ซ่อน” เวลาที่ CPU ต้องรอให้ได้มากที่สุด พูดง่าย ๆ คือแทนที่จะพยายามทำให้กำแพงเตี้ยลงอย่างเดียว นักออกแบบ CPU จึงพยายามสร้างระบบที่ช่วยให้ CPU สามารถทำงานต่อไปได้ แม้ว่าข้อมูลบางส่วนจะยังเดินทางมาไม่ถึงก็ตาม อย่างไรก็ตาม วิธีเหล่านี้มีข้อจำกัด เพราะหากโปรแกรมเข้าถึงข้อมูลแบบสุ่มมากเกินไป หรือข้อมูลมีขนาดใหญ่จน Cache ไม่สามารถเก็บไว้ได้เพียงพอ CPU ก็ยังต้องกลับไปเผชิญกับ Memory Wall อยู่ดี
ทำไมเพิ่ม RAM อย่างเดียวไม่ได้ช่วยแก้ Memory Wall?
เมื่อพูดถึงหน่วยความจำ หลายคนมักคิดว่า “RAM เยอะขึ้น = คอมพิวเตอร์เร็วขึ้น” แต่ในมุมของ Memory Wall เรื่องนี้ไม่ตรงเสียทีเดียว เพราะ Capacity หรือความจุ กับ Performance หรือประสิทธิภาพ เป็นคนละเรื่องกัน การเพิ่ม RAM จาก 16 GB เป็น 32 GB หรือ 64 GB ช่วยให้ระบบสามารถเก็บข้อมูลไว้ในหน่วยความจำได้มากขึ้น ลดโอกาสที่ระบบจะต้องย้ายข้อมูลไปยัง Storage แต่ไม่ได้หมายความว่า CPU จะสามารถอ่านข้อมูลจาก RAM ได้เร็วขึ้นเป็นสองเท่า ปัญหาของ Memory Wall จึงไม่ได้อยู่ที่ “มีพื้นที่ไม่พอ” เพียงอย่างเดียว แต่อยู่ที่การนำข้อมูลจากจุดหนึ่งไปยังอีกจุดหนึ่งใช้เวลาและพลังงานมากเกินไปเมื่อเทียบกับความเร็วของหน่วยประมวลผล
นี่เป็นเหตุผลว่าทำไมการออกแบบระบบคอมพิวเตอร์จึงต้องพิจารณาทั้ง Latency, Bandwidth, Capacity และ Energy ไปพร้อมกัน การทำให้ RAM มี Bandwidth สูงขึ้นสามารถช่วยให้ระบบส่งข้อมูลจำนวนมากได้เร็วขึ้น แต่หากงานต้องการข้อมูลแบบสุ่มและมี latency สูง ปัญหาก็ยังคงอยู่ ในทางกลับกัน การทำให้หน่วยความจำเร็วมากแต่มีความจุน้อยก็ไม่สามารถรองรับชุดข้อมูลขนาดใหญ่ได้ ด้วยเหตุนี้ระบบสมัยใหม่จึงกลายเป็นสถาปัตยกรรมหลายระดับ ตั้งแต่ Registers, L1/L2/L3 Cache, DRAM ไปจนถึง Storage แต่ละระดับมีการแลกเปลี่ยนระหว่างความเร็ว ความจุ ราคา และพลังงาน และทั้งหมดมีเป้าหมายร่วมกันคือทำให้ CPU ได้ข้อมูลที่ต้องการเร็วที่สุด โดยไม่ต้องเสียต้นทุนมหาศาลในการทำให้หน่วยความจำทุกระดับเร็วเท่ากับ CPU
จาก CPU สู่ AI: เมื่อ Memory Wall กลายเป็นปัญหาใหญ่กว่าเดิม
หาก Memory Wall เป็นปัญหามานานแล้ว คำถามสำคัญคือทำไมช่วงหลังจึงถูกพูดถึงมากขึ้น คำตอบส่วนหนึ่งมาจาก AI และ Generative AI เพราะโมเดล AI สมัยใหม่ไม่ได้ต้องการเพียงพลังการคำนวณจำนวนมหาศาล แต่ยังต้องเคลื่อนย้ายข้อมูลจำนวนมหาศาลระหว่างหน่วยความจำกับหน่วยประมวลผลด้วย โดยเฉพาะในงาน AI Inference ที่ประสิทธิภาพจำนวนมากไม่ได้ถูกจำกัดด้วยความสามารถในการคำนวณเพียงอย่างเดียว แต่ถูกจำกัดด้วยว่าเราจะส่งข้อมูลให้หน่วยประมวลผลได้เร็วแค่ไหน Qualcomm ระบุในปี 2026 ว่า AI inference กำลังถูกจำกัดมากขึ้นด้วย data movement และ memory bandwidth มากกว่าพลังการคำนวณเพียงอย่างเดียว
นี่จึงเป็นเหตุผลที่เทคโนโลยีอย่าง HBM หรือ High Bandwidth Memory มีความสำคัญอย่างมากในยุค AI เพราะเป้าหมายไม่ได้มีแค่การเพิ่มความจุ แต่คือการเพิ่มความสามารถในการป้อนข้อมูลให้กับ AI Accelerator ในอัตราที่สูงขึ้น ขณะเดียวกันวงการสถาปัตยกรรมคอมพิวเตอร์ก็กำลังทดลองแนวคิดที่ไปไกลกว่านั้น เช่น Near-Memory Computing และ Processing-in-Memory (PIM) ซึ่งเปลี่ยนแนวคิดจากเดิมที่ “ย้ายข้อมูลไปหาตัวประมวลผล” มาเป็น “นำการประมวลผลเข้าไปใกล้ข้อมูล” หรือในบางสถาปัตยกรรมให้เกิดการคำนวณภายในหน่วยความจำโดยตรง เพราะการลดระยะทางที่ข้อมูลต้องเดินทางสามารถลดทั้ง latency, bandwidth pressure และพลังงานที่ใช้ในการเคลื่อนย้ายข้อมูลได้
ประเด็นนี้กำลังมีความสำคัญมากขึ้นเรื่อย ๆ เพราะโมเดล AI มีขนาดใหญ่ขึ้น ขณะที่ระบบต้องจัดการข้อมูลจำนวนมากขึ้น และการเพิ่ม Compute อย่างเดียวอาจไม่สามารถทำให้ประสิทธิภาพเพิ่มขึ้นตามไปด้วยได้อีกต่อไป ดังนั้นการแข่งขันของชิปยุค AI จึงไม่ได้เป็นเพียงการแข่งขันว่าใครมี TOPS หรือ FLOPS มากกว่า แต่กำลังกลายเป็นการแข่งขันว่าใครสามารถสร้างระบบที่ “ป้อนข้อมูลให้ Compute ได้เร็วกว่า ใช้พลังงานน้อยกว่า และเคลื่อนย้ายข้อมูลน้อยกว่า” ได้มากกว่ากัน
ท้ายที่สุดแล้ว Memory Wall ไม่ใช่กำแพงที่คอมพิวเตอร์จะสามารถทำลายได้ด้วยการทำ CPU ให้เร็วขึ้น แต่เป็นปัญหาด้านสถาปัตยกรรมที่บังคับให้วงการต้องคิดใหม่ว่า “ข้อมูลควรอยู่ที่ไหน และการคำนวณควรเกิดขึ้นที่ไหน” จากเดิมที่เราสร้าง CPU ให้เร็วขึ้นแล้วส่งข้อมูลเข้าไปหา CPU แนวทางใหม่กำลังพยายามนำหน่วยความจำเข้าใกล้ Compute มากขึ้น หรือแม้แต่ย้าย Compute เข้าไปใกล้ข้อมูลโดยตรง แนวคิดนี้จึงอาจเป็นหนึ่งในกุญแจสำคัญของคอมพิวเตอร์ยุค AI เพราะเมื่อพลังการคำนวณเพิ่มขึ้นจนมหาศาล ข้อจำกัดต่อไปอาจไม่ใช่การคำนวณ แต่คือการทำให้ข้อมูลเดินทางไปถึงจุดที่ต้องการได้ทันเวลา
อ้างอิง frontiersin.org qualcomm.com sciencedirect.com sciencedirect.com openstax.org asteralabs.com intel.com และ cove iT24Hrs
อ่านบทความและข่าวอื่นๆเพิ่มเติมได้ที่ it24hrs.com
Memory Wall คืออะไร? เมื่อ CPU เร็วขึ้นจน “หน่วยความจำตามไม่ทัน”
อย่าลืมกดติดตามอัพเดตข่าวสาร ทิปเทคนิคดีๆกันนะคะ Please follow us
Youtube it24hrs
Twitter it24hrs
Tiktok it24hrs
facebook it24hrs
ติดต่อโฆษณา [email protected] โทร 080234502
