CACHE คือ หน่วยความจำขนาดเล็กที่มีความเร็วสูงซึ่งเก็บข้อมูล หรือคำสั่งที่ถูกเรียกใช้หรือเรียกใช้บ่อยๆ ข้อมูลและคำสั่งที่เก็บอยู่ใน CACHEซึ่งทำงานโดยใช้ SRAM (STATIC RAM) จะถูกดึงไปใช้งานได้เร็วกว่าการดึงข้อมูลจากหน่วยความจำหลัก (MAIN MEMORY)ซึ่งใช้DRAM (DYNAMIC RAM )หลายเท่าตัว
การทำงานของ CACHE เป็นขั้นตอนดังนี้
โปรแกรมที่ทำงานโดยผ่านหน่วยประมวลผลกลาง (CPU) ได้ทำการเรียกข้อมูลหรือรหัสที่ CPU จำเป็นต้องใช้ RAM cache ซึ่งเป็นส่วนหนึ่งของวงจรหลักในเครื่องคอมพิวเตอร์ ได้รับสัญญานการเรียกข้อมูลในขณะที่คำสั่งการเรียกข้อมูลกำลังเดินทางไปยัง RAM และ cache จะทำการค้นหาข้อมูลจากRAM และส่งต่อข้อมูลไปยัง CPU ในการค้นหาข้อมูลครั้งแรกอาจจะใช้เวลานานโดยที่ตัว CPU ไม่สามารถทำงานอย่างอื่นได้ในเวลานั้น ในขั้นตอนการค้นหาข้อมูลนี้ cache จะทำการบันทึกข้อมูลที่ค้นพบไว้ใน high-speed memory chips ที่มีเฉพาะภายใน cache ในทันที่ cache ตรวจสอบพบว่า CPU ได้ทำงานเสร็จสิ้นและกำลังว่างอยู่ cache จะทำการค้นหาข้อมูลหรือรหัสของโปรแกรม ซึ่งอยู่ใกล้เคียงกับตำแหน่งของข้อมูลที่ทางโปรแกรมได้เรียกใช้ก่อนหน้านี้จาก memory address และจัดเก็บข้อมูลไว้ใน high-speed memory chips ครั้งต่อไปที่ทางโปรแกรมถามหาข้อมูลจากทางหน่วยประมวลผลกลาง(CPU) cacheจะตรวจสอบดูว่าข้อมูลที่โปรแกรมต้องการมีอยู่ใน high-speed memory chips แล้วหรือยัง ถ้ามีอยู่แล้ว cache จะส่งข้อมูลไปให้ CPUได้โดยไม่จำเป็นต้องผ่านหน่วยความจำหลักซึ่งมีการทำงานที่ช้ากว่ามาก ทำให้ CPU สามารถลดเวลาไร้ประสิทธิภาพ และทำงานได้มากขึ้น เมื่อ CPU ต้องการเปลี่ยนข้อมูลบางอย่างที่มีอยู่ในหน่วยความจำหลักอยู่แล้ว cache จะตรวจสอบดูก่อนว่าข้อมูลที่โปรแกรมต้องการจะเปลี่ยน มีการจัดเก็บอยู่ใน high-speed memory chips แล้วหรือยัง ถ้ามีอยู่แล้ว cache จะเปรียบเทียบข้อมูลที่มีอยู่เดิมกับข้อมูลใหม่ที่เปลี่ยนไป และจะส่งข้อมูลไปเฉพาะ memory address ใน หน่วยความจำหลัก ที่มีการเปลี่ยนแปลงข้อมูลจากข้อมูลเดิมใน high-speed memory chips ซึ่งจะเร็วกว่าการเปลี่ยนแปลงข้อมูลทั้งหมด
http://www.thaiseoboard.com/index.php?topic=82109.0;wap2
ไม่มีความคิดเห็น:
แสดงความคิดเห็น