Athlon II mi Phenom II mi: L3 Önbelleğin Etkisi Nedir?

Çok çekirdekli işlemcilerde bütün çekirdeklere tek bir bellekle hizmet vermek akıllıca bir yaklaşım. Bu şekilde hızlı L3 önbellek sık erişilen verileri çekirdeklere hızlı bir şekilde sunabiliyor. Çekirdekler ana belleğe mümkün olduğunca az eriştiklerinden işlemcinin hızı fark edilir şekilde artıyor.

En azından teoride böyle olması gerekir. AMD’nin kısa bir süre önce çıkardığı Athlon II X4 işlemcisi aslında temelde L3 önbelleği olmayan Phenom II X4’ten başka bir şey değil: Buradan hızlı bir önbelleğin her zaman gerekli olmadığı sonucunu çıkarabilir miyiz? Bu yazıda bu sorunun cevabını bulmaya çalışıyoruz.

L3 Önbellek

Önbellek (Cache) Nasıl Çalışır

Hemen testlere dalmadan önce bazı temel bilgileri anlamak önemli. Önbelleğin çalışma mantığı oldukça basittir. Veriyi işlemcinin çekirdeğine mümkün olduğunca yakın tutarak işlemcinin daha uzaktaki yavaş bellek birimlerine erişme zorunluluğunu en aza indirirler. Günümüz masaüstü önbellek yapısı üç bölümden oluşur. İkinci ve üçüncü seviye önbelleklerin çok çekirdekli işlemcilerde işlemciye veri sağlamak dışında bir önemli görevi daha vardır: Çekirdekler arasında gereksiz veri aktarımını engelleyerek işlemci veriyolunun tıkanmasını engellemek.

Cache Hit/Miss

Bir önbellek mimarisinin verimliliği doğru verinin önbellekte olma oranına (hit rate) bağlıdır. Eğer istenen veri önbellekte varsa ve buradan hızlıca sunulabiliyorsa buna Hit denir. Eğer istenen veri yoksa istek bir sonraki önbelleğe veya ana belleğe aktarılır buna da Miss denir. Bir verinin önbellekte bulunamaması işleri oldukça yavaşlatır (ek sorgular, beklemeler vs).

Önbellek Yazma, Ayrıcalıklılık, Uygunluk

Dolu bir önbelleğe yeni veri geldiğinde yer açabilmek için bazı yerleştirme politikaları takip edilir. Sonuçta önbelleğe yazılan veri ana bellekte de olması gerektiğinden sistem bunu ya aynı anda yapar (write-through) ya da üstü yazılan bölgeleri “kirli” olarak işaretler (write-back) ve veri önbellekten silindikten sonra yazma işlemini gerçekleştirir.

Veri, farklı seviyelerdeki önbelleklerde ayrıcalıklı (exclusively) olarak yani herhangi bir yedeği olmadan kaydedilebilir. Bu durumda aynı veriyi farklı önbellek seviyelerinde bulamazsınız. Bunun dışında bir de kapsayıcı (inclusive) çalışma mantığı vardır. Bu durumda düşük seviyedeki önbellekte bulunan veri yüksek seviye (işlemciye daha yakın) önbelleklerde de saklanır. AMD’nin Phenom işlemcileri ayrıcalıklı L3 önbellek yapısına sahipken Intel kapsayıcı önbellek stratejisini kullanır. Uygunluk (coherence) politikalarıysa birden fazla seviye önbellek, çekirdek ve hatta işlemci arasındaki veri alış verişini düzenlerler.

Önbellek Kapasitesi

Büyük önbellekler daha fazla veri saklayabilirler ancak gecikme süreleri de daha fazladır. Ayrıca önbellekler oldukça büyük miktarlarda transistör gerektirdiklerinden, çekirdek büyüklüğü, transistör sayısı, güç tüketimi ve başarım/gecikme gibi etkenlerin güzel bir şekilde dengelenmesi gerekir.

Birleşirlik (Associativity)

RAM girdileri önbellekle ya doğrudan eşlenirler yani bellekte bulunan kopyalar için önbellekte (cache) sadece tek bir yer bulunabilir ya da n-yollu ilişkili içinde olabilirler. Bu durumda önbellekte verinin depolanabileceği n farklı seçenek olur. Birleşirlik seviyesi ne kadar yüksek olursa hazırda olan veri silinip üzerine tekrar yazılmak zorunda kalınmadığından önbellek de o kadar esnek kullanılabilir. Diğer bir deyişle n-yollu ilişki daha fazla veri sorgusunun doğrudan önbellekten cevaplanabilmesi anlamına gelir. Ancak bunun maliyeti gecikme sürelerinin artmasıdır. Sonuçta verinin bir yerde olup olmadığına bakmakla n yerde olup olmadığına bakmak arasında fark vardır. En son seviye önbellekte çok-yollu ilişki kullanmak mantıklıdır çünkü burada hem en çok kapasite vardır hem de buradan sonra aranan veri ister istemez daha yavaş olan ana belleğe sorulmak zorundadır.

