Page 25 - สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ
P. 25
โครงสร้างและการทำ�งานของหน่วยความจำ� 3-15
ภาพที่ 3.6 แสดงการทำ�งานของเครื่องที่มีแคช 3 ระดับ แคชระดับ 3 L3 แคช จะดึงข้อมูลที่มีการใช้งานบ่อย
จากหนว่ ยความจำ�หลักในปริมาณเป็นบลอ็ ก (block) เชน่ กนั ส่วนแคชระดับ 2 L2 แคช จะดึงข้อมลู ทีม่ กี ารใชง้ านบ่อย
มากจากแคชระดับ 3 L3 แคช ส่วนแคชระดับ 1 L1 แคช ก็จะดึงข้อมูลที่มีการใช้งานบ่อยมาก ๆ จากแคชระดับ 2 L2
แคช ซึ่งการส่งข้อมูลระหว่างแคชระดับ 1 L1 แคช กับซีพียูจะต้องมีความเร็วสูงมากและข้อมูลที่อยู่ในแคชระดับ 1 L1
แคช ก็จะเป็นข้อมูลที่ใช้บ่อยมาก ๆ หากความถี่ในการใช้งานของข้อมูลนั้นลดลงก็จะถูกส่งไปเก็บในแคชระดับ 2 L2
แคช แคชระดับ 3 L3 แคช และหน่วยความจำ�หลัก ตามลำ�ดับ ปริมาณการเก็บข้อมูลของ แคชระดับ 3 L3 แคช ก็จะ
มีขนาดใหญ่กว่า แคชระดับ 2 L2 แคช และแคชระดับ 2 L2 แคช ก็จะมีขนาดใหญ่กว่าแคชระดับ 1 L1 แคช เช่นกัน
ในปัจจุบัน จะพบการใช้งาน แคช อยู่ 2 แบบ คือ แคชในหน่วยความจำ�หลัก (memory cache) และแคช
ในจานแม่เหล็ก (disk cache) โดยหลักการทำ�งานของทั้งสองแบบนี้คล้าย ๆ กันดังนี้
1. แคชในหน่วยความจำ�หลัก (memory cache) จะทำ�การดึงข้อมูลที่มีการเรียกใช้งานบ่อย ๆ เข้ามาเก็บไว้
ในหน่วยความจำ� ขนาดเล็ก ที่มีความไวสูงกว่าหน่วยความจำ�หลัก ซึ่งคือ แคช (cache) เมื่อซีพียูต้องการใช้งานก็จะ
มองหาข้อมูลที่ต้องการที่หน่วยความจำ�แคช นี้ก่อนที่จะเข้าไปหาในหน่วยความจำ�หลักที่มีการเข้าถึงและการส่งถ่าย
ข้อมูลที่ช้ากว่าต่อไป
2. แคชในจานแม่เหล็ก (disk cache) จะเป็นการอ่านข้อมูลที่ต้องการใช้งานเข้ามาเก็บไว้ในแคชในหน่วย
ความจำ�หลักก่อน เมื่อซีพียูมีการเรียกใช้งาน ก็จะเข้าไปค้นหาในหน่วยความจำ�หลักก่อน หากไม่พบจึงจะไปค้นหาใน
จานแม่เหล็ก (harddisk) ต่อไป
การใช้งานแบบแคชในหน่วยความจำ�หลัก (memory cache) จะเร็วกว่าแคชในจานแม่เหล็ก (disk cache)
เพราะการอ่านข้อมูลจากจานแม่เหล็กจะช้ากว่าอ่านข้อมูลจากหน่วยความจำ�หลัก