เมื่อแคชของ CPU ถูกล้างกลับไปที่หน่วยความจำหลัก?

Feb 23, 2025
ฮาร์ดแวร์

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

เซสชันคำถามและคำตอบของวันนี้มาถึงเราโดยได้รับความอนุเคราะห์จาก SuperUser ซึ่งเป็นแผนกย่อยของ Stack Exchange ซึ่งเป็นการรวมกลุ่มเว็บไซต์ถาม & ตอบโดยชุมชน

คำถาม

ผู้อ่าน SuperUser CarmeloS ต้องการทราบว่าเมื่อแคชของ CPU ถูกล้างกลับไปที่หน่วยความจำหลัก:

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

แคชของ CPU จะล้างกลับไปที่หน่วยความจำหลักเมื่อใด

คำตอบ

ผู้สนับสนุน SuperUser David Schwartz, sleske และ Kimberly W มีคำตอบให้เรา ก่อนอื่น David Schwartz:

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

ใช่ประสิทธิภาพจะแย่มากถ้าไม่ใช่กรณีนี้ พิจารณาสองเธรดที่ใช้รหัสเดียวกัน คุณต้องการรหัสนั้นในแคช L1 ทั้งสอง

หากเป็นไปได้ค่าของหน่วยความจำหลักจะเป็นเท่าใดหากทั้ง Core1 และ Core2 แก้ไขค่าในแคช

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

ตามด้วยคำตอบจาก sleske:

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

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

ปัญหานี้เรียกว่าการเชื่อมโยงกันของแคชและไฟล์ บทความ Wikipedia ในหัวข้อนี้มีภาพรวมที่ดีของปัญหาและแนวทางแก้ไขที่เป็นไปได้

และคำตอบสุดท้ายของเราจาก Kimberly W:

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

โปรโตคอลอื่นคือการเขียนผ่าน ในกรณีนี้เมื่อใดก็ตามที่บล็อกแคชถูกเขียนในระดับ n บล็อกที่สอดคล้องกันในระดับ n + 1 ได้รับการอัปเดต มันคล้ายกับแนวคิดในการกรอกแบบฟอร์มด้วยกระดาษคาร์บอนด้านล่าง สิ่งที่คุณเขียนไว้ด้านบนจะถูกคัดลอกไว้ในแผ่นงานด้านล่าง สิ่งนี้ช้ากว่าเนื่องจากเห็นได้ชัดว่าเกี่ยวข้องกับการดำเนินการเขียนมากกว่า แต่ค่าระหว่างแคชจะสอดคล้องกันมากกว่า ในรูปแบบการเขียนกลับมีเพียงแคชระดับสูงสุดเท่านั้นที่จะมีค่าล่าสุดสำหรับบล็อกหน่วยความจำเฉพาะ


มีสิ่งที่จะเพิ่มคำอธิบาย? ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange ที่เชี่ยวชาญด้านเทคโนโลยีคนอื่น ๆ หรือไม่? ดูกระทู้สนทนาฉบับเต็มได้ที่นี่ .

เครดิตรูปภาพ: Lemsipmatt (Flickr)

When Is A CPU’s Cache Flushed Back To Main Memory?

What Is The Difference Between Memory And SSD Cache In A PC Or NAS?

5 Cache و Virtual Memory

How To Clear Cache On Mac OS - Clear Memory Cache On Mac In 1-Click

Buffer Cache

Caching In: Understand, Measure, And Use Your CPU Cache More Effectively

How To Clear RAM Cache Memory | Fix RAM Cached Memory Too High Windows 10

NetApp WAFL, NVRAM And The System Memory Cache (new Version)


ฮาร์ดแวร์ - บทความยอดนิยม

SSD ตัวต่อไปของคุณอาจช้าลง (ขอบคุณ QLC Flash)

ฮาร์ดแวร์ Jul 22, 2025

เนื้อหาที่ไม่ถูกแคช bdavid32 / Shutterstock.com ใหม่กว่าไม่ได้ดีก..


วิธีทำความสะอาดฝุ่นออกจาก MacBook ของคุณ

ฮาร์ดแวร์ Jul 13, 2025

หาก MacBook ของคุณทำงานร้อนกว่าปกติพัดลมระบายความร้อนและพื้นที่อื่�..


วิธีปิดการใช้งานกล้องบน Echo Spot

ฮาร์ดแวร์ Dec 22, 2024

เนื้อหาที่ไม่ถูกแคช จุดสะท้อน สร้างนาฬิกาปลุกข้างเตียงที่..


Windows 10 บน ARM คืออะไรและแตกต่างกันอย่างไร

ฮาร์ดแวร์ Dec 5, 2024

เนื้อหาที่ไม่ถูกแคช Microsoft เพียง เปิดตัว Windows 10 เวอร์ชันที่จะทำ�..


ออโต้โฟกัสคืออะไรและโหมดต่างๆหมายถึงอะไร

ฮาร์ดแวร์ Mar 8, 2025

เนื้อหาที่ไม่ถูกแคช เทคโนโลยีสมัยใหม่ทำให้การถ่ายภาพสามารถเข�..


วิธีซ่อนไอคอนภาพซ้อนทับในเกมประสบการณ์ GeForce ของ NVIDIA และการแจ้งเตือน Alt + Z

ฮาร์ดแวร์ Jul 5, 2025

เนื้อหาที่ไม่ถูกแคช เวอร์ชันล่าสุดของ ประสบการณ์ GeForce ของ NVIDIA ..


Photoshop คุ้มค่าเงินหรือไม่?

ฮาร์ดแวร์ Jan 19, 2025

หลายปีที่ผ่านมาวิธีเดียวที่จะได้รับ Photoshop คือการจ่ายเงินล่วงหน้�..


เหตุใด Windows จึงปฏิเสธที่จะใช้ RAM ทั้งหมดที่ติดตั้งบนคอมพิวเตอร์

ฮาร์ดแวร์ Sep 22, 2025

เนื้อหาที่ไม่ถูกแคช ไม่มีอะไรที่เหมือนกับความรู้สึกที่ยอดเยี�..


หมวดหมู่