Skip to main content

หน่วยความจำเชื่อมโยงกันคืออะไร?

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

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

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

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