blog posts

CPU önbelleği nedir?

CPU önbelleği, performans hızı açısından RAM’den bile daha hızlı olan işlemcinin içindeki bellektir. Bu yazıda, bu sorunu inceleyeceğiz ve CPU önbelleğinin ne olduğunu ve kullanımlarının neler olduğunu göreceğiz.

 

CPU önbelleği

 

 

CPU önbelleği nedir?

herhangi bir işlemcinin hızı ve gücü için ana kriterlerden biri olarak bilinir. Bu makalenin geri kalanında, bu konuyu özel ve teknik bir şekilde ele almayı amaçlıyoruz.

Bilgisayarların yapımının ve piyasaya girişinin ve yaygın kullanımının başlangıcında, tek çekirdekli işlemcilerin ve birkaç megabayt RAM’in mimarisi çok popülerdi. Grafiksiz ve küçük hacimli işlemler bu bilgisayar kategorisi ile kolayca yapılıyordu. Fakat bilgisayarların ilerlemesi ve daha hacimli ve ağır işleme ihtiyacı, oyunun kurallarının köklü bir şekilde değişmesine neden oldu.

İşlem hızını artırmanın ilk adımı RAM miktarını artırmaktı. RAM miktarının artmasıyla birlikte işlemcilerin işlemesi için daha fazla bilgi mevcuttu ve işlem hızı çok daha yüksekti. Ama hız pek artmadı. Burada tasarımcılar işlemcinin çok çekirdekli tasarımını icat ettiler. Çekirdek sayısındaki artış işlem gücünün artmasına neden oldu ancak bu hem işletim sistemlerinde hem de yazılım alanında yazılım değişikliklerini gerektirdi.

Multi-core teknolojisinden sonra thread teknolojisi ortaya çıktı. İplik teknolojisi, işlemci çekirdeklerinin hızını iki katına çıkardı. Hızdaki bu artış, işlemcilerin işlemlerini daha fazla ve daha iyi güçle gerçekleştirmesine neden oldu ancak hızdaki bu artışın başka ihtiyaçları da vardı.

Araştırmacıların karşılaştığı ilk şey, çok çekirdekli ve iş parçacıklı bir sistemle iyi çalışacak bir işletim sistemi ve yazılım icat etmeleri gerektiğiydi. Bu, programlama paradigmalarında değişiklikler gerektiriyordu. Ondan sonra daha ciddi bir sorun ortaya çıktı. İşlemcilerin hızları artmasına rağmen RAM bus (RAM ile işlemci arasındaki işlem sayısı) o kadar artmadı (ya da daha doğrusu yapısal kısıtlamalardan dolayı arttırılması mümkün olmadı). Tasarımcıların bu sorunu çözmelerinin önünde birçok sınırlama ve engel vardı.

Döviz hızının geliştirilmesindeki en önemli sorun ise kur yapılarıydı. Bant genişliğini artırmak, optimum frekans kullanımı ve daha iyi iletkenler kullanmak, uzmanların RAM ve işlemci değişimini hızlandırmak için kullandığı çözümlerdi. Ancak yine, sorun optimal olarak çözülmedi.

Burada CPU önbelleği nihai bir çözüm olarak sunuldu.

 

CPU önbelleği, işlemcinin bilgileri mümkün olan en kısa sürede almasını ve işlemesini sağlar. Bu çalışma işlemcilerin, özellikle de çok çekirdekli işlemcilerin hızının artmasında büyük rol oynadı. Uygulamasının çok çekirdekli sistemden bile daha iyi olduğu söylenebilir çünkü birçok yazılım işlemcilerin paralel işlem gücünü kullanamayacak şekilde tasarlanmış ancak CPU önbelleği ile işlemleri çok daha iyi ve Daha hızlı yapıldı.

 

Burada ortaya çıkan soru, CPU önbelleğinin ne olduğu ve işlem hızını nasıl artırdığıdır.

Bilgisayarın CPU’su bilgi işlemekle meşgul olduğunda, bunu üç aşamada yapmalıdır. İlk olarak, verileri bir bellekten (RAM veya sabit sürücü veya kendi önbelleğinden) çağırmalı, ardından bunları çözmeli ve işledikten sonra sonucu belleğe döndürmelidir. Bu üç adım, işlemcide art arda ve sürekli olarak yapılır. İşlemcinin herhangi bir belleği yoktur, bu nedenle bilgi almak için RAM veya diğer belleklerle sürekli değiş tokuşa ihtiyaç duyar.

