ถ้าผมเข้าใจตรงไหนผิดก็แย้งกันได้เลยนะครับ
เริ่มเลยนะครับ...
ถ้า CPU จะประมวลผลข้อมูลต่าง หรือ โปรแกรมต่างๆ ข้อมูลเหล่านั้นจำเป็นมาอยู่บนหน่วยความจำก่อน ซึ่งหน่วยความจำที่ CPU จะทำการประมวลผลคือ หน่วยความจำ Cache ซึ่งเป็นหน่วยความจำที่มีเร็วในการติดต่อ CPU ได้เร็วที่สุด
แต่เนื่องจาก หน่วยความจำ Cache มีความจุเล็กมาก จึงต้องใช้หน่วยความจำมาเสริมอีกตัวก็คือ RAM นั่นเอง ซึ่งมีความเร็วในการติดต่อ CPU รองลงมาจาก Cache แต่ก็มีขนาดความจุใหญ่กว่า Cache มากทีเดียว (Cache ในปัจจุบันมีหลาย ระดับนะครับ L1 L2 L3 ความเร็วก็จะแตกต่างกันไปตามระดับครับ แต่นี่ไม่ใช่ประเด็นนะครับ)
แต่ถึงอย่างนั้น RAM ก็ยังมีจุไม่พอเพียงพอต่อความต้องการที่จะประมวลผลข้อมูลของผู้ใช้ จึงมีหน่วยจำอีกแบบที่เพิ่มเข้ามาช่วย ก็คือ หน่วยความจำเสมือน หรือ Virtual Memory นั่นเอง ซึ่งมีความเร็วในการติดต่อ CPU รองลงมาจาก RAM แต่ก็มีความจุมาก เพราะใช้เนื้อที่ Harddisk เป็นตัวทำพื้นที่หน่วยความจำ
หลักๆตอนนี้มี (เรียงตามความเร็วนะครับ)
Cache > RAM > Virtual Memory
หลักการทำงานคือ
ถ้าไม่เจอข้อมูลที่ต้องการประมวลใน Cache ก็จะทำการ SWAP ข้อมูลกับ RAM แล้วค้นใน Cache อีกครั้งว่าเจอหรือยัง ถ้ายังก็จะ SWAP ไปเรื่อยๆ จนถึงขั้น SWAP จาก RAM ไปยัง Virtual Memory แล้ว SWAP คืนไปยัง Cache เพื่อให้ CPU ประมวลผล
(หลักการค้นหาข้อมูลนี่ ขึ้นอยู่กับ OS และ Hardware ด้วยนะครับ)
คำถามนะครับ
ถ้าเราใช้แรมที่มีความจุมาก เช่น 3GB(4GB OS 32bit) เราจะปิด Virtual Memory ไปเลยได้ไหมครับ ผมคิดว่าสาเหตุที่มีการพัฒนา Virtual Memory เพราะ RAM สมัยก่อน มีความจุน้อยมาก
แต่ปัจจุบันมันไม่ใช่แล้วครับ Virtual Memory ยังจำเป็นอยู่ไหมครับ สำหรับ RAM ความจุมากๆ
ขอบคุณมากครับ
เริ่มเลยนะครับ...
ถ้า CPU จะประมวลผลข้อมูลต่าง หรือ โปรแกรมต่างๆ ข้อมูลเหล่านั้นจำเป็นมาอยู่บนหน่วยความจำก่อน ซึ่งหน่วยความจำที่ CPU จะทำการประมวลผลคือ หน่วยความจำ Cache ซึ่งเป็นหน่วยความจำที่มีเร็วในการติดต่อ CPU ได้เร็วที่สุด
แต่เนื่องจาก หน่วยความจำ Cache มีความจุเล็กมาก จึงต้องใช้หน่วยความจำมาเสริมอีกตัวก็คือ RAM นั่นเอง ซึ่งมีความเร็วในการติดต่อ CPU รองลงมาจาก Cache แต่ก็มีขนาดความจุใหญ่กว่า Cache มากทีเดียว (Cache ในปัจจุบันมีหลาย ระดับนะครับ L1 L2 L3 ความเร็วก็จะแตกต่างกันไปตามระดับครับ แต่นี่ไม่ใช่ประเด็นนะครับ)
แต่ถึงอย่างนั้น RAM ก็ยังมีจุไม่พอเพียงพอต่อความต้องการที่จะประมวลผลข้อมูลของผู้ใช้ จึงมีหน่วยจำอีกแบบที่เพิ่มเข้ามาช่วย ก็คือ หน่วยความจำเสมือน หรือ Virtual Memory นั่นเอง ซึ่งมีความเร็วในการติดต่อ CPU รองลงมาจาก RAM แต่ก็มีความจุมาก เพราะใช้เนื้อที่ Harddisk เป็นตัวทำพื้นที่หน่วยความจำ
หลักๆตอนนี้มี (เรียงตามความเร็วนะครับ)
Cache > RAM > Virtual Memory
หลักการทำงานคือ
ถ้าไม่เจอข้อมูลที่ต้องการประมวลใน Cache ก็จะทำการ SWAP ข้อมูลกับ RAM แล้วค้นใน Cache อีกครั้งว่าเจอหรือยัง ถ้ายังก็จะ SWAP ไปเรื่อยๆ จนถึงขั้น SWAP จาก RAM ไปยัง Virtual Memory แล้ว SWAP คืนไปยัง Cache เพื่อให้ CPU ประมวลผล
(หลักการค้นหาข้อมูลนี่ ขึ้นอยู่กับ OS และ Hardware ด้วยนะครับ)
คำถามนะครับ
ถ้าเราใช้แรมที่มีความจุมาก เช่น 3GB(4GB OS 32bit) เราจะปิด Virtual Memory ไปเลยได้ไหมครับ ผมคิดว่าสาเหตุที่มีการพัฒนา Virtual Memory เพราะ RAM สมัยก่อน มีความจุน้อยมาก
แต่ปัจจุบันมันไม่ใช่แล้วครับ Virtual Memory ยังจำเป็นอยู่ไหมครับ สำหรับ RAM ความจุมากๆ
ขอบคุณมากครับ
Comment