Birkaç örnek inceleyelim: Core i5 ve i7 işlemciler 32 kB 8-yollu L1 veri önbelleğine ve 32 kB 4-yollu L1 yönerge önbelleğine sahiptir. Intel, yönergelerin hızlı bir şekilde sunulmasını isterken veri önbelleğinin de mümkün olduğunca hit oranını artırmak istemiş. L2 önbellek de 8-yollu ilişkilendirilmişken L3 önbellekte hit oranını artırmak için 16-yollu ilişkilendirme kullanılmış.

Ancak AMD, Phenom II X4 işlemcilerinde 2-yollu L1 önbellek kullanarak farklı bir strateji izliyor (daha düşük gecikme süreli). Olası önbellek ıskalamalarını (miss) engellemek için de iki katı bellek büyüklüğü kullanıyor: 64 kB veri ve 64 kB yönerge L1 önbelleği. L2 önbellek Intel’in tasarımına benzer şekilde 8-yollu ilişkilendirme kullanırken L3 önbellekte AMD 48-yollu ilişkilendirme kullanıyor.

Bu yaklaşımların hiçbiri işlemci mimarisinin tümüne bakılmadan değerlendirilemez. Ne de olsa sonuçta dikkate alınacak şey deney sonuçlarıdır. Burada teknik ayrıntıya girmemizin nedeni çok seviyeli önbellek mimarilerinin ne kadar karışık olabileceğini biraz olsun gösterebilmek içindi.

9 Yorum

  1. woodo

    daha önce x3 lerin kapalı çekirdeğini açmıştınız. athlon II x4 lerinde (bir süre için) arızalı L3 bellek sorunu yaşayan Phenom II x4 ler olduğunu yazmışsınız. arızalı L3 belleği kimse istemez sanırım ama yinede merak ettim açılabiliyormu bu L3 bellek?

    2. bir soru daha sorayım. bu işi yani arızalı kısmı kapatıp başka bir seri ürün adı altında piyasa sürmeyi sadece AMD mi yapıyor? tamam intelin x3 leri yok ama bellek oyunları oynayıp onlarda mı yapıyor acaba? yapmıyorsa intel üretim aşamasında daha az hata yapıyor yada arızalı kısımları kesmek yerine bütün cpu yu çöpe atmayı seviyor?

    • Hamdi Kellecioğlu

      Birinci sorunun cevabını Athlon 64 X4’ün tanıtımında yazdığımız yazıda vermiştik. Buraya bakabilirsiniz.

      İkinci soruya gelince; bunu her üretici yapıyor. Bu firmaların üretim verimliliğini artırmak için kullandıkları bir yöntem. Yani evet, Intel de yapıyor. Ancak bu konudan bağımsızk olarak Intel’in üretim kapasitesinin AMD’ye göre daha yüksek olduğu da bir gerçek.

  2. Ziyaretçi

    aldığımız veya alacağımız ürünün Propus çekirdeğinden üretildiğini anlamak için bir yol var mı acaba?

    Propus çekirdeği deneb’e göre daha az ısınıyormuş doğru mu?

     

    • Hamdi Kellecioğlu

      Velociraptor gerçekten hızlı bir sabit disk. Klasik disklerin (SSD olmayan) en hızlısı olduğunu söylemek yanlış olmaz sanırım, ne de olsa 10,000 rpm dönüş hızına sahip. Tabi fiyatları standart HDD’lere göre biraz tuzlu.

      Yeri gelmişken hatırlatayım: Ürünü aldıktan sonra izlenimlerinizi ve yaptığınız testlerin sonuçlarını blog bölümümüzde tüm okuyucularla paylaşabilirsiniz.

  3. CowboyCagdas

    bence de minimum fps ler önemli. oyun esnasında takılmalar çok sinir bozucu oluyor. 6 mb önbellek o takılmaları kaldırır diye tahmin ediyorum. onun dışında evet iki işlemci türü de aynı oynatır (neredeyse aynı değil aynı oynatır :D).

Bir cevap yazın