ในการออกแบบระบบคอมพิวเตอร์ ลำดับชั้นของหน่วยความจำ คือการจัดระเบียบหน่วยความจำเพื่อให้สามารถลดเวลาในการเข้าถึงให้น้อยที่สุด ลำดับชั้นของหน่วยความจำพัฒนาขึ้นโดยอิงจากพฤติกรรมของโปรแกรมที่เรียกว่า ความเป็นตำแหน่ง (locality) (ข้อมูลเดียวกันหรือข้อมูลที่อยู่ติดกันสามารถเข้าถึงได้หลายครั้ง) ภาพด้านล่างแสดงให้เห็นถึงระดับต่างๆ ของลำดับชั้นหน่วยความจำอย่างชัดเจน
เหตุใดระบบจึงจำเป็นต้องมีลำดับชั้นของหน่วยความจำ? ลำดับชั้นของหน่วยความจำช่วยเพิ่มประสิทธิภาพการใช้หน่วยความจำที่มีอยู่ในคอมพิวเตอร์ หน่วยความจำมีหลายระดับ แต่ละระดับมีขนาด ต้นทุน ฯลฯ ที่แตกต่างกัน หน่วยความจำบางประเภท เช่น แคชและหน่วยความจำหลัก จะเร็วกว่าประเภทอื่น แต่มีขนาดเล็กกว่าและมีราคาแพงกว่า ในขณะที่หน่วยความจำบางประเภทมี ความจุสูงกว่า แต่ทำงานช้ากว่า การเข้าถึงข้อมูลไม่เหมือนกันในหน่วยความจำทุกประเภท บางประเภทเข้าถึงได้เร็ว ในขณะที่บางประเภทเข้าถึงได้ช้ากว่า
ประเภทของระบบลำดับชั้นหน่วยความจำ การออกแบบหน่วยความจำแบบลำดับชั้นนี้แบ่งออกเป็นสองประเภทหลัก:
หน่วยความจำภายนอกหรือหน่วยความจำสำรอง: ซึ่งรวมถึงดิสก์แม่เหล็ก ดิสก์ออปติคัล และเทปแม่เหล็ก กล่าวคือ อุปกรณ์จัดเก็บข้อมูลภายนอกที่โปรเซสเซอร์สามารถเข้าถึงได้ผ่านโมดูล I/O หน่วยความจำหลัก: ประกอบด้วยหน่วยความจำหลัก หน่วยความจำแคช และรีจิสเตอร์ของซีพียู ซึ่งโปรเซสเซอร์สามารถเข้าถึงได้โดยตรงการออกแบบลำดับชั้นของหน่วยความจำ 1. รีจิสเตอร์
รีจิสเตอร์เป็นหน่วยความจำขนาดเล็กความเร็วสูงที่ตั้งอยู่ภายในซีพียู ใช้สำหรับจัดเก็บข้อมูลและคำสั่งที่ใช้งานบ่อยที่สุด รีจิสเตอร์มีเวลาในการเข้าถึงที่เร็วที่สุดและมีความจุในการจัดเก็บข้อมูลน้อยที่สุด โดยทั่วไปมีขนาดตั้งแต่ 16 ถึง 64 บิต
2. แคช
แคชคือหน่วยความจำขนาดเล็กและรวดเร็วที่ตั้งอยู่ใกล้กับซีพียู ทำหน้าที่จัดเก็บข้อมูลและคำสั่งที่ใช้งานบ่อยซึ่งเพิ่งถูกเรียกใช้จากหน่วยความจำหลัก แคชถูกออกแบบมาเพื่อลดเวลาในการเข้าถึงข้อมูลโดยการให้ซีพียูเข้าถึงข้อมูลที่ใช้งานบ่อยได้อย่างรวดเร็ว
3. หน่วยความจำหลัก
หน่วยความจำหลัก หรือที่เรียกว่า RAM (Random Access Memory) คือหน่วยความจำหลักของระบบคอมพิวเตอร์ มีความจุในการจัดเก็บข้อมูลมากกว่าหน่วยความจำแคช แต่ทำงานช้ากว่า แคช หน่วยความจำหลักใช้สำหรับจัดเก็บข้อมูลและคำสั่งที่ CPU กำลังใช้งานอยู่
ประเภทหน่วยความจำหลัก หน่วยความจำแบบสแตติก (Static RAM): หน่วยความจำแบบสแตติกเก็บข้อมูลไบนารีไว้ในฟลิปฟลอป และข้อมูลจะยังคงอยู่ตราบเท่าที่ยังมีการจ่ายไฟ หน่วยความจำแบบสแตติกมีเวลาในการเข้าถึงข้อมูลที่เร็วกว่าและถูกนำไปใช้ในการใช้งานแคช หน่วยความจำแบบไดนามิก (Dynamic RAM): จัดเก็บข้อมูลไบนารีในรูปของประจุไฟฟ้าบนตัวเก็บประจุ ต้องมีการรีเฟรชวงจรเพื่อรักษาระดับประจุบนตัวเก็บประจุทุกๆ สองสามมิลลิวินาที มีจำนวนเซลล์หน่วยความจำต่อหน่วยพื้นที่มากกว่าหน่วยความจำแบบ SRAMอ่านเพิ่มเติมเกี่ยวกับ - ประเภทต่างๆ ของ RAM (หน่วยความจำเข้าถึงแบบสุ่ม)
4. พื้นที่จัดเก็บข้อมูลสำรอง
หน่วยเก็บข้อมูลรอง เช่น ฮาร์ดดิสก์ไดรฟ์ (HDD) และโซลิดสเตตไดรฟ์ (SSD) เป็นหน่วยความจำแบบ ไม่ลบเลือน ที่มีความจุมากกว่าหน่วยความจำหลัก ใช้สำหรับจัดเก็บข้อมูลและคำสั่งที่ซีพียูไม่ได้ใช้งานอยู่ในขณะนั้น หน่วยเก็บข้อมูลรองมีเวลาในการเข้าถึงช้าที่สุดและโดยทั่วไปแล้วเป็นหน่วยความจำประเภทที่ถูกที่สุดในลำดับชั้นของหน่วยความจำ
5. ดิสก์แม่เหล็ก
ดิสก์แม่เหล็ก เป็นเพียงแผ่นกลมที่ทำจากโลหะ พลาสติก หรือวัสดุแม่เหล็กอื่นๆ ดิสก์แม่เหล็กทำงานด้วยความเร็วสูงภายในคอมพิวเตอร์และนิยมใช้กันอย่างแพร่หลาย
6. เทปแม่เหล็ก
เทปแม่เหล็กเป็นเพียงอุปกรณ์บันทึกข้อมูลแม่เหล็กที่หุ้มด้วยฟิล์มพลาสติก เทปแม่เหล็กมักใช้สำหรับการสำรองข้อมูล ในกรณีของเทปแม่เหล็ก เวลาในการเข้าถึงข้อมูลของคอมพิวเตอร์จะช้าลงเล็กน้อย ดังนั้นจึงจำเป็นต้องมีช่วงเวลาหน่วงในการเข้าถึงเทป
ลักษณะของลำดับชั้นของหน่วยความจำ ความจุ: หมายถึงปริมาณข้อมูลโดยรวมที่หน่วยความจำสามารถจัดเก็บได้ เมื่อเราเลื่อนจากบนลงล่างในลำดับชั้น ความจุจะเพิ่มขึ้น เวลาในการเข้าถึง: นี่คือช่วงเวลาตั้งแต่การร้องขอการอ่าน/เขียนจนถึงการที่ข้อมูลพร้อมใช้งาน เมื่อเราเลื่อนจากบนลงล่างในลำดับชั้น เวลาในการเข้าถึงจะเพิ่มขึ้น ประสิทธิภาพการทำงานของระบบ: การออกแบบลำดับชั้นของหน่วยความจำช่วยให้มั่นใจได้ว่าข้อมูลที่เข้าถึงบ่อยจะถูกจัดเก็บไว้ในหน่วยความจำที่เร็วกว่า เพื่อปรับปรุงประสิทธิภาพของระบบ ต้นทุนต่อบิต: เมื่อเราเลื่อนจากล่างขึ้นบนในลำดับชั้น ต้นทุนต่อบิตจะเพิ่มขึ้น ซึ่งหมายความว่าหน่วยความจำภายในมีราคาแพงกว่าหน่วยความจำภายนอกมาตรฐานหน่วยความจำที่ระบบรองรับ ตามลำดับชั้นของหน่วยความจำ มาตรฐานหน่วยความจำที่ระบบรองรับนั้นกำหนดไว้ดังนี้:
ข้อดีของลำดับชั้นหน่วยความจำ ประสิทธิภาพการทำงานของระบบ: ข้อมูลที่ใช้งานบ่อยจะถูกจัดเก็บไว้ในหน่วยความจำที่เร็วกว่า (เช่น แคช) ซึ่งช่วยลดเวลาในการเข้าถึงและ ปรับปรุงประสิทธิภาพของระบบ คุ้มค่า: ด้วยการผสมผสานหน่วยความจำขนาดเล็กและเร็ว (เช่น รีจิสเตอร์และแคช) เข้ากับหน่วยความจำขนาดใหญ่และช้ากว่า (เช่น RAM และ HDD) ระบบจึงสามารถสร้างสมดุลระหว่างต้นทุนและประสิทธิภาพ ช่วยประหยัดทั้งเงินและเวลาการเพิ่มประสิทธิภาพทรัพยากร: การผสานข้อดีของหน่วยความจำขนาดเล็กที่รวดเร็วและหน่วยความจำขนาดใหญ่ที่คุ้มค่า เพื่อเพิ่มประสิทธิภาพของระบบให้ สูงสุดการจัดการข้อมูลอย่างมีประสิทธิภาพ: ข้อมูลที่เข้าถึงบ่อยจะถูกเก็บไว้ใกล้กับ CPU ในขณะที่ข้อมูลที่ใช้งานไม่บ่อยจะถูกจัดเก็บไว้ในหน่วยความจำขนาดใหญ่กว่าและทำงานช้ากว่า เพื่อให้มั่นใจได้ว่าการประมวลผลข้อมูลมีประสิทธิภาพข้อเสียของลำดับชั้นหน่วยความจำ การออกแบบที่ซับซ้อน: การจัดการและการประสานงานข้อมูลระหว่างระดับต่างๆ ของลำดับชั้นทำให้การออกแบบและการทำงาน มีความซับซ้อน ต้นทุน: ส่วนประกอบหน่วยความจำที่เร็วขึ้น เช่น รีจิสเตอร์และแคช มีราคาแพง ซึ่งจำกัดขนาดของส่วนประกอบเหล่านั้นและเพิ่มต้นทุนโดยรวมของ ระบบความหน่วง: การเข้าถึงข้อมูลที่จัดเก็บอยู่ในหน่วยความจำที่ช้ากว่า (เช่น หน่วยความจำสำรองหรือหน่วยความจำจาก อุปกรณ์จัดเก็บข้อมูลภายนอก) จะเพิ่มความหน่วงและลดประสิทธิภาพ ของระบบค่าใช้จ่ายในการบำรุงรักษา: การจัดการและบำรุงรักษาหน่วยความจำประเภทต่างๆ เพิ่มต้นทุนทั้งด้านฮาร์ดแวร์และซอฟต์แวร์