การเชื่อมโยงกันของแคชคืออะไร?

การเชื่อมโยงกันของแคชเป็นปัญหาตามธรรมชาติที่เกิดขึ้นเมื่อมีการเข้าถึงและแก้ไขชุดข้อมูลของระบบโดยเอเจนต์หลายตัว พื้นที่หลักของสถาปัตยกรรมคอมพิวเตอร์ที่เกิดปัญหาขึ้นในคอมพิวเตอร์หลายตัวประมวลผล โปรเซสเซอร์แต่ละตัวในคอมพิวเตอร์มัลติโปรเซสเซอร์มีแคชของตัวเองที่โหลดและเก็บข้อมูลจากหน่วยความจำเข้าถึงโดยสุ่ม (RAM) เมื่อโปรเซสเซอร์สองตัวกำลังเข้าถึงพื้นที่หน่วยความจำเดียวกันการเชื่อมโยงกันแคชจะหายไปหากไม่ได้ใช้มาตรการป้องกันบางอย่าง

หากไม่มีการเชื่อมโยงกันแคชระบบมัลติโปรเซสเซอร์จะไม่สามารถทำงานได้ มีหลายวิธีที่ได้รับการพัฒนาเพื่อแก้ไขปัญหานี้และหลีกเลี่ยงปัญหาที่อาจเกิดขึ้น การเชื่อมโยงกันโดยใช้ไดเร็กทอรีการสอดแนมและการสอดแนมเป็นสามวิธีที่ใช้เพื่อป้องกันการสูญเสียการเชื่อมโยงกันของแคช

การเชื่อมโยงตามไดเรกทอรีทำงานเป็นตัวกรองเพื่อให้แน่ใจว่ามีการเชื่อมโยงกัน ข้อมูลถูกวางไว้ในส่วนของหน่วยความจำที่โปรเซสเซอร์ทั้งหมดสามารถเข้าถึงได้ เมื่อข้อมูลที่เก็บไว้ในพื้นที่หน่วยความจำนั้นมีการเปลี่ยนแปลงระบบจะอัปเดตแคชหรือทำให้ใช้งานไม่ได้

การสอดแนมต้องการตัวประมวลผลเพื่อตรวจสอบการเข้าถึงทั้งหมดไปยังตำแหน่งหน่วยความจำที่แคชไว้ สิ่งนี้ทำให้โปรเซสเซอร์ทราบเมื่อมีการดำเนินการเขียนเกิดขึ้น เมื่อทราบว่ามีการดำเนินการเขียนเกิดขึ้นโปรเซสเซอร์สามารถอัพเดตแคชได้

การดมกลิ่นค่อนข้างคล้ายกับการสอดแนม การสอดแนมนั้นไม่เพียง แต่ตรวจสอบการเข้าถึงตำแหน่งหน่วยความจำที่แคช แต่ยังตรวจสอบข้อมูลจริงที่เก็บไว้ในหน่วยความจำ เมื่อหน่วยความจำเขียนเกิดขึ้นแคชสามารถอัปเดตด้วยข้อมูลใหม่

ระบบเชื่อมโยงที่ใช้ไดเรกทอรีมีความหน่วงค่อนข้างสูงทำให้การประมวลผลช้าลง ความต้องการแบนด์วิดท์ที่ต่ำกว่าช่วยให้ระบบเชื่อมโยงที่อิงกับไดเรกทอรีสามารถนำไปใช้งานได้จริงในการใช้งานขนาดใหญ่ของการเชื่อมโยงกันของแคช ยิ่งโปรเซสเซอร์ใช้ระบบมากเท่าไหร่ก็จะยิ่งมีข้อดีมากขึ้นจากการใช้ระบบเชื่อมโยงแบบอิงไดเรกทอรี

การสอดแนมเป็นวิธีที่เร็วกว่ามาก วิธีนี้ต้องการแบนด์วิดท์มากกว่าวิธีที่ใช้ไดเรกทอรี วิธีนี้สามารถใช้ได้อย่างมีประสิทธิภาพในระบบที่มีโปรเซสเซอร์ไม่กี่ตัว

มักจะไม่ได้ใช้วิธีการ Snarfing เป็นวิธีในการรักษาความสอดคล้องกันของแคช นี่เป็นหลักเนื่องจาก snarfing ต้องการทรัพยากรมากขึ้นที่จะใช้เมื่อเทียบกับทั้งวิธีการสอดแนมและไดเรกทอรี เพื่อให้ระบบ snarfing ทำงานได้นั้นจะต้องติดตามทั้งที่อยู่หน่วยความจำและข้อมูลที่เก็บไว้ในพื้นที่หน่วยความจำเหล่านั้น จำนวนแบนด์วิดท์และการประมวลผลที่ใช้วิธีนี้ทำให้ไม่พึงประสงค์สำหรับการใช้งานส่วนใหญ่ในการรักษาความสอดคล้องกันแคช