Bir CPU’nun Önbelleği Ne Zaman Ana Belleğe Geri Döndürülür?

Feb 23, 2025
Donanım

Çok çekirdekli CPU'ların, önbelleğe almanın, önbellek tutarlılığının ve belleğin nasıl çalıştığını öğrenmeye yeni başlıyorsanız, ilk başta biraz kafa karıştırıcı görünebilir. Bunu göz önünde bulundurarak, bugünün Süper Kullanıcı Soru-Cevap gönderisinde meraklı bir okuyucunun sorusuna yanıtlar var.

Bugünün Soru-Cevap oturumu bize, topluluk odaklı bir Soru-Cevap web siteleri grubu olan Stack Exchange'in bir alt bölümü olan SuperUser'ın izniyle geliyor.

Soru

Süper Kullanıcı okuyucu CarmeloS, bir CPU'nun önbelleğinin ne zaman ana belleğe geri yüklendiğini bilmek ister:

İki çekirdekli bir CPU'm varsa ve her çekirdeğin kendi L1 önbelleği varsa, Core1 ve Core2'nin her ikisinin de aynı anda belleğin aynı bölümünü önbelleğe alması mümkün müdür? Mümkünse, Core1 ve Core2 önbellekteki değerlerini düzenlediyse ana belleğin değeri ne olur?

Bir CPU'nun önbelleği ne zaman ana belleğe boşaltılır?

Cevap

SuperUser'a katkıda bulunanlar David Schwartz, sleske ve Kimberly W'nin cevabı bizim için. İlk olarak, David Schwartz:

İki çekirdekli bir CPU'm varsa ve her çekirdeğin kendi L1 önbelleği varsa, Core1 ve Core2'nin her ikisinin de aynı anda belleğin aynı bölümünü önbelleğe alması mümkün müdür?

Evet, durum böyle olmasaydı performans korkunç olurdu. Aynı kodu çalıştıran iki iş parçacığını düşünün. Bu kodu her iki L1 önbelleğinde de istiyorsunuz.

Mümkünse, Core1 ve Core2 önbellekteki değerlerini düzenlediyse ana belleğin değeri ne olur?

Eski değer ana bellekte olacak ve hiçbir çekirdek onu okumayacağı için önemli olmayacak. Değiştirilmiş bir değeri önbellekten çıkarmadan önce, belleğe yazılmalıdır. Tipik olarak, bazı varyantları MESI protokolü kullanıldı. MESI'nin geleneksel uygulamasında, bir önbellekte bir değer değiştirilirse, aynı düzeydeki başka bir önbellekte hiç bulunamaz.

Sleske'nin cevabının ardından:

Evet, iki önbelleğe sahip olmak aynı bellek bölgesini önbelleğe alabilir ve aslında pratikte çokça ortaya çıkan bir sorundur. Örneğin çeşitli çözümler vardır:

  • İki önbellek aynı fikirde olmadıklarından emin olmak için iletişim kurabilir
  • Tüm önbellekleri izleyen ve bunları buna göre güncelleyen bir tür süpervizöre sahip olabilirsiniz.
  • Her işlemci, önbelleğe aldığı bellek alanlarını izler ve bir yazma algıladığında (artık geçersiz) önbelleğini atar.

Sorun, önbellek tutarlılığı ve Wikipedia makalesi konuyla ilgili sorun ve olası çözümlere güzel bir genel bakış var.

Ve Kimberly W'den son cevabımız:

Gönderinizin başlığındaki soruyu cevaplamak, önbelleğe alma protokolünün ne olduğuna bağlıdır. Geri yazma ise, önbellek yalnızca, önbellek denetleyicisinin zaten dolu olan alana yeni bir önbellek bloğu koymaktan başka seçeneği olmadığında ana belleğe geri gönderilecektir. Daha önce alanı kaplayan blok kaldırılır ve değeri ana belleğe geri yazılır.

