Hatırlayanlar bilir. Birkaç sene önce Hyperthreading teknolojisi ile tanışmıştık
Bu teknoloji sayesinde bir işlemcinin iki işlemci gücünde çalıştığını gördük.
Günümüzde bu değişimin yerini Dual Core teknolojisi aldı. Dual Core teknolojisi Hyperthreading'e çok benziyor. Farkı Hyperthreading ile yaratılan sanal işlemci yerine fiziksel ikinci işlem birimin olması. Bunlar birçoğumuzun bildiği şeyler. Yenilik ise daha az enerji tüketimi ile daha yüksek performans sağlayan sistemlerin geliştirilmesinde. Yani Quad Core teknolojisi.



Moore yasalarına göre sistem kapasiteleri her onsekiz ayda bir ikiye katlanıyor. Ancak artık CPU performansını saat hızını arttırarak yükseltmek pek etkili gözükmüyor. Ayrıca 3GHZ'den sonra saat hızını arttırmak işlemcide çok fazla ısınmaya sebep oluyor.

CPU hızını arttırmak isimizi görmediğine göre, yeni yöntem birden fazla işlemcinin hızından faydalanarak performansı arttırmak veya multithreading'den faydalanmaktır.



Gelecek, çoklu çekirdekli işlemcilerde. İşlemci üreticileri bunun farkındalar ve tüm güçlerini bu konuya yoğunlaştırmış durumdalar. Öyle ki, çift çekirdekli işlemcilerin yanı sıra 4 çekirdekli işlemciler için de çalışmalar tüm hızıyla sürüyor. Aslında bu teknolojinin temelinin HyperThreading teknolojisi ile atıldığını söylememiz mümkün. Bildiğiniz gibi, HyperThreading teknolojisi ile fiziksel işlemcinin yanı sıra, bir de sanal işlemci söz konusuydu.

Şu anda pazarda hem tek hem de çift çekirdekli işlemciler bulunabiliyor. İşletim sistemleri, iş yükünü çekirdekler arasında kolayca bölebildiğinden herhangi bir hız artırımından daha verimli ve daha fazla başarım sunan iki çekirdeğe (ve hatta dört veya daha fazla çekirdeğe) sahip işlemciler açık bir şekilde gelecek vaat ediyor. Ayrıca iş parçası uyumlu yazılımların başarımı da çekirdek sayısıyla doğrudan orantılıdır. Ek olarak birden fazla çekirdek sistemin tepkiselliğini (responsiveness) arttırıyor: Sisteminiz klavye ve fare hareketlerine daha çabuk cevap veriyor can sıkıcı takılmalar olmuyor.

Şimdiki değişim çok farklı değil, sadece biri sanal biri fiziksel iki işlemci yerine, iki adet fiziksel çekirdek yer alıyor. Böylece, işlemci üreticileri arasında nicedir süre giden GigaHertz savaşı sona ermeye yüz tutuyor ve yeni teknolojiler ön plana çıkıyor. Söz gelimi, işlemci boyutlarının sürekli küçülmesini fırsat bilen üreticiler, ikinci bir işlem birimini aynı yapının içine ekleme düşüncesiyle, bu teknolojik mücadeleyi farklı bir alana taşıdılar. Bu, uzun zamandan sonra nihayet gözle görülür bir performans artışının yaşanacağı anlamına geliyor. Dolayısıyla, yeni nesil işlemcilerde yüksek bir sistem saat frekans artışı beklemek pek de doğru değil. Ama dikkat, çift çekirdek mimarisi, performans değerinin ikiye katlanacağı anlamına gelmiyor.

Quad dört anlamına geliyor. Dolayısıyla geleceğin masaüstü işlemcilerinin dört çekirdekli olacağına dair ilk resmi açıklama İntel'den geldi. Hepsi bununla sınırlı olsa yine iyi: Intel firmasının mühendisleri beş ile on yıl içinde on çekirdekli işlemcilerin hayatta geçeceğinden bahsediyordu. Peki, bu işlemciler nasıl çalışacak sözü edilen işlemciler uygulamaları Thread lere bölecek. Çekirdek sayısı kadar oluşacak threadlar birbirlerini ile paralel çalıştıracak.

Uygulamalarımızı çalıştırdığımız bilgisayarlar genellikle tek işlemcilidir. Ve bilindiği üzere tek işlemcili bir makine o an için sadece tek bir işlem(process) yapabilir. Eğer bir program çalıştıracak olsanız işlemciniz sadece bu çalıştıracağınız programa yönelecek ve sadece bu programın isteklerini cevaplayabilecektir. Aynı anda bir başka program açmanıza ve yeni açılan bu program üzerinde işlemler yapmanıza izin vermeyecektir.

Multi Thread kavramını bilmeyenler, emininki şu an peki Windows bu işi nasıl yapıyor gibisinden sorular sormaya başlamıştır. Şuan sıklıkla kullanılan bir işletim sistemi olan Windows aslında tek bir işlemciyle çalışabilmesine rağmen, kullanıcılarına birçok işlemi bir arada yapabilmesini sağlar. Bunu yaparken de, işletim sisteminden istemiş olduğunuz talepler threadlere bölünür ve bu threadlerin ardarda çalışmasıyla gerçekleşir.

Daha iyi anlamanız için bu threadlere bölme konusunu biraz daha açalım.
MS-DOS işletim sistemine bilmeyeniniz yoktur. MS-DOS işletim sistemi multi thread kullanmaz. MS-DOS ortamında bir programı çalıştırdığınızda dikkat etmişsinizdir: Program çalıştığında, işletim sistemiyle alakası kesilir ve işlemci sadece çalışan programın taleplerine cevap verir. Yani programı kapatıp işletim sistemine dönünceye kadar işlemcinin görevi sadece o programı çalıştırır. Siz o esnada işlemcinize başka bir program kullandıramasanız.

Ancak multi thread çalışan işletim sistemleri, birçok uygulamayı, üstelik işletim sisteminin kapanmasına izin vermeden gerçekleştirebilmektedir. Örneğin şuan siz bu yazıyı okurken bir explorer açık durumda ve isterseniz müzik dinlemek için başka, maillerinizi kontrol etmek için başka bir program açabilirsiniz. İsterseniz Ctrl + Alt + Delete Tuş kombinasyonunu kullanarak şu an çalışmakta olan tüm "process"leri listeleyebilirsiniz.

Tek bir işlemcinin normalde tek bir işlem(process) çalıştırabilmesi gerekirken nasıl olurda bu kadar çok işlemi aynı anda çalıştırabiliyor mantığına gelince... Mesela, işlemcinin 2 işlemi aynı anda çalıştırıyor olması; aslında işlemcinin, 1.işlemin bir kısmını hemen ardından 2.işlemin bir kısmını, sonra tekrar 1. işlemin bir kısmını yapmasıyla sağlanmaktadır. Bu geçişler o kadar hızlı olmaktaki biz fark edememekteyiz.

Çoklu İşlem İçin Hazırlıklı olun



Birden fazla çekirdek veya mantıksal işlemci (HyperThreading gibi) çalıştırabilmek için Windows XP'nin ACPI çoklu-işlemci kipini etkin hale getirmeniz gerekiyor



Eğer zaten kullandığınız sürücü bu değilse işlemci sürücüsünü kurmanız gerekiyor.

Önümüzdeki yıllarda bizi neler bekliyor?



Resim : Quad-core Kenstfield işlemcisi iki adet Die üzerinde dört çekirdekli işlemci

u yılın sonunda veya gelecek yılın başında işlemciler, yeni teknolojilerle güçlendirilecek. Bu yeni teknolojilere bir göz atalım.

1-virtualization teknolojisi

a- Intel virtualization teknolojisi Vanderpool’un olarak adlandırılan teknoloji sayesinde, birden fazla disk bölümünde birden çok işletim sisteminin aynı anda çalışması mümkün olacak. 2006 yılında yepyeni bir çekirdek mimarisi ile tanışacağız. Presler olarak adlandırılan bu mimari, 65 nm teknolojisine sahip çift çekirdekli işlemcileri içerecek.

b-AMD'nin de işlemcilerinde kullandığı Virtualization teknolojisi, bir sistemin birden fazla işletim sistemini ve uygulamayı, bağımsız bölümlerde veya konteynerler'de daha iyi çalıştırmasına izin veriyor. Ayrıca özellikle veri depolama aygıtlarında, aygıtların fiziksel yerlerine ve konumlarına bakılmaksızın çok daha verimli ve kolaylıkla yönetim sağlıyor.

Yeri gelmişken Sanallaştırma Teknolojisi'nden yararlanmak için Hypervisor yazılımına sahip olmanız gerektiğini hatırlatalım.

2-Auto threading yazılımı

Bu teknolojiye paralel olarak teknoloji uyumlu yazılım bütünleştirmeleri ile birlikte Auto threading yapabilecek yazılımlar da geliştirilecek bu alanda yaşanacak değişimlerden biri olan akıllı ön bellekler ise önceki işlemci teknolojilerinde yaşanan dar boğazını ortadan kaldırmak için geliştirilmiş.

3-3D stack Memory

Bu teknolojisi ise belleklerin işlemci çekirdeği ile daha yakın temas da çalışmasını ön görüyor. Bunun için daha düşük bir güç tüketimi için Energy efficient system architecture geliştirilmiş durumda oldukça ilgi çekici olan en önemli değişim ise Transaction memory teknolojisi sayesinde çoklu threadlerin belleği nasıl kullanmaları gerektiğini ayarlaması.

4-Smart Cachce

PC sistemini, işlemcinin önbelleğini daha etkili kullanmasını sağlayan, veri trafiğinin yoğunluğunu düşüren ve verinin erişim süresini düşüren bir teknoloji. İşlemcinin içinde yer alan bu teknoloji, aynı zamanda çekirdekler arasında bellek paylaşımı sağlıyor.

5- Transaction Memory teknolojisi sayesinde çoklu thread lerin belleği nasıl kullanmaları gerektiğini ayarlaması.

6- Önbellek artırımı; İşlemci üzerindeki diğer gelişmede işlemcinin performansını belli uygulamalar için yükseltmekte kullandığı bir yöntemdir. Intel, sunucu sistemleri için hazırladığı yol haritasında birkaç büyük değişikliği gerçekleştirdiğini görüyoruz. 2-4MB Tampon belleğe sahip, çift ve dört çekirdekli işlemciler yavaş bir şekilde kendisini göstermeye başladı.

Önbelleğin büyümesi neden bu kadar önemlidir? Biraz da önbellekten bahsedelim.

Bu gün PC lerde kullanılan tüm donanımlar 15 yıl öncesine göre çok daha hızlı. Ama her bir donanım bileşeninin hızı eşit ölçüde artmadı. Örneğin işlemcilerdeki performans gelişimi, sabit disktekilerden kat kat fazladır. Hani meşhur bir laf vardır ya PC'nin hızı en yavaş donanımın hızı kadardır derler ya, CPU ve diğer donanımlar ne kadar hızlı olurlarsa olsunlar, pc'nin en yavaş üyesi olan HDD ile bu performans artışını tam anlamı ile tam olarak yaşamanız mümkün değildir. İşlemci boş boş oturup kendine bilgi gelmesini bekler. İşte bunu önlemek için bazı ara çözümler geliştirildi. Bilgileri sabit diskten önbellek (cachce) adı verilen bir birime aktarılması, işlemcinin ihtiyaç duyduğunda sık kullanılan bilgileri bu önbellek alanından alması. İşte önbelleklerin amacı budur. Bir PC de çeşitli bellek kademeleri vardır.

Birincil önbellek (L1 cache) =L1 önbellek en hızlısıdır ve günümüz PC lerinde doğrudan işlemci üzerinde yer alır.Bu önbellekin boyutu genelde küçüktür.

İkincil önbellek (L2 cache)=L2 önbellek biraz daha yavaş ama L1 önbelleğe göre biraz daha büyük olabilir. İşlemci ile işlemci hızının yarı hızında haberleşir.

Üçüncü seviye (L3) önbelleği = Kullandıkları anakartlarda da sistem veriyolu hızında çalışan bir önbellektir.

Sonuçta da işlemci çekirdeği ile aynı hızda çalışan üç önbellek kademesi ortaya çıktmış.
Sistem belleği (RAM)
Sabit Disk belleği
CD Rom belleği gibi…

Diyelim ki işlemci bir bilgiye ihtiyaç duyuyor. Önce gidip en hızlı bellek türü olan L1 önbelleğe bakar. Bilgi orada varsa gecikme olmaksızın bu bilgileri alır ve işler. L1 önbellekte yoksa L2 ye bakar ve buradaysa nispeten küçük bir gecikmeyle ile bilgileri alır.Orada da yoksa L3 önbelleğe başvurur oradan da önbelleğe göre daha yavaş olan sistem belleğine, yine yoksa en yavaşları olan sabit diske veya CD-ROM vb.. bilginin bulunduğu cihazlara bakar.


7-SSE komutlarına da bir ekleme yapılmış.

8-Averill platformunda yer alacak olan bu işlemci, ICH8 yonga setiyle çalışacak. 2007 yılında da Broadwater adlı bir platform ile tanışacağız. Millville ve Allendale adlı işlemcileri kullanacak olan bu yeni platform, Pentium ve Celeron'un yerlerini alacak.

Sonuç olarak; Fiziksel sanaldan daha iyi

Direct 3D ve Open GL gibi Single Threaded uygulamaları çalıştıracak olan kişiler isteklerini 64 bitlik bir işlemci ile karşılamayı tercih edebilirler. Aynı tercih, günümüzün gözde oyunlarını çalıştırmak isteyen kişiler için de geçerli olabilir: Ama işin içine Multiprocessing (=çoklu-işlem) özelliği girdiğinde, çift çekirdekli veya çoklu çekirdekli işlemcilerin daha doğru bir seçim olduğunu unutmamak gerekiyor. Zira iki adet fiziksel çekirdeğin Hyperthreading gibi çekirdeklerin birinin sanal olduğu bir sistemden çok daha iyi performans ortaya koyacağı kesin. Ayrıca oyun geliştiricilerinin gelecekte oyunları çok işlemcili sistemleri dikkate alarak yazacaklarını düşünürsek, çift çekirdeğe şimdiden geçmek doğru bir seçim olabilir. Çoğu sistemde bir uygulama çalışırken arka planda anti virüs ya da güvenlik duvarı uygulamaları da yer alır. Bu işlemler multithreading işlemi olarak algılandığında, çift çekirdekli bir işlemci doğal olarak avantajlı duruma geçecektir.

Kaynak : Mustafa İRDEM
Referanslar : INTEL - THG

Beğeniler: 0
Favoriler: 0
İzlenmeler: 3524
favori
like
share
alembuysa_58 Tarih: 18.05.2010 16:22
ALLAH RAZI OLSUN, Emeğine saglık...
fderin78 Tarih: 07.02.2009 16:59
teşekkürler kardeşim. Açıklamaların aradan 2 yıl geçmesine rağmen geçerli ve çok değerli. Bilgi paylaşımın içinde ayrıca teşekkür ediyorum. Araştırmalarının ve başarılarının devamını diliyorum...
venseremos Tarih: 20.10.2008 16:47
teşekkürler...zevkle okudum..
nubahar Tarih: 18.10.2008 19:36
tşkler bilgin için
blackfox Tarih: 26.11.2007 20:22
bilgine sağlık çok açıklayıcı olmuş.