ทั้ง RAM และ Cache เป็นหน่วยความจำหลักที่รวดเร็ว ทว่าในการทำงานจริงๆ แล้วนั้นหน่วยความจำทั้ง 2 อย่างนี้ค่อนข้างจะแตกต่างกันพอสมควร ลองมาดูกันว่าหน่วยความจำทั้ง 2 นี้แตกต่างกันอย่างไรดีกว่า
หากคุณเป็นผู้ที่ชื่นชอบเทคโนโลยี คุณอาจเคยได้ยินเกี่ยวกับ Cache และวิธีที่ Cache ทำงานร่วมกับ RAM ในระบบของคุณเพื่อให้เร็วขึ้น แต่คุณเคยสงสัยหรือไม่ว่า Cache คืออะไรและแตกต่างจาก RAM อย่างไร ถ้าคุณมี คุณมาถูกที่แล้วเพราะเราจะอธิบายทุกอย่างที่ทำให้หน่วยความจำ Cache แตกต่างจาก RAM ให้ท่ากท่านได้ทราบกัน รับรองเข้าใจได้ภายในระยะเวลาไม่ถึง 15 นาที ว่าแล้วก็ไปเริ่มกันเลย
- ทำความรู้จักกับระบบหน่วยความจำในคอมพิวเตอร์ของคุณ
- ทำความเข้าใจกับ RAM และวิธีการทำงาน
- อธิบายหน่วยความจำ Cache
- RAM vs. Cache Memory
ทำความรู้จักกับระบบหน่วยความจำในคอมพิวเตอร์ของคุณ
ก่อนที่เราจะเริ่มเปรียบเทียบ RAM กับ Cache สิ่งสำคัญคือต้องเข้าใจว่าระบบหน่วยความจำบนคอมพิวเตอร์ได้รับการออกแบบมาอย่างไร จริงๆ แล้วทั้ง RAM และ Cache จัดเป็นระบบจัดเก็บข้อมูลหน่วยความจำที่ไม่แน่นอน ซึ่งหมายความว่าระบบจัดเก็บข้อมูลทั้งสองนี้สามารถจัดเก็บข้อมูลชั่วคราวและทำงานได้เฉพาะเมื่อจ่ายไฟให้กับระบบเท่านั้น ดังนั้นเมื่อคุณปิดคอมพิวเตอร์ ข้อมูลทั้งหมดที่เก็บไว้ใน RAM และ Cache จะถูกลบ
ด้วยเหตุนี้ อุปกรณ์คอมพิวเตอร์จึงมีระบบจัดเก็บข้อมูลสองประเภทที่แตกต่างกัน ได้แก่ หน่วยความจำหลักและหน่วยความจำรอง(หรือที่เรียกว่าแหล่งเก็บข้อมูลซึ่งสามารถดูข้อแตกต่างได้จากบทความ RAM vs Storage ความเหมือนที่แตกต่าง) ไดรฟ์เป็นหน่วยความจำสำรองในระบบคอมพิวเตอร์ที่คุณบันทึกไฟล์ของคุณ ซึ่งสามารถจัดเก็บข้อมูลได้เมื่อปิดเครื่อง ในทางกลับกัน ระบบหน่วยความจำหลักจะส่งข้อมูลไปยัง CPU เมื่อเปิดเครื่อง
แต่ทำไมคอมพิวเตอร์ถึงมีระบบหน่วยความจำซึ่งไม่สามารถเก็บข้อมูลได้เมื่อปิดเครื่อง? มีเหตุผลใหญ่ว่าทำไมระบบจัดเก็บข้อมูลหลักถึงเป็นแก่นสารสำหรับคอมพิวเตอร์
คุณคงเห็นแล้วว่า แม้ว่าหน่วยความจำหลักในระบบของคุณจะไม่สามารถจัดเก็บข้อมูลได้เมื่อไม่มีพลังงาน แต่ก็เร็วกว่ามากเมื่อเทียบกับระบบจัดเก็บข้อมูลรอง เปรียบเทียบได้จากตัวเลขเฉลี่ยอย่างเช่นระบบจัดเก็บข้อมูลสำรองเช่น SSD มีเวลาเข้าถึง 50 ไมโครวินาที
ในทางตรงกันข้ามระบบหน่วยความจำหลักเช่น หน่วยความจำ(RAM) เข้าถึงข้อมูลแบบสุ่มสามารถส่งข้อมูลไปยัง CPU ทุกๆ 17 นาโนวินาที ดังนั้นระบบหน่วยความจำหลักจึงเร็วกว่าระบบจัดเก็บข้อมูลสำรองเกือบ 3,000 เท่า เนื่องจากความเร็วที่แตกต่างกันนี้ ระบบคอมพิวเตอร์จึงมาพร้อมกับลำดับชั้นของหน่วยความจำ ซึ่งทำให้สามารถส่งข้อมูลไปยัง CPU ด้วยความเร็วที่น่าอัศจรรย์
นี่คือวิธีที่ข้อมูลเคลื่อนที่ผ่านระบบหน่วยความจำในคอมพิวเตอร์สมัยใหม่
- Storage Drives (Secondary Memoryหรือหน่วยความจำรอง): อุปกรณ์นี้สามารถจัดเก็บข้อมูลได้อย่างถาวร แต่ไม่เร็วเท่ากับซีพียู ด้วยเหตุนี้ CPU จึงไม่สามารถเข้าถึงข้อมูลได้โดยตรงจากระบบจัดเก็บข้อมูลรองหรือแหล่งเก็บข้อมูลทุกชนิด
- RAM (Primary Memory หรือหน่วยความจำหลัก): ระบบจัดเก็บข้อมูลนี้เร็วกว่าระบบจัดเก็บข้อมูลสำรอง แต่ไม่สามารถจัดเก็บข้อมูลได้อย่างถาวร ดังนั้น เมื่อคุณเปิดไฟล์ในระบบของคุณ ไฟล์นั้นจะย้ายจากฮาร์ดไดรฟ์ไปยัง RAM ถึงกระนั้นแม้แต่ RAM ก็ยังเร็วไม่พอสำหรับ CPU
- Cache (Primary Memory หรือหน่วยความจำหลัก): เพื่อแก้ปัญหานี้หน่วยความจำหลักประเภทหนึ่งที่เรียกว่าหน่วยความจำ Cache จะฝังอยู่ใน CPU และเป็นระบบหน่วยความจำที่เร็วที่สุดในคอมพิวเตอร์ ระบบหน่วยความจำนี้แบ่งออกเป็นสามส่วน(ตามหลักการออกแบบหน่วยประมวลผลในปัจจุบัน) ได้แก่ Cache L1, L2 และ L3 ดังนั้นข้อมูลใด ๆ ที่จำเป็นต้องประมวลผลโดย CPU จะย้ายจากฮาร์ดไดรฟ์ไปยัง RAM และจากนั้นไปยังหน่วยความจำ Cache แต่ CPU ไม่สามารถเข้าถึงข้อมูลได้โดยตรงจาก Cache
- CPU Registers (Primary Memory หรือหน่วยความจำหลัก): รีจิสเตอร์ CPU บนอุปกรณ์คอมพิวเตอร์มีขนาดเป็นนาทีและอิงตามสถาปัตยกรรมโปรเซสเซอร์ รีจิสเตอร์เหล่านี้สามารถเก็บข้อมูลได้ 32 หรือ 64 บิต เมื่อข้อมูลย้ายไปยังรีจิสเตอร์เหล่านี้แล้ว CPU จะสามารถเข้าถึงและดำเนินการตามหน้าที่ได้
ดังนั้นแล้วในการทำงานจริงๆ CPU จะเอาข้อมูลจากแหล่งเก็บข้อมูลไปทำงานได้ต้องผ่านตามเส้นทางดังนี้
แหล่งเก็บข้อมูล –> RAM —> Cache(L3–>L2–L1) —> Registers —> CPU
ทำความเข้าใจกับ RAM และวิธีการทำงาน
ตามที่อธิบายไว้ก่อนหน้านี้ หน่วยความจำเข้าถึงโดยสุ่มบนอุปกรณ์มีหน้าที่จัดเก็บและส่งข้อมูลไปยัง CPU สำหรับโปรแกรมบนคอมพิวเตอร์ ในการจัดเก็บข้อมูลนี้ หน่วยความจำเข้าถึงโดยสุ่มใช้เซลล์หน่วยความจำแบบไดนามิก (DRAM)
เซลล์นี้ถูกสร้างขึ้นโดยใช้ตัวเก็บประจุและทรานซิสเตอร์ ตัวเก็บประจุในการจัดเรียงนี้ใช้เพื่อเก็บประจุและขึ้นอยู่กับสถานะของประจุของตัวเก็บประจุ เซลล์หน่วยความจำสามารถเก็บ 1 หรือ 0 หากตัวเก็บประจุถูกชาร์จจนเต็ม จะเก็บประจุไว้ 1 ในทางกลับกัน เมื่อคายประจุแล้วจะเก็บเป็น 0 แม้ว่าเซลล์ DRAM จะสามารถเก็บประจุได้ แต่การออกแบบหน่วยความจำนี้ก็มีข้อบกพร่อง
คุณคงเห็นแล้วว่า เนื่องจาก RAM ใช้ตัวเก็บประจุในการเก็บประจุ จึงมีแนวโน้มที่จะสูญเสียประจุที่เก็บไว้ในนั้น ด้วยเหตุนี้ข้อมูลที่เก็บไว้ใน RAM อาจสูญหายได้ เพื่อแก้ปัญหานี้ ประจุที่เก็บไว้ในตัวเก็บประจุจะถูกรีเฟรชโดยใช้ตัวขยายสัญญาณเพื่อป้องกันไม่ให้ RAM สูญเสียข้อมูลที่เก็บไว้
แม้ว่าการรีเฟรชการทำงานนี้จะทำให้ RAM สามารถจัดเก็บข้อมูลได้เมื่อเปิดคอมพิวเตอร์ แต่จะทำให้เกิดเวลาแฝงในระบบ เนื่องจาก RAM ไม่สามารถส่งข้อมูลไปยัง CPU เมื่อกำลังรีเฟรช ซึ่งทำให้ระบบทำงานช้าลง นอกจากนี้ RAM ยังเชื่อมต่อกับเมนบอร์ดซึ่งก็คือเชื่อมต่อกับ CPU โดยใช้ซ็อกเก็ต ดังนั้นจึงมีระยะห่างระหว่าง RAM และ CPU มาก ซึ่งจะเพิ่มเวลาส่งข้อมูลไปยัง CPU เข้าไปอีก
เนื่องจากเหตุผลดังกล่าวข้างต้น RAM จะส่งข้อมูลไปยัง CPU ทุก ๆ 17 นาโนวินาทีเท่านั้น(ขึ้นอยู่กับเทคโนโลยีของ RAM, Mainboard และ CPU) ที่ความเร็วนั้น CPU ไม่สามารถเข้าถึงประสิทธิภาพสูงสุดได้ นี่เป็นเพราะ CPU จำเป็นต้องได้รับข้อมูลทุกๆ ไตรมาสของนาโนวินาทีเพื่อมอบประสิทธิภาพที่ดีที่สุดเมื่อทำงานด้วยความถี่เทอร์โบบูสต์ที่ 4 กิกะเฮิรตซ์
เพื่อแก้ปัญหานี้ เรามีหน่วยความจำ Cache ซึ่งเป็นระบบจัดเก็บข้อมูลชั่วคราวอีกระบบหนึ่งที่เร็วกว่า RAM มากจึงถูกเพิ่มเข้ามาในการทำงาน
อธิบายหน่วยความจำ Cache
ตอนนี้เรารู้เกี่ยวกับข้อจำกัดที่มาพร้อมกับ RAM แล้ว เราจะมาดูที่หน่วยความจำ Cache และวิธีแก้ปัญหาที่มาพร้อมกับ RAM ก่อนอื่นหน่วยความจำ Cache ไม่มีอยู่บนเมนบอร์ด แต่จะวางบนซีพียูแทน ด้วยเหตุนี้ข้อมูลจึงถูกเก็บไว้ใกล้กับ CPU มากขึ้น ทำให้สามารถเข้าถึงข้อมูลได้เร็วขึ้น
ในสมัยก่อนเคยมีการวาง Cache L3 เอาไว้บนเมนบอร์ดด้วยโดยตอนนั้นเป็นเทคโนโลยีของทาง AMD ซึ่งนานเกิน 20 แล้ว)
นอกจากนี้ หน่วยความจำ Cache ไม่ได้เก็บข้อมูลสำหรับโปรแกรมทั้งหมดที่ทำงานบนระบบของคุณ แต่จะเก็บข้อมูลที่ CPU ร้องขอบ่อยเท่านั้น เนื่องจากความแตกต่างเหล่านี้ Cache จึงสามารถส่งข้อมูลไปยัง CPU ด้วยความเร็วที่น่าอัศจรรย์
นอกจากนี้เมื่อเปรียบเทียบกับ RAM แล้ว หน่วยความจำ Cache ใช้เซลล์แบบคงที่ (SRAM) เพื่อจัดเก็บข้อมูล เมื่อเปรียบเทียบกับไดนามิกเซลล์ หน่วยความจำแบบสแตติก(SRAM) ไม่จำเป็นต้องรีเฟรชเนื่องจากไม่ได้ใช้ตัวเก็บประจุเพื่อเก็บประจุ แต่จะใช้ทรานซิสเตอร์ 6 ชุดแทนเพื่อเก็บข้อมูล เนื่องจากการใช้ทรานซิสเตอร์ เซลล์แบบคงที่จะไม่สูญเสียประจุเมื่อเวลาผ่านไป ทำให้ Cache สามารถส่งข้อมูลไปยัง CPU ด้วยความเร็วที่เร็วขึ้นมาก
อย่างไรก็ตามแต่แล้วนั้นหน่วยความจำ Cache ก็มีข้อบกพร่องเช่นกัน ประการแรกคือมันมีราคาแพงกว่ามากเมื่อเทียบกับ RAM นอกจากนี้เซลล์ RAM แบบคงที่(SRAM) นั้นมีขนาดใหญ่กว่ามากเมื่อเทียบกับ DRAM เนื่องจากชุดของทรานซิสเตอร์ 6 ตัวถูกใช้เพื่อเก็บข้อมูลหนึ่งบิต ซึ่งมีขนาดใหญ่กว่าการออกแบบตัวเก็บประจุเดี่ยวของเซลล์ DRAM อย่างมาก
ด้วยเหตุนี้ ความหนาแน่นของหน่วยความจำของ SRAM จึงต่ำกว่ามากและไม่สามารถวาง SRAM เดียวที่มีขนาดพื้นที่เก็บข้อมูลขนาดใหญ่บน CPU Die ได้ ดังนั้นเพื่อแก้ปัญหานี้หน่วยความจำ Cache จึงถูกแบ่งออกเป็นสามประเภท ได้แก่ แคช L1, L2 และ L3 และถูกวางไว้ภายในและภายนอก CPU Die
RAM vs. Cache Memory
ตอนนี้เรามีความเข้าใจพื้นฐานเกี่ยวกับ RAM และ Cache แล้ว เราสามารถดูว่าเปรียบเทียบกันอย่างไร
ตัวเปรียบเทียบ | RAM | Cache |
การทำงาน | เก็บข้อมูลโปรแกรมสำหรับทุกแอพพลิเคชั่นที่ทำงานบนระบบ | เก็บข้อมูลที่ใช้บ่อยและคำสั่งที่จำเป็นโดย CPU |
ขนาด | เนื่องจากความหนาแน่นของหน่วยความจำสูง RAM จึงสามารถมาในแพ็คเกจที่สามารถเก็บข้อมูลได้ตั้งแต่ 2 กิกะไบต์ไปจนถึง 64 กิกะไบต์ | เนื่องจากความหนาแน่นของหน่วยความจำต่ำ หน่วยความจำแคชจึงเก็บข้อมูลในช่วงกิโลไบต์หรือเมกะไบต์ |
ราคา | การสร้าง RAM มีราคาถูกกว่าเนื่องจากการออกแบบทรานซิสเตอร์/ตัวเก็บประจุแบบเดี่ยว | การสร้างแคชมีค่าใช้จ่ายสูงเนื่องจากการออกแบบทรานซิสเตอร์ 6 ตัว |
ตำแหน่ง | RAM เชื่อมต่อกับเมนบอร์ดและอยู่ห่างจาก CPU | Cache มีอยู่ในคอร์ CPU หรือใช้ร่วมกันระหว่างคอร์ |
ความเร็ว | ช้ากว่า Cache | เร็วกว่า RAM |
ดีเสียแตกต่างกันทำให้ต้องใช้งานร่วมกันไป
ทั้ง RAM และ Cache เป็นระบบหน่วยความจำที่ไม่แน่นอน แต่ทั้งคู่ก็ทำหน้าที่ที่แตกต่างกันในแง่หนึ่ง RAM จะจัดเก็บโปรแกรมที่ทำงานบนระบบของคุณ ในขณะที่ Cache สนับสนุน RAM โดยจัดเก็บข้อมูลที่ใช้บ่อยใกล้กับ CPU ซึ่งช่วยปรับปรุงประสิทธิภาพ
ดังนั้น หากคุณกำลังมองหาระบบที่ให้ประสิทธิภาพที่ยอดเยี่ยม สิ่งสำคัญคือต้องดูที่ RAM และ Cache ที่มาพร้อมกับเครื่อง ความสมดุลที่โดดเด่นระหว่างระบบหน่วยความจำทั้งสองเป็นสิ่งสำคัญในการใช้ประโยชน์สูงสุดจากพีซีของคุณ
ที่มา : makeuseof