Teorik olarak, RAM’deki bilgiler her zaman alınmaya hazırdır ve işlemci tarafından hemen kullanılabilir, ancak pratikte yapısal sorunlar bu alma işleminin hızlı bir şekilde yapılmasını engeller. Bu nedenle daha iyi bir mimari kullanılmalıdır. Burada bir işlemci içi önbellek kullanabiliriz. İşlemcinin içindeki önbellek, alma süresini tam olarak ortadan kaldırır ve işlemcinin istenen adreslerden bilgileri anında ve gerektiğinde okumasını ve yürütmesini sağlar.

Yani, aslında, CPU önbelleğinin var olma nedeni, işlemcinin istenen bilgi ve verilere erişmesi için geçen süreyi büyük ölçüde azaltmaktır.

CPU önbelleğinin ilk serisinde, Intel işlemcilerde yalnızca bir düzeyde ve 56 KB kapasiteyle mevcuttu. Ancak bu kapasite, çekirdek sayısındaki ve iş parçacığı işleme kabiliyetindeki artışla daha da arttı. Bir süre sonra işlemci tasarımcıları yeni bir sorunla karşı karşıya kaldı.

 

 

Tek seviyeli CPU önbelleğinin kapasitesi hızla doldu ve daha fazla alana ihtiyaç duyuldu. Ancak sorun sadece boşluk değildi, burada adreslemenin daha hızlı yapılması gerekiyordu. Biraz araştırmadan sonra, CPU önbelleği için iki seviyeli bir mod sunuldu.

İki seviyeli modda, ikinci seviye önbelleğe belirli miktarda bilgi girilir, işlemciler tarafından getirilen kısım, birinci seviye CPU önbelleğine girer ve işlenir. Daha fazla adrese ihtiyaç duyulursa, adres isteği ikinci düzey önbelleğe, veri yoksa veya istenen adres yoksa, istek RAM’e gönderilir.

CPU önbelleği için iki seviyeli bir mimari kullanmak, işlemcilerin daha hızlı çalışmasını sağladı ve çok seviyeli işleme kullanımını geliştirdi. Şu anda, yarı iletken malzemelerin geliştirilmesi, iki seviyeli CPU’ların önbellek kapasitesinin birinci seviyede 128 KB’ye ve ikinci seviyede 2-8 MB’a ulaşmasını sağladı.

Önbellek seviyesinin artırılması, çekirdeklerin daha da geliştirilmesini mümkün kıldı. İşlemcilerdeki daha küçük transistörlerle, bir işlemcide daha fazla çekirdek kullanmak mümkün hale geldi ve bunun doğal olarak daha hızlı belleklere ihtiyaç duyması, üçüncü düzey önbellekle sonuçlandı.

CPU önbelleğinin üçüncü seviyesinin çalışma düzeni, iki seviyeli moddan farklı değildir, tek fark, bu üçüncü seviye önbelleğin boyutunun 128 MB’a kadar artmasıdır. Burada da bilginin bir kısmı üçüncü seviye CPU önbelleğine girer ve ardından işlemcinin işlemesine göre, ondan gelen bilgiler CPU önbelleğinin ikinci ve birinci seviyelerine girer ve işlendikten sonra oradan ayrılır ve gider. RAM. olmak Bu, özellikle bir işlemcinin çekirdek sayısı yüksek olduğunda kullanışlıdır.

Son yıllarda, CPU önbelleği her üç düzeyde de kapasite artışı gördü. İşlemciler, bir megabayta kadar mevcut düzeyde önbellekler, 16 megabayta kadar ikinci düzeyde ve 128 megabayta kadar önbellekte üçüncü düzeyde kullanılabilir. Bu da kalabalık ağlarda sanallaştırma, karmaşık hesaplamalar vb. işlemlerin yapılmasını kolaylaştırır ve işlemciler sorunsuz çalışmaya devam eder.

 

 

Daha fazla işlemci önbelleği, daha yüksek işlemci hızı anlamına mı geliyor?

Daha önceki yazılarda da bahsedildiği gibi tek bir faktör artırarak bilgisayarınızın veya sunucunuzun hızını artıramazsınız. Bilgisayarınızın veya işlemcinizin hızı çeşitli faktörlere bağlıdır. Örneğin, çalıştığınız yazılım paralel işlem yapma yeteneğine sahip değilse veya donanımınızın geri kalanı işlemci ile yeterli bilgi alışverişi yapma yeteneğine sahip değilse (kanalların, bant genişliğinin veya düşük veri yollarının sınırlandırılması) , o zaman bunları en iyi şekilde kullanamazsınız. Bu, bilgisayarınızın veya sunucunuzun hızının yavaşlamasına neden olabilir ve bunun sonucunda sunucunuz çok çalışacaktır.

 

 

CPU önbelleğinde Cache Miss ve Cache Hit ne anlama geliyor?