Diğer protokol yazmadır. Bu durumda, önbellek bloğu her seviyeye yazıldığında n , düzeydeki karşılık gelen blok n + 1 Güncellendi. Kavram olarak bir formu altındaki karbon kağıtla doldurmaya benzer; üstüne ne yazarsan yaz, aşağıdaki sayfaya kopyalanır. Bu daha yavaştır çünkü açıkça daha fazla yazma işlemi içerir, ancak önbellekler arasındaki değerler daha tutarlıdır. Geri yazma şemasında, yalnızca en yüksek seviye önbellek, belirli bir bellek bloğu için en güncel değere sahip olacaktır.


Açıklamaya eklemek istediğiniz bir şey var mı? Yorumlarda ses çıkarın. Diğer teknoloji meraklısı Stack Exchange kullanıcılarından daha fazla yanıt okumak ister misiniz? Tartışma dizisinin tamamına buradan göz atın .

Resim Kredisi: 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)


Donanım - En Popüler Makaleler

Farenizi ve Klavyenizi Nasıl Dezenfekte Edersiniz

Donanım Mar 30, 2025

goffkein.pro/Shutterstock Muhtemelen farenizi ve klavyenizi çok sık temizlemiyorsunuz, ancak temizlemelisiniz. Bir bilgisayarı başkalarıyla ..


Windows Görev Çubuğuna Harici Sürücü Nasıl Sabitlenir

Donanım Mar 10, 2025

BAĞLANMAMIŞ İÇERİK Windows bilgisayarınıza bağlı bir harici sürücünüz var ve buna Görev Çubuğundan erişmek mi istiyorsunuz? Burada, onu Görev Çubuğuna sabitlem..


Bir Bluetooth Aygıtını Bilgisayarınız, Tabletiniz veya Telefonunuzla Eşleştirme

Donanım Jul 5, 2025

Bluetooth radyoları olan kablosuz cihazlar, iletişim kurmadan önce birbirleriyle "eşleştirilmelidir". Bu, onları keşfedilebilir hale getirmeyi ve potansiyel olarak bir PIN gi..


SmartThings Ev İzleme Kiti Nasıl Kurulur

Donanım Jun 1, 2025

Dışarıdayken evinizi izlemenin hızlı ve kolay bir yolunu istiyorsanız, SmartThings Ev İzleme Kitini nasıl kuracağınız aşağıda açıklanmıştır. ..


AORUS X7 Oyun Dizüstü Bilgisayarı Çift GPU'ya sahiptir, İnç Kalınlığının Altındadır

Donanım Jan 8, 2025

BAĞLANMAMIŞ İÇERİK Bir şirketin bu kadar gücü gerçekten ince bir dizüstü bilgisayara sığdırabileceğine dair hiçbir fikrimiz yoktu, ancak bunu çift NVIDIA GTX 765M..


64-bit bir Bilgisayara Teorik Olarak Koyabileceğiniz Maksimum RAM Miktarı Nedir?

Donanım Jan 9, 2025

Çoğu kişi, 4 GB RAM sınırını aşmak için 32 bit bilgi işlemden 64 bit bilgi işleme yükseltir, ancak Irak 64 bit bilgisayar dünyasına girdiğinizde bu sı..


Evcil Hayvanlarınız İçin Geeky Kendin Yap Projeleri

Donanım Aug 22, 2025

BAĞLANMAMIŞ İÇERİK İster kediniz, köpeğiniz, dağ gelinciği, kobayınız veya tavşanız olsun, evcil hayvanınız sizin kadar ailenizin bir parçasıdır. İşte evcil h..


Geek Tarihinde Bu Hafta: Mors Kodu, Mars Rovers, J.R.R. Tolkien'in Doğum Günü

Donanım Jan 13, 2025

BAĞLANMAMIŞ İÇERİK Her hafta size Geekdom tarihinden ilginç gerçekler getiriyoruz. Geek History'de bu hafta, elektrikli telgrafın ilk başarılı gösterisine, Spirit gezg..


Kategoriler