İşlemcilerin gelişim sürecine baktığımızda, ilk zamanlarda firmaların frekans artışı üzerine yoğunlaştıkları rahatlıkla görülebilir.
İşlemcilerin fiziksel yapısı nedeniyle, üreticiler frekans alanında bir doğal sınıra ulaşmış durumda. Piyasaya sürülen en üst seviye işlemcilerin fabrika çıkış frekanslar bir 3,5 GHz’in üzerine çıkmıyor. (İşlemciler Nasıl Üretilir?)
İşlemcilerde ilk dikkat edilen şey çekirdek sayısı oluyor
Performans İçin Çekirdek
Frekans konusunda doğal sınırlara ulaştıklarını düşünen işlemci üreticileri, performansı artırma için çekirdek sayısını artırma yoluna gittiler.
Son birkaç yıldır, yeni bir işlemci satın almayı planlayanların akıllarındaki ilk sorulardan biri işlemcinin kaç çekirdekli olduğu oluyor.
{pagebreak::Kaç Çekirdek?}
Kaç Çekirdek?
İlk iki çekirdekli işlemci modellerinin piyasaya çıkmasından bugüne kadar, bir işlemcinin diğerinden hızlı olup olmadığını anlayabilmek için ilk bakılan özellik çekirdek sayısı oluyordu.
Dört çekirdekli işlemci modelleri ile iki çekirdekliler arasında kayda değer bir performans farkı bulunuyor. (Bir İşlemcinin Doğuşu)
Bu sene içerisinde Intel’in piyasaya çıkardığı Core i7 980X ve Core i7 970 ile AMD’nin Phenom II X6 adlı modelleri masaüstü bilgisayarları altı çekirdekle tanıştırdı.
İşlemcilerdeki çekirdek sayısı iki ve dörtten sonra altıya ulaştı
Hep Artacak mı?
İki çekirdekten dörde, dörtten de altıya geçiş, insanların bu sürecin bu şekilde ilerleyeceğini düşünmesine yol açıyor.
Ancak yapılan bazı araştırmalar, mevcut işlemci mimarileri ile çekirdek sayısının artışında da bir doğal sınıra yaklaşıldığını haber veriyor.
{pagebreak::Çok Çekirdek, Yüksek Performans}
Çok Çekirdek, Yüksek Performans
M.I.T. bünyesinde çalışan bir grup araştırmacının yayınladığı bir makale, çok sayıda çekirdeğin genel performansı nasıl etkilediği ve daha çok çekirdeğin her zaman daha yüksek performans anlamına mı geleceğini irdeliyor.
“An Analysis of Linux Stability to Many Cores” adlı makale çok çekirdekli işlemciler ile Linux ilişkisini konu alsa da genel olarak tüm yazılım ve donanım dünyasını aydınlatacak bilgiler sunuyor.
Yapılan araştırmada, çok çekirdekli işlemciler ile yaşanan sorunların on iki ve üzeri çekirdeğe sahip modellerde baş göstermeye başladığı belirtiliyor.
Intel geçtiğimiz aylarda SCC adını verdiği 48 çekirdekli bir işlemci prototipi hazırlamıştı
Artış Yavaşlıyor
Sekiz ve altı çekirdekli işlemcilerin toplamda 48 çekirdekli gibi çalıştığı bir sistem oluşturan araştırmacılar, bu sistemle çeşitli testler yapmışlar.
Testlerin sonucunda, dört ve altı çekirdekli işlemcilerin gösterdiği performansla karşılaştırıldığında, 48 çekirdekli gibi çalışan sistemin performansının beklentilerin epey altında kaldığı görülmüş.
{pagebreak::Çok Çekirdekli İşlemci Nasıl Çalışır?}
Çok Çekirdekli İşlemci Nasıl Çalışır?
Çok çekirdekli bir sistemde, çekirdekler genelde aynı veri grubu ile ilgili işlemler yaparlar. Veriler her hangi bir çekirdek tarafından istendiği sürece, o verinin bellekten silinmemesi gerekir.
Bu yüzden, bir çekirdek veri üzerinde çalışmaya başladığı zaman merkeze bir sayaç sinyali gönderir. Çekirdeğin veri ile işi bittiği zaman ise sinyal kapanır.
Dört çekirdekli bir işlemcinin blok diyagramı genelde bu şekildedir
Tek Tek Kontrol
Sayaç sinyali daha sonra mevcut diğer çekirdeklerin de bu veriyi talep edip etmediklerini anlamak için teker teker hepsini kontrol eder. Kontrol işlemi tamamlandığında, işletim sistemi verinin silinebileceğini anlar ve bellekten siler.
M.I.T. araştırmacıları, çekirdek sayısı fazlalaştığında sayaç sinyalinin dolaşması için geçen sürenin çok arttığını ve performansın düştüğünü keşfetmişler.
{pagebreak::Çok Çekirdek, Çok İşlem}
Çok Çekirdek, Çok İşlem
Yapılan çalışmaya göre, yaşanan bu sıkıntının temelinde ön bellekle ilgili sorunlar yatıyor. Bunların başında bir çekirdeğin, başka bir çekirdeğin daha önceden yazdığı ön belleği yeniden yazmak istemesi geliyor.
Her bir çekirdeğin kendine has bir ön belleği bulunur. Bir çekirdek başka bir çekirdeğin daha önceden ön belleğine aldığı bir veriyi yazmak istediği zaman ön bellek uyum protokolü devreye girerek daha önceden alınan ön bellek kopyalarını bulup iptal eder.
AMD’nin yeni nesil mimarisinde farklı bir yaklaşım bulunuyor
Zaman Alan Bir İşlem
Bir çekirdek, başka bir çekirdeğin yeni yazdığı bir veriyi okuduğunda, ön bellek uyum protokolü veriyi içeren ön belleği bulana kadar okumaya izin vermez.
Doğru ön bellek bulunduğunda bu işaretlenir ve bundan sonra verinin okunmasına izin verilir.
Bu işlemlerin her biri RAM’den veri transferi yapmak kadar zaman alıyor ve çekirdek sayısı fazlalaştıkça bu işlemlerin de sayısı arttığından performansta düşüş olabiliyor.
{pagebreak::Sorunun Farkında mıyız?}
Sorunun Farkında mıyız?
Günümüzde sıkça kullanılan iki ve dört çekirdekli işlemcilerde böyle bir sorun yok denecek kadar az.
Ancak, işlemcilerin gelişim süreci çekirdek sayısının artışına bağlı olduğundan, bundan birkaç yıl sonra, çekirdek sayısı daha da arttığında mevcut mimarinin performans artışına izin vermeyeceği aşikâr.
Araştırmacıların iddiasına göre, çekirdek sayısı 48’e ulaştığında yeni bir işlemci mimarisine geçmek şart olacak.
İşlemci pazarının devleri olan Intel ve AMD, bu sorunun farkında gözüküyorlar ve iki marka da kendilerine özgü çözümler üzerinde çalışıyor.
Artık yeni nesil işlemcilerde entegre GPU bulunuyor
CPU – GPU Kucaklaşması
Intel daha önce, 16 çekirdeğin üzerine çıkıldığında, sadece çekirdek ekleyerek elde edilen verimin düşebileceğini ve yazılım teknolojisinin tüm çekirdeklerden faydalanabilmek için gelişmesi gerektiğini belirtmişti.
Bu durum şu an bile doğru. İşlemci üreticileri artık, CPU’ların yanına grafik işlemcileri de entegre ederek uygulama hızını artırma ve kayar nokta performansını yükseltmeyi hedefliyorlar.
Intel’in yakın bir zaman içerisinde sunacağı Sandy Bridge mimarisi de çok çekirdekli işlemcilerde yaşanabilecek sıkıntıları çözmeyi hedefleyerek tasarlanmış. AMD ise Fusion işlemcileri ile CPU – GPU birleşmesini sağlayarak bir çözüm getirmeye çalışıyor.
{pagebreak::Yazılım Hazır Olacak mı?}
Yazılım Hazır Olacak mı?
İşlemciler çekirdek sayısıyla ilgili çözümler üzerinde çalışırlarken, yazılım tarafı hazır olabilecek mi?
İki ve dört çekirdekli işlemcilerin yaygın hale gelmesinin üzerinden yıllar geçmiş olmasına rağmen en popüler yazılımlar bile çekirdeklerin tam potansiyelini kullanamayabiliyorlar.
Bu yüzden, belli bazı yazılımlar dışında, dört çekirdekli ile altı çekirdekli işlemciler arasında çok da büyük bir performans farkı olmuyor.
Çok çekirdekten faydalanabilen yazılım sayısı halen çok fazla değil
Donanım – Yazılım Yarışı
Bundan sonra ise akla gelen soru ise gelecekte daha çok çekirdek sayılarına ulaştığımızda ne olacak? 48 çekirdek, yazılımların kullanması için çok mu fazla?
Her bir çekirdeğin ön belleğini teker teker kontrol etmek, elde edilmesi beklenen performansı ne kadar düşürecek? Kullanılacak yazılımlar bu sorunların çözümüne ne kadar katkı sağlayabilecek?
Tüm bu soruların cevapları önümüzdeki birkaç yıl içerisinde cevap bulacak. Eğer mevcut mimari değiştirilemezse, işlemcilerin gelişim süreci nasıl bir yola girecek bu da en çok merak edilen konulardan biri.
:: Çekirdek sınırına ulaşıldığında işlemcilerin gelişimi sizce ne yönde ilerleyecek?
{{user}} {{datetime}}
{{text}}