İş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?
3d render programlarında çekirdek sayısı ve thread sayısı ne kadar çok olursa, işlem süresi o kadar kısalıyor. İnternette küçük bir arama yaptığınızda performans testleri bunu gösteriyor. Ayrıca son dönemlerde kullanılan bazı Nvidia ekran kartlarının çekirdek sayıları fazla olduğu ve Cuda yazılımını da kullanabildikleri için render hesaplamaları Cpu ların performansına göre çok daha verimli ve hızlı çalışıyorlar. Dolayısıyla çekirdek sayıları ve işlem güçleri daha fazla olduğu için her geçen gün daha çok ekran kartlarını destekleyen render programları ortaya çıkmaya başladı.
güzel bir yazı
çekirdek sayısı arttırmak frekans arttırmaktan daha çok performans sağlar. Örneğin 20 ghz lik tek bir çekirdekte çalışan bir işlemci olsun, bunun üzerinde aynı anda 20 thread koşuyor olsun, her thread 1 ghz hızında çalışamaz, zira her thread ın çalışma süresi (quanta) tamamlandıktan sonra bir de context switch için işlemci zaman harcar. Oysa her bir çekirdeği 1 ghz olan 20 çekirdekli bir işlemci olsaydı, her thread kendi çekirdeğinde çalışırdı, context switch e zaman harcanmazdı ve her thread gerçek 1 ghz hızında çalışırdı.
Kutalmis.
intel manipulasyondan hic vazgecmez. ya simdi neden 36 cekirdekli islemciler var?
sen tutup tek cekirdege uygun uygulamayi o isoemcide kullanirsan tabii surunur, bu gun tek cekirdek amd ler, cift cekirdek pentiumlar bile neden oyunlarda yeterli?
ayrica amd ler bunun cozumunu zaten yillar ince verdi, amd islemcilerde onbelleklerin ortak kullanimi var, yani bir cekirdegin onbellegini oburu kullanabiliylr. ayni veriyi isterse 100 cekirdek olsun kopyalama olmadan rahatlikla okuyor. ancak bu sadece agir islerde ortaya cikan bir ozelligi.
tabii siz oyun icin 48 cekirdekli islemci kullanirsaniz bilmem.
ayrica cok cekirdekli islemcilerin uretilme sebebinin frekans oldugunu kim soyledi size de, cok cekirdekli islemcilerin amaci 2. islem ihtiyavidir,
soyle ki oyun oynarken frapsla video kaydedecejseniz, physics destek
i oyun oynayacajsaniz, winrar kullanacaksaniz 2. ya da fazla cekirdeklerin buyuk faydasi olur. ama tutup 2013 bir oyunda bile tek cekirdekli bir amd yeterli. gtav turu acik dunya oyunlarunda frekansin buyuk faydasi olsa da kor topal gider tek cekirdekli.
ama tutup render aliyorsaniz fraps gibi programlar kullaniyorsaaniz encoding yapiyorsaniz o zaman cok cekirdek lazim olur. zaten fx serisinin i7 ye bu islerde yetsmesinin nedeni bu