Yukarıda bahsedildiği gibi işlemci işlem yapmakla meşgulken alma bilgisini birinci seviye önbellekten alır, gerekli bilgi veya adresleme yoksa ikinci seviye önbelleğe gider vb.Yol üçüncü önbelleğe başvurur. . Bu arama sırası her zaman hızlı bir şekilde yapılır.

Eğer bu aramada işlemci gerekli bilgileri CPU önbelleğinde bulabilirse o zaman Cache Hit (bilgiye erişim) gerçekleşir ve eğer bu bilgi CPU önbelleğinde bulunamazsa Cache Miss oluşur. ) olur.

Cache miss çeşitli sebeplerle meydana gelebilir, yazılımın yeni işleme sistemleri ile uyumsuzluğu veya adresleme sistemindeki problemler cache miss nedenlerindendir.

 

 

Neden işlemci önbelleği gibi RAM yapmıyorlar?

Doğrusu yapıyorlar ama sorun RAM’de değil, RAM ile işlemci arasındaki ilişkide. Aslında, RAM yapmak için kullanılan tekniklerin aynıları CPU önbelleğinde de kullanılır, ancak buradaki sorun, RAM bilgilerine erişmek için RAM yuvası ile işlemci çekirdeği arasında küçük bir mesafe kat edilmesi gerektiğidir. Saniyenin binde biri çok uzun bir süre gibi gelmeyebilir ancak işlemci üzerinde saniyede 2.7 milyar işlem yapıldığını düşündüğünüzde bu küçük miktarın ne kadar büyük bir fark yaratabileceğini anlayabilirsiniz.

CPU önbelleğinin kullanılmasının bir diğer nedeni de CPU önbelleklerinin işlemci çekirdeklerine işlenen bilgileri güvenilir bir hızda RAM’e aktarma ve ardından istenen bölüme gönderme fırsatı vermesidir.

Son yıllarda meydana gelen gelişmelerden biri de işlemci alanını büyütmek ve önbellek alanını artırmaktır. Yukarıda bahsedildiği gibi, işlemci önbelleği üç düzeyde 28 kilobayttan 128 megabayta yükseldi. Ama bu hikayenin sonu değil. Artık RAM’leri tamamen kaldırıp birleştirmek için fikirler düşünülüyor.

Öte yandan kuantum işleme gibi yöntemler de çok iyi sonuçlar elde etti. Güvenlik duvarları alanında önemli ilerlemeler kaydettik. Teknoloji, yenilikçilik ve pazar ihtiyaçlarının birleşimi, olağan uygulamalardan çok değişiyor. Şimdi ve bu makaleyi yazarken (sonbahar 2018), Google, çarpıcı işlem gücüne sahip kuantum bilgisayarını tanıttı, Sophos güvenlik duvarlarında çok güçlü işlemciler kullanıyor ve HP, RAM’ler sunuyor. 512 GB kapasite ile konuşuyor. ve dahası. Belki çok yakında bu yazı bilgisayarların gelişim tarihinin bir parçası olacak..!!

 

 

Sıkça Sorulan Sorular

 

CPU önbelleği nedir?

CPU Önbelleği, işlemcinin içinde bulunan ve işlemlerin hızını artıran son derece hızlı bir bellektir. Normalde, bu önbellekler üç düzeyde sunulur. Üçüncü seviye en yüksek hafıza miktarına sahiptir.

 

 

Daha fazla CPU önbelleği, daha hızlı bilgisayar hızı anlamına mı geliyor?

Zorunlu değil ama işlemcilerdeki önbellek miktarını artırarak çekirdeklerin işlem hızı artar. Ancak bilgisayarın hızını artırmak, yalnızca bir öğeyi artırmakla fazla değişmeyen çok yönlü bir bilmecedir.

 

 

Cache Miss ve Cache Hit ne anlama geliyor?

İşlemci, önbellek düzeylerinden birinde istenen bilginin adresini bulabildiğinde, bir önbellek isabeti gerçekleşir, aksi halde önbellek isabet modu oluşur.

 

 

Neden RAM genişletme yerine CPU önbelleği üzerinde çalışalım?

Buradaki asıl sorun, RAM ile işlemci arasındaki bilgi alışverişidir. En uygun modda bile, bu değişimin süresi hala uzundur. Ancak işlemcinin içindeki önbellekler, özellikle işlemci çok çekirdekli olduğunda, işlemciye hızlı bir şekilde bilgi sağlayabilir. Bu nedenle işlemcilerin geliştirilmesinde CPU önbelleğinin boyutunun büyütülmesi en üst sıralarda yer almaktadır. Bununla birlikte, RAM boyutu ve kapasitesinin geliştirilmesi devam etmektedir.