İşlemci Nedir Çok Çekirdekli İşlemci Nedir ?!

'Black-King

Yaşayan Forum Efsanesi
30 Tem 2012
10,353
340
İstanbul
Çok Çekirdekli İşlemci nedir? Nasıl Çalışır? Farkı Nedir?
Birçok kişinin bilinçsiz, yanlış yorumlarını katarak insanları işlemci ve diğer parçalar hakkında yanlış bilgilendirmesiyle çöpe giden paraların haddi hesabı yoktur. Bilgi, doğruyu bulmak ve emin olmak için kaynağından, kökünden alınmalıdır. Bu yazıda işlemcilerle alakalı çok faydalı ve geniş çaplı bilgiler edineceksiniz.




Dağıtık Sistem Modeli:

Dağıtık sistemlerde bilgi işleme, tek bir makinede sınırlanmamış birkaç bilgisayar üzerine dağıtılmıştır. Büyük bilgisayar tabanlı sistemlerin çoğu dağıtık sistemlere geçmiştir. Dağıtık sistemlerde; donanım ve yazılım kaynaklarının paylaşımı yapılabilir, bir hata oluştuktan sonra operasyona devam edilebilir, eşzamanlı işleme sayesinde performans arttırılabilir, farklı sağlayıcılardan gelen yazılım ve donanımlar kullanılabilir. Tüm bu faydaları dışında dağıtık sistemler genelde merkezi sistemlere göre daha karmaşıktırlar ve sistem yönetimi için daha fazla uğraş gerekir. Çoklu işlemci mimarileri en basit dağıtık sistem modelidir. Çoklu işlemcilerde, sistem farklı işlemler üzerinde çalışabilecek çoklu işlemlerden oluşur.

Çok Çekirdekli Kavramı:

Çok çekirdekli işlemcilerde, çekirdek diye bahsedilen aslında fiziksel manada işlemcinin kendisidir. Zar(die) içinde çok yakın bir zamana kadar sadece bir tane işlemci çekirdeği bulunuyordu. Ancak, mesela çift çekirdekli işlemcileri ele aldığımızda, bir zar içerisinde iki tane işlemci çekirdeği bulunduğunu görürüz. Çok çekirdekli işlemciler denildiği zaman mutlaka değinilmesi gereken çeşitli kavramlar vardır:

* İple Bağlama(Threading): Aynı anda birden fazla iş parçacığını işleme sokabilmektir.
* Çoklu İşleme(Multi Processing): Threading ve çekirdekler ile yapılan çoklu işlemlerin tümüdür.
* Çoklu Görevlendirme(Multi Tasking): Birden fazla programın aynı anda çalıştırılmasını sağlar.

Çoklu Çekirdek Tasarımı:

Çoklu çekirdek tasarımının en büyük avantajı, aynı anda birden fazla işlem yapabilme kapasitesidir. Bu tür işlemcilerde hızı sağlayan asıl etken, aynı zar üzerindeki iki işlemcinin etkileşmesinin, ayrı ayrı işlemcilerin etkilenmesinden daha hızlı olmasıyla oluyor. Çok çekirdekli işlemcilerde, iki çekirdek aynı veri yolu ve aynı bellek bant genişliğini kullanacağından bu verimin düşmesine neden olur.

İşlemci piyasasında işlemci başarımı çok önemlidir ve bu yüzden başarımı en mükemmel yapmak gerekir. Var olan üretim teknolojisi kullanılarak saat hızı ve işleme birimleri arasındaki dengeyi en iyi şekilde sağlayarak başarımı en iyi duruma getiren taraf, işlemci piyasasındaki başarım mücadelesini kazanabilir.

Çok iş parçacıklı yazılımlar, çok çekirdekli tek işlemcili ve tek çekirdekli çok işlemcililerde işletim sisteminin iş parçacıklarını çekirdekler arasında paylaştırır. Bir bilgisayarın başarımını arttırmak için saat hızını yükseltmektense daha fazla sayıda çekirdek eklemek başarımı daha fazla arttırır.

Çok Çekirdekli İşlemciler:

Eski 8086 işlemcilerinden, Athlon 64 ve Intel Pentium 4’e kadarki tüm işlemciler tek çekirdeklidir. Yani bunlar, üzerlerinde tek bir işlem birimi taşıyan işlemcilerdir. Tek vuruşlu işlemcilerde, tek bir uygulama varken saat hızları yüksek olduğunda başarım yüksek olabilir. Çift işlem çekirdeğine sahip olmak demek teorikte çift işlem gücü demektir ancak işlem gücünün artabilmesi için uygulamaların çok çekirdekli işlemcilere göre uyarlanmış olması gereklidir.

Eğer yazılım çok iş parçacıklı çalışmak üzere tasarlanmışsa, daha yüksek hesaplama gücüne ihtiyaç duyan ağır bir yazılımdır. Bu tür yazılımları çalıştırmak için çift çekirdekli işlemcileri kullanmak kullanıcıya kolaylık sağlayacaktır. Ayrıca çift çekirdek, kullanıcı internette dolaşırken aynı anda elektronik posta gönderebilmesi gibi birden fazla uygulamayı aynı anda çalıştırmada kolaylık sağlar. Yani çift çekirdek sayesinde aynı anda birçok uygulama sorunsuz çalışır. Dört çekirdekli işlemcilerin ise güçlerini gösterebildikleri az sayıda uygulama var. Çünkü uygulamaların birçoğu çok çekirdekli işlemcilere göre uyarlanmamıştır. Dört çekirdekli işlemciler, dört adet işlem çekirdeğinin ortak bir önbellekte tek bir yonga içine sokulmasıyla üretilirler.

Firmaların Çok Çekirdek Çalışmaları:

Çok çekirdekli işlemciler üzerinde çalışan birçok firma bulunmaktadır. Bunların bazılarının çalışmaları aşağıdaki gibidir:

Intel:

İntel firmasının 1989 yılında yayınladıkları bir makalede 2000 yılında çift çekirdekli işlemci hedeflediklerini açıklamışlardı ancak hayallerine 2005 yılına kadar gerçekleştiremediler. Intelin 2002 senesinde NetBurst mimarisindeki işlemcilerinde kullandığı “Hyper Threading” ilk çoklu işleme teknolojisi oldu. Hyper Threading, eş zamanlı multi threading denilen bir yöntem kullanıyordu ve Intel bu teknolojiden % 30 verim artışı beklemesine rağmen, % 15 verim artışı alabildi. Çünkü yeniden yürütme sisteminde hatalar vardı bu da performansı düşürüyordu. HT teknolojisinin güvenlik yönünden de eksikleri vardı.

Core 2 Duo mimarisinde akıllı önbellek teknolojisi kullanıldı ve bu teknoloji ile amaçlanan hiçbir çakışma olmadan iki yürütme çekirdeğinin aynı belleği kullanmasıydı. Core 2 duo mimarisinde iki çekirdeğin aynı anda farklı programları rahat rahat çalıştırabilmesi hedefleniyordu.

Intel, bu tür amaçlar doğrultusunda 2005 yılında ilk çok çekirdekli işlemcisini Pentium Extreme Edition ile piyasaya sundu. Bu işlemciler, aynı saat hızına sahip işlemcilerin tek bir zar üzerine yerleştirilmesiyle elde edilmiştir. Daha sonraları Intel, Pentium-M mimarisini geliştirerek Core Duo ile dizüstü bilgisayarlar için ilk çift çekirdekli işlemciyi üretti ve aynı mimariyle Core2 Duo ile de masaüstü için üretti.

Intel, 2006 yılında 4 çekirdekli işlemci üretmek için harekete geçmiştir ve 2007’de Intel Core 2 Extreme ile birlikte ilk 4 çekirdekli işlemci de hazır hale geldi. Intel önümüzdeki günlerde 80 çekirdekli işlemciler üretmeyi hedefliyor.

AMD:

AMD çok çekirdekli işlemciler konusunda Intel’in biraz gerisinde kalmıştır. AMD’nin çok çekirdekli ilk işlemcisi 2005 yılında piyasaya sürdüğü çift çekirdeğe sahip Opteron’dur. AMD hemen 1 ay içerisinde Athlon 64 X2 ile masaüstü bilgisayarlar için olan çift çekirdekli işlemcisini de piyasaya sürdü.

AMD çok çekirdekli işlemcilerinde, her çekirdek başına bir önbellek sağlıyor. AMD “Direct Connect” denilen bir teknoloji ile performans artışı sağlamaktadır. Bu mimaride farklı programlar aynı anda düzgünce çalışabilecektir ama aynı programın aynı veri üzerinde çalışması kolay olmayacaktır.

Intel mimarisinde muhtemel sıkışmalar olabilir, AMD mimarisinde ise yürütme çekirdekleri doğrudan belleklere bağlı ve bellekler ayrıdır. AMD , 2006 yılında yaptığı açıklamaya göre 4 çekirdekli işlemcilerini 2007 yılında piyasaya sunacak.

IBM:

IBM, 2000 yılında POWER4 işlemcileri ile ilk çift çekirdekli işlemciyi üreten firmadır. Aynı yıl içerisinde IBM’in, Sony ve Toshiba ile kurduğu STI, Cell adlı çok çekirdekli işlemci geliştirmeye başladı. Cell işlemcileri; güç işlemcisi elemanı, sinerjetik işleme elemanları ve eleman ara bağlama yolu olmak üzere 3 temel kısımdan oluşur.

Sun Microsystems

Sun, Niagara kod adlı UltraSpac T1 işlemcisini normal işlemcilerden farklı bir mimari ile tasarladı. Niagara’ da ayrıca farklı bir kod yapısı kullanıldı ve OpenSparc projesi ile Niagara’nın kodu tüm kullanıcılara açıldı.lı Anlatım)

İlk işlemciler belli işlemler için özel üretilen ve büyük olan parçalardı. Daha sonraları ise maliyeti çok yüksek olan bu üretim şeklinin yerini, gelişen teknoloji ile daha ufak olan ve tek işlev yerine çok işleve sahip olan üretimler almıştır. Bu dönemin başlaması, transistörlerin ve minibilgisayarların ortaya çıkışına dayanmaktadır ve tümleşik devrelerin yayılmasıyla da hız kazanmıştır. Tümleşik devreler, işlemcilerin daha kompleks olarak tasarlanabilmesine ve bunların çok az yer kaplayacak şekilde (milimetreler cinsinden) üretilmesine olanak sağlamıştır. Bu sayede işlemciler modern hayatta bir çok yerde kullanılmaya başlanmıştır (otomobiller, cep telefonları vs.).

Günümüz işlemcilerine benzerliklerin başlamasından önce, ENIAC ve benzeri bilgisayarların belli işleri gerçekleştirebilmesi için bağlantılarının fiziksel olarak değiştirilmesi gerekiyordu. Cpu kelimesi genel olarak yazılım (bilgisayar programı) uygulama aracı olarak tanımlandığından, gerçek anlamda Cpu’ların oluşumu kayıtlı-program bilgisayarların gelişmiyle ortaya çıkmıştır.

Kayıtlı-program bilgisayar fikri ENIAC tasarımı esnasında mevcut olmasına rağmen, bu fikir makinanın erken bitirilebilmesi için rafa kaldırılmıştı. 30 Haziran 1945’te, ENIAC henüz tamamlanmadan, matematikçi John von Neumann EDVAC proje raporunun ilk taslağını yayımladı. Bu taslakta kayıtlı-program bilgisayarının ancak Ağustos 1949’da tamamlanabileceği gösteriliyordu. EDVAC, belli sayıda operasyonları gerçekleştirecek şekilde tasarlanmıştı. EDVAC için yazılan programlar, kabloların fiziksel olarak değiştirilmeyi gerektiren bir ortamda değil, hızlı bir bilgisayar belleğinde kayıtlı tutuluyordu. Bu özelliğiyle de ENIAC’ın kısıtlamalarının üstesinden gelip, zamandan ve zahmet açısından tasarruf sağlıyordu. Her ne kadar von Neumann kayıtlı-program bilgisayar fikrini ortaya koyan kişi olarak gösterilsede ondan önce de (örneğin Konrad Zuse’nin) benzer fikirler vardı. Ayriyetten, EDVAC’tan önce tamamlanan Harvard Mak I’nın Harvard mimarisi, elektronik bellek yerine delikli kâğıt şerit kullanarak kayıtlı-program dizaynı gerçekleştirmişti. Günümüzde ise modern Cpu’lar temel olarak von Neumann dizaynı olsa da, Harvard mimarisinden de özellikler göze çarpmaktadır.

Dijital aygıt olmalarından ötürü, tüm Cpu’lar ayrık durumlarla ilgilenirler; bu yüzden durumları ayırt edebilmek için bir çeşit geçiş unsuruna ihtiyaçları vardır. Transistörlerin kabulünden önce, elektriksel röleler ve vakum tüpleri bu amaç için kullanılırlardı. Bunların her ne kadar hız avantajı olsa da, tamamen mekanik dizayn olduklarından değişik sebeplerden dolayı güvenilir değillerdi. Örneğin, doğru akım ardışık mantık devrelerinin rölelerden dışarı kurulması, kontak sekmesi problemiyle başedebilmek için fazladan donanım gerektiriyordu. Vakum tüpleri kontak sekmesi sorunu yaşamazken, bunlar, tamamiyle çalışır hale gelebilmek için ısınma gerektiriyordu, ve işler durumdan da hep birlikte çıkmaları gerekiyordu. Genelde, tüplerden biri başarısız olduğunda, bozulan parçanın tespit edilmesi için Cpu’nun teşhis edilmesi gerekmekteydi. Bu yüzden vakum tüplü bilgisayarlar daha hızlı olmasına rağmen röle bazlı bilgisayarlardan daha az güvenilirdi. Tüp bilgisayarlarında (EDVAC) arızalanma 8 saatte bir olurken, röle bilgisayarlarında (Harvard Mark I) daha nadir rastlanıyordu. Sonuç olarak ise tüp bazlı Cpu’lar hız avantajının arızalanma sorunundan daha ağır basmasından dolayı daha yaygın hale geldiler. Bu eski senkron Cpu çeşitleri, günümüzle kıyaslandığında, oldukça düşük saat frekanslarında çalışmaktaydılar. Kuruldukları geçiş aygıtlarının hızlarıyla kısıtlandıklarından, o zamanlar için 100 kHz ile 4 MHz arasında değişen saat sinyal frekans değerleri oldukça yaygındı.



Ayrık Transistor ve Tümleşik Devre Cpu’ları
Çeşitli teknolojilerin daha küçük ve daha güvenilir elektronik aygıtlar üretmeye başlamasıyla Cpu tasarımlarının kompleks yapıları da artış gösterdi. Bu yoldaki ilk gelişme transistörlerin gelişiyle başladı. 1950’ler ve 1960’lar da Cpu’ların transistörlere geçişi ile vakum tübü ve elektriksel röle gibi güvensiz ve kırılgan geçiş elemenları artık kullanılmaz hale gelmişti. Bu gelişim sayesinde de, üzerinde ayrık bileşenler bulunan bir veya birden çok baskı devre kartlarına daha kompleks ve daha güvenilir Cpu’lar yerleştirildi.

Bu dönemde, oldukça küçük alanlara fazla sayıda transistör yerleştirebilme metodu popülerlik kazandı. Tümleşik devre (IC) sayesinde, büyük sayıda transistörler, yarı iletken tabanlı kalıplar veya çip denilen birimlerin üzerinde üretilebilindi. İlk başlarda, NOR kapıları gibi sadece belli basit dijital devre tipleri tümleşik devreler üzerine minyatürleştirildi. Cpu’ların bu inşa bloğu olan tümleşik devrelere kurulması durumuna “küçük-ölçekli tümleşme” (SSI) denir. SSI tümleşik devreler, Apollo güdüm bilgisayarında (Apollo guidance computer) kullanılanlar gibi, transistör sayısı açısından onun katları biçimindeydi. Mikro elektronik teknolojisi geliştikçe, tümleşik devre üzerindeki transistör sayılarıda artış gösterdi, ve bu sayede bir Cpu’yu tamamlamak için gereken bağımsız parça sayısını azaltılmış oldu. Orta ve büyük-ölçekli (MSI ve LSI) tümleşik devreler sayesinde, barındırılan transistör sayısıları yüzler ve onbinler seviyesine kadar arttı.

1964 senesinde IBM, bir kaç seri bilgisayarda kullanılan ve aynı programları değişik hız ve performans değerleriyle yürütebilen System/360 adlı bilgisayar mimarisini tanıttı. O dönemde çoğu elektronik bilgisayar, aynı üreticiden çıkmış olsa bile bir diğeriyle uyumsuzluk sorunu yaşarken bu gelişim oldukça önemli bir yer tutmuştu. Bu gelişimi kolaylaştırmak için, IBM mikroprogram (veya mikrokod) konseptini kullanmaya başladı, ki bu konsept modern Cpu’ların çoğunda hala geniş bir biçimde kullanılmaktadır (Amdahl et al. 1964). System/360 mimarisinin popülerliği, onu birkaç onyıl boyunca anaçatı bilgisayar pazarını ele geçirmesini, ve IBM zSeries gibi benzer modern bilgisayarlarda kullanılır hale getircek bir efsane olmasını sağladı. Aynı yılda (1964), Digital Equipment Corporation (DEC), bilimsel ve araştırma pazarlarını hedef seçmiş bir başka bilgisayar olan PDP-8’i piyasaya sürdü. Daha sonları ise DEC, SSI tümleşik devrelere kurulmuş olan ancak sonunda LSI bileşenlerin pratikleşmesiyle bunlarla gerçekleştirilmiş ve oldukça popüler olan PDP-11’i piyasaya sunacaktı. SSI ve MSI öncelleriyle sahip olduğu fark ile, PDP-11’in ilk LSI gerçekleştirilmesi, 4 LSI tümleşik devreden oluşan bir Cpu’ya sahipti (Digital Equipment Corporation 1975).

Transistör bazlı bilgisayarların, öncellerine kıyasla fazla sayıda ve belirgin avantajları vardı. Yüksek güvenilirlik ve az güç tüketiminin yanı sıra, transistörler sayesinde Cpu çalışma hızları transistörlerin sahip olduğu düşük geçiş süreleri sayesinde oldukça artış gösterdi. Bu dönemde, yüksek güvenilirlik ve geçiş süresinde ki belirgin hız artışı sayesinde, Cpu’ların saat hızlarında MHz'in on katları seviyesine erişildi. Ek olarak, ayrık transistör ve tümleşik devre Cpu’ları sık kullanımda iken, SIMD (Tek Komut Çoklu Data) vektör işelmcileri gibi yeni yüksek performans tasarımlar ortaya çıkmaya başladı. Başlarda deneysel tasarım olan bu sistemler, daha sonraları ise Cray Inc. gibi firmalar tarafından üretilmiş, uzmanlaşmış süperbilgisayarların çağına adım atılmasını sağlayacaktı.

Mikroişlemciler
Mikroişlemcilerin 1970 lerde ortaya çıkması, Cpu tasarımlarını ve kullanımını oldukça etkiledi. İlk mikroişlemci olan Intel 4004 ün çıkması (1970) ve yine ilk geniş çaplı kullanım sağlayan mikroişlemci olan Intel 8080 (1974) ile bu tip Cpu’lar, merkez işlem birimini yürütme metodlarını tamamiyle ele geçirmiş oldu. O zaman ki tüm üreticiler, bilgisayar mimarilerini geliştirebilmek için tümleşik devre geliştirme programları yayınladılar. Bunun sonucunda da eski yazılım ve donanımlarıyla geri-uyumlu olan komut set uyumlu mikroişlemciler ürettiler. Günümüzün kişisel bilgisayarlarının başarısıyla birleşince de Cpu kelimesi genel olarak mikroişlemciler için de kullanılmaya başlandı.

Önceki jenerasyon Cpu’lar ayrık parçalarlardan ve pek çok küçük tümleşik devrelerin bir veya birden çok devre kartlarında bulunmasıyla gerçekleştiriliyordu. Mikroişlemciler ise, Cpu’ların çok az sayıda (genellikle bir) tümleşik devre üzerinde üretiminden oluşuyordu. Cpu’ların tek kalıp üzerinde üretilmesinin getirdiği bu boyut açısından bu küçülme, parasitik sığalık geçitlerinin azalması gibi fiziksel faktörler sebebiyle daha hızlı geçiş sürelerinin olmasına olanak sağladı. Bu sayedede senkron mikroişlemcilerin 10 MHz civarlarında olan saat hızları GHz seviyelerine taşındı. Ayrıca, olabildiğince ufak transistörlerin tümleşik devrelere yerleştirilebilmedeki artış, tek bir Cpu’da sahip olunan transistör sayısını ve karmaşıklığı da artırdı. Bu geniş gözlem, Moore Kuralı ile tanımlanmıştır ve bu kuralın Cpu daki kompleks yapının zamana bağlı olarak artışının oldukça keskin bir tahminini yapabildiği ispatlanmıştır.

Her ne kadar Cpu’da karmaşıklığın, ebatların, tasarımın ve genel formun fazasıyla değişmiş olsa da temel yapının ve fonksiyonun değişmediği görülmektedir. Günümüzde yaklaşık her Cpu von Neumann kayıtlı-program makineleri olarak adlandırılabilir.

Moore Kuralı geçerli olmaya devam ettiğinden, tümleşik devre transistör teknolojilerinin sahip olabileceği limitleri hakkında endişeler ortaya çıkmaya başladı. Olabildiğince minyatürleme sonucu ortaya çıkakabilecek elektron göçü ve eşikaltı voltajı durumları önemsenecek boyutlara gelmeye başladı. Bu tip endişeler, araştırmacıları yeni metodlar aramaya (quantum bilgisayarı, paralelliğin kullanımının gelişimi) yöneltti.

Cpu İşletimi
Çoğu Cpu’nun temel işlemi, aldıkları fiziksel formdan bağımsız olarak, kayıtlı komut serilerisi dediğimiz programları yürütmektir.. Program, bilgisayar belleğinde saklanan seri sayılar ile gösterilir. Genel olarak von Neumann Cpu’ları işlemi 4 adımda gerçekleştirirler: Getirme (fetch), kodçözücü(decode), yürütme(execute) ve geri yazma(writeback).

Getirme evresi (fetch): Bu evre, program belleğinden komutu almayı içerir. Program belleğindeki yer, programın o andaki yerini bir sayıyla tutan program sayıcı tarafından belirlenir. Başka bir deyişle, program sayıcı, Cpu’nun o andaki programın hangi kısmında olduğunun yerini tutmaktadır. Bir komut alındıktan sonra PC( program sayıcı) , alınan komutun boyunun bellek birim cinsinden değeri kadar artırılır. Bazen getirilmesi gereken komut hızca daha yavaş bir bellekten alınır, böylece Cpu’nun komutun geri dönmesini beklerken zaman kazanması sağlanır. Bu konu modern işlemcilerde bellekler ve boruhattı mimarilerinde geniş olarak incelenmektedir.

Kod çözme(decode): Cpu’nun bellekten getirdiği komut, Cpu’nun ne yapacağını belirlemede kullanılır. İşte bu kodçözme evresinde, komut Cpu’daki önem oranına göre parçalara ayrılır. Sayısal kodun değerinin yorumlanması, Cpu’nun komut set mimarisi (Instruction Set Architecture) ile tanımlanır. Genelde, komuttaki sayiların bir grubu, opcode, hangi işlevin gerçekleştirmesi gerektiğini gösterir. Geri kalan kısımdaki sayılar komut için gerekli bilgileri sağlarlar (örneğin bir toplam işlemi için gereken işlenen değerler). Bu tip işlenenler sabit bir sayı olarak verilebileceği gibi, bazende bir değeri gösterecek yer olarak (yazmaç veya bellek adresi) olarak verilebilir. Eski tasarımlarda, Cpu’nun komut çözme işinde sahip olduğu kısımlar değiştirilemez donanımsal parçalardı. Ancak Cpu’ların ve ISA’ların gelişmesiyle, kodun çözümünde ve gerekli ayarların yapılmasında Cpu’ya yardımcı olan mikroprogramlar kullanılmaya başlandı. Bu mikroprogramlar, Cpu’nun kodçözme şeklini üretiminden sonra da değiştirebilmek için, bazı durumlarda tekrar yazılabilir olurlardı.

Yürütme(execute): Bu evrede, istenen işin gerçekleşebilmesi için Cpu’nun birçok kısmı bağlı haldedir. Örneğin, bir toplama işlemi istendiğinde, aritmek ve mantık birimi (Arithmetic Logic Unit) bir kısım giriş ve çıkışlara bağlı olacaktır. Girişler toplada kullanılacak sayıları içerirken, çıkışlar ise sonuc değerini tutacaktır. ALU, girişlerde basit aritmetik ve mantık işlemlerini gerçekleştirecek devre yapılarına sahiptir. Eğer toplama işlemi Cpu’nun gerçekleştirebileceğinden çok büyük sonuçlar üretiyorsa, bayrak yazmaçlarında ki aritkemik taşma bayrağı kullanılacaktır.

Geri yazma(writeback): Basitçe yürütme evresindeki sonucu bir bellek üzerine geri yazma evresidir. Çoğu zaman sonuçlar Cpu’nun iç yazmaçlarına, daha sonraki komutlarda kullanımı hızlı olabilsin amacıyla, yazılır. Diğer durumlarda ise sonuçlar daha yavaş ancak daha ucuz ve büyük ana belleklere yazılır. Bazı komut tipleri program sayacını direk sonuç üretmeden sadece işlerler. Bunlara genellikle atlama (jumps) denir ve döngü, durumsal program yürütme ve program fonksiyonları gibi davranırlar. Bazı komutlar ise bayrak yazmaçlarının durum değerlerini değiştirme amaçlı olurlar. Bu bayraklar, işlemlerin sonucunu gösterdiğinden, programın çalışma şeklini etkilemek amaçlı kullanılabilirler. Örneğin, “karşılaştırma” komutunun bir çeşiti, iki değeri kıyaslar ve bayrak yazmaçlarına hangisinin büyük olduğuna dair bir sayı atar. Bu bayrak daha sonra program akışı acısından başka bir komuta atlama amaçlı kullanılabilr.

Yürütme ve geri yazma evresinden sonra, tüm işlemler tekrarlanır. Bir sonraki komut program sayacının onceden artırılması sebebiyle getirme evresiyle başlatılır. Eğer önceden tamamlanan komut bir atlama ise, program sayacı bir sonraki adresi gösterecek şekilde tekrar ayarlanır ve yürütme ona göre yapılır. Burda bahsettiğimiz Cpu’lardan daha gelişmiş olanlarında, birden çok komut aynı anda getirilebilir, kodçözme everisine girebilir ve yürütülebilir. Bu kısım genel olarak Klasik RISC Boruhattı başlığında incelenen konuları anlatmaktadır, ki bir çok elektronik aygıtta (mikrodenetleyici) bu basit Cpu kullanılmaktadır.

Tasarım ve Uygulama Tam Sayı Aralığı
Cpu’nun sayıları gösterme şekli bir dizayn tercihidir ve aygıtın çalışma biçimini etkiler. İlk dijital bilgisayarların bazıları, iç yapılarında sayıları göstermek için ondalık sayı sisteminin elektriksel modelini kullanmışlardır. Bunların dışında ki birkaç model ise üçlü sayı sistemini kullanmıştır. Günümüz Cpu’larının hemen hemen hepsi ise ikili formu kullanmaktadır. Bu formda her basamak iki değerli bir fiziksel niceliği, örneğin yüksek(High) veya düşük(Low) voltaj, gösterir.

Sayıların gösterim şekli, Cpu’nun gösterebileceği sayilarin büyüklüğü ve doğruluğu ile ilişkilidir. İkili sayı kullanan bir Cpu’da, Cpu’nun ilgilendiği sayilardaki tek bir yerin adına bit denmektedir. Cpu’nun sayilari göstermek için kullandığı bit sayisina genelde kelime uzunluğu, bit genişliği, veri yolu genişliği veya tamamen tam sayılarla ilgileniliyorsa tam sayi keskinliği denir. Bu sayi (bit sayisi) mimariler arasında farklılık gösterdiği gibi aynı zamanda da aynı Cpu’nun farklı bölümlerinde de bu farklılığı gösterir. Örneğin 8-bit bir Cpu, 28 veya 256 ayrı sayı aralığıyla ilgilenmektedir. Bu tamsayı büyüklüğü, bir Cpu’nun yazılım çalıştırırken kullanılabilecek tam sayı aralığını belirlemede bir donanımsal kısıtlama olarak iş yapmış olur.

Tam sayı aralığı, Cpu’nun adres belirlerken bellekte kullanabileceği yer sayısını da doğrudan etkileyebilir. Örneğin, eğer bir Cpu bellek adresini gösterirken 32 bit kullanıyorsa, ve her bellek adresi bir sekizli(8 bit) ile gösteriliyorsa, bu durumda Cpu’nun erişebileceği maksimum adres değeri 232 sekizlisi veya 4 GiB dir. Bu akış açısı Cpu “Adres Uzayı”’na oldukça basit bir bakış açısıdır ve bir çok dizayn daha kompleks adres metodlarını (örneğin sayfalama) kullanarak tam sayı aralığının izin verdiğinden daha çok belleğe erişmeyi başarmaktadır.

Daha yüksek seviye aralıklar, ek basamaklarla ilgilenebilmek için daha çok yapıya ihtiyaç duyar ve bu sebeble daha fazla karmaşıklık, ebat, yüksek güç tüketimi ve maliyet durumları oluşur. Bu sebepten günümüzde yüksek aralığa sahip (16, 32, 64 ve 128) Cpu’lar mevcutken, 4-bit veya 8-bit mikro denetleyicilerin kullanılması oldukça yaygındır. Daha basit mikro denetleyiciler daha ucuz, daha az güç kullanan ve bu sebeple daha az ısınan yapılardır ve bu özellikler, tasarım esnasında seçilmeleri için oldukça yeterli rol oynarlar. Ancak bazı üst-uç uygulamalarda, ekstra aralığın getirdiği kazanç diğer etkenlerden daha büyük rol oynamaktadır. Her iki durumdan da, düşük ve yüksek bit uzunluklarından, kazanç elde etmek için bir çok Cpu farklı bölümleri için farklı bit genişlikleriyle tasarlanmaktadır. Örneğin, IBM System/370 Cpu’su asıl olarak 32 bit kullanırken, gezer noktası (floating point) içerisinde 128-bit keskinlik kullanarak daha net ve daha geniş gezer nokta sayıları elde etmeyi gerçekleştirmiştir. Bundan sonraki Cpu tasarımlarında da, özellikle işlemcinin genel amaçlı kullanımlarda tam sayı ve gezer nokta yeteneği arasındaki denge makul bir seviyedeyken, karışık bit genişliğini kullanılmıştır.

3.2.Saat Vuruşu Sıklığı
Çoğu Cpu, ve doğal olarak çoğu sıralı mantık aygıtları, senkron yapılardır. Bu yapılar senkron bir sinyalde çalışacak şekilde tasarlanmıştır. Bu sinyale saat sinyali denir ve genelde bir periyodik kare dalga formunda olur. Elektrik sinyallerinin Cpu’nun farklı bölümlerine ulaşabileceği maksimum süreyi hesaplayarak, tasarımcılar bu saat sinyalinin periyodunu uygun olarak seçebilirler.

Kötü durum koşulunda bu periyod, sinyalin ilerleme hızından veya yayılmasından daha uzun olmalıdır. Saat periyodu kötü durum yayılma gecikmesinden yeterince yüksek tutulduğunda, tüm Cpu’nun ve veriyi saat sinyalinin iniş/çıkışları civarında ilerletmesini tasarlamak mümkün olacaktır. Bu durum, Cpu’yu etkili biçimde sadeleştirme avantajını hem dizayn açısından, hem de bileşen sayısı açısından sağlayacaktır. Ancak bunun yanında da, tüm Cpu’nun en yavaş elemanını, diğer bölümler çok daha hızlı çalışabilecekken beklemek zorunda kalması dezavantajını da doğuracaktır. Bu kısıtlama, gelişen Cpu paralleliğinin çeşitli metodları ile telafi edilmektedir.

Mimari geliştirmeler tek başına global senkronize Cpu’ların dezavantajlarını ortadan kaldıramaz. Örneğin, bir saat sinyali, başka elektrik sinyalinin gecikmesine de bağlıdır. Artan kompleks Cpu yapılarında ki yüksek saat hızları, saat sinyalini tüm birim boyunca senkron (aynı fazda) tutmayı zorlaştırır. Bu durum birçok modern Cpu’nun birden fazla eş saat sinyali kullanmasına yol açmıştır; böylece tek sinyalin gecikmesi, Cpu’nun aksamasını engellemiştir. Diğer bir önemli nokta ise, saat hızları arttıkça, Cpu’nun ürettiği ısıda aynı şekilde artmaktadır. Sabit biçimde değişen saat, birçok bileşenin de kullanılmaksızın değişmesine yol açmaktadır. Genel olarak, değişen her bir bileşen, sabit bir bileşenden daha çok enerji tüketmektedir. Bu sebeple, saat hızı arttıkça, ısı dağılması artar, bu da Cpu’da daha etkili soğutma yollarının kullanılmasını gerektirir.

İstenmeyen bileşen geçişini engellemenin bir yolu, saat geçitleme yöntemidir. Bu yöntemle istenmeyen bileşenlere giden saat sinyali kapatılır. Ancak bunu uygulaması zor olduğundan düşük güç tüketimli tasarımların dışında kullanımı pek söz konusu değldir. Global saat sinyaline sahip olan problemlerin çözümünde ki diğer bir yol ise, tüm saat sinyallerinin birden kaldırılmasıdır. Global saat sinyalinin kaldırılması tasarım sürecini oldukça zorlaştırsada, asenkron (veya saatsiz) tasarımlar güç tüketiminde ve ısı dağılımında sahip oldukları büyük avantajları da beraberinde getirmektedirler. Nadir olmakla birlikte, tüm Cpu’ların global saat sinyali içermeden üretildiği de olmuştur. Bunlardan iki önemli örnek vermek gerekirse ARM uyumlu AMULET ve MIPS R3000 uyumlu MiniMIPS’i gösterebiliriz. Bazı Cpu tasarımlarında saat sinyalini tamamiyle çıkarmak yerine, asenkronluk belli bölümlere uygulanmıştır, tıpkı asenkron ALU’ların skalar üstü (superscalar) boruhattı uygulamasıyla birleştirilerek bazı aritmetik performans kazançlarının elde edilmesinde olduğu gibi. Her ne kadar asenkron tasarımların, senkronize karşılıklarından daha iyi bir performans verebileceği çok açık olmasada, baist matemaiksel işlemlerde daha üstün olduğu bir gerçektir. Bu özelliği, mükemmel güç tüketimi ve ısı dağılım özellikleriyle de birleşince, tümleşik bilgisayarlarda kullanılmak için oldukça uygun olduğunu ortaya çıkarmaktadır.

Paralellik
Bir önceki bölümde verilen Cpu’nun esas çalışmasının tanımı, bir Cpu’nun alabileceği en basit şekli tanımlamaktadır. Olağan olarak skalar altı (subscalar) diye temas edilen bu türden Cpu bir seferde bir veya iki parça veri üzerinden verilen komut üzerine çalışmaya başlamakta ve uygulamayı gerçekleştirmektedir.

Bu süreç skalar altı Cpu’da işin özünde bulunan bir yetersizliği ortaya çıkarmaktadır. Bir seferde sadece bir komutun uygulanabilmesi mümkün olduğundan, Cpu’nun tamamı bir sonraki komutu işlemeye başlamadan önce bu ilk komutun tamamlanmasını beklemek zorundadır. Bunun sonucu, skalar altı Cpu uygulamanın tamamlanması için bir saatten fazla çevirimi süren yönergelere “kapalı” kalmaktadır. İkinci bir uygulama biriminin ilave edilmesi bile (aşağıya bakılması), performansı daha fazla iyiye ***ürmemektedir; birden fazla yönergenin kapalı olmasının yerine, şimdi iki yörünge de kapanmakta ve kullanılmayan transistörlerin sayısı artmaktadır. Cpu’nun uygulama kaynaklarının sadece bir seferde verilen komuta göre çalışabilmesinin mümkün olduğu bu tasarım sadece skalar performansı (saat başına bir komut) bir olasılıkla öğretebilir. Bununla birlikte, performans hemen hemen her zaman skalar altıdır (yani çevirim başına bir komuttan daha az).

Skalar ve daha iyi performans gerçekleştirmesi için yapılan girişimler, Cpu’nun daha az doğrusal ve daha fazla paralel olarak davranmasına neden olan tasarım metodolojilerinde çeşitlilik ile sonuçlanmıştır. Cpu’larda paralellikten söz edilirken, bu tasarım tekniklerinin sınıflandırılması için genel olarak iki deyim kullanılmaktadır. Komut düzeyinde paralellik (ILP) bir Cpu içerisinde komutların yerine getirilme hızını artırmayı araştırmakta (yani kalıp üzerinden uygulama kaynaklarının artırılması) ve program düzeyinde paralellik (TLP) bir Cpu’nun aynı anda uygulamaya girişebileceği program sayısının (fiili bireysel programları) arttırmayı amaçlamaktadır. Her bir metodun uygulanma tarzlarından aynı zamanda da bir uygulama için Cpu’nun performansını artırmada sağladıkları göreceli etkinlik bakımından da birbirlerinden fark etmektedir.

ILP (Instruction Level Parallelism): Komut boruhatlaması (Instruction pipelining) ve skalar üstü mimari
Artan ölçülerde parallelik gerçekleştirilmesinde kullanılan en basit yöntemlerden biri bir evvelki komutun uygulanması tamamlanmadan önce getirme (fetching) ve kod çözme (decoding) komutunun ilk aşamalarına başlanmasıdır. Bu, komut boruhatlaması diye bilinen bir tekniğin en basit şeklidir ve hemen hemen bütün çağdaş genel amaçlı Cpu’larda kullanılmaktadır. Boruhatlama, uygulama yörüngesinin birbirinden ayrı aşamalara bölünmesiyle, birden çok sayıda komutun belirli bir zamanda uygulanmasına olanak sağlamaktadır. Bu ayırma, uygulama dizisinden dışarı çıkana ve çekilinceye kadar, her bir aşamada verilen bir komutun daha tam duruma getirildiği bir montaj hattıyla karşılaştırılabilir.

Bununla birlikte, boruhatlama, bir evvelki işlemin sonucuna bir sonraki işlemi tamamlamak için gereksinme olduğu bir durumun olasılığını getirmektedir; böyle bir duruma çoğu kez veriye bağımlılık çatışması denmektedir. Bununla başa çıkılması için, bu türden koşullar için varlığını kontrol etmek için ek dikkat gösterilmesi gerekmekte ve bu çatışma meydana geldiği takdirde komut boruhattının bir kısmı gecikmektedir. Doğal olarak, bunu gerçekleştirilmesi ek devre donanımını gerektirmekte ve böylece boruhatlı işlemciler skalar altı işlemcilerden çok daha karmaşık (her ne kadar bu pek önemli değilse de) olmaktadırlar. Boruhatlı işlemciler hemen hemen skalar olabilir ve sadece boruhattı durmasıyla (bir aşamada bir saatten fazla çevrim harcanmasına neden olan komut) engellenebilir.

İşlemci (CPU),İşlemci Hakkında Herşey,CPU,CPU Hakkında Herşey,CPU nedir,İşemci nedir,İşlemci bölümleri,CPU bölümleri,İşlemci Hakkında,İşlemci hakkında genel bilgiler,CPU genel bilgiler

Genel Yapı


Bir bilgisayarın en popüler ve en önemli parçası işlemcidir. Kısaca CPU (Central Processing Unit / Merkezi İşlem Birimi) olarak anılan işlemciler, adından da anlaşılacağı üzere bir bilgisayardaki işlemleri yürüten ve sonuçları gerekli yerlere gönderen elemandır.
fittinglga775_1.jpg



1971 yılında Intel firmasının ilk defa binlerce transistörü bir silikon çip üzerinde birleştirmesinle bilgisayar çağında devrim gerçekleştirilmiş oldu. Bu şekilde daha önce sadece büyük şirketlerin ve üniversitelerin kullanabildiği bilgisayarlar iyice küçüldü ve evlere girmeye başladı.

Mikroişlemciler, açma kapama anahtarı gibi çalışan milyonlarca transistörden oluşmaktadır. Bu anahtarların programlanma durumuna göre elektrik sinyalleri bunların üzerinden akar. Bu sinyaller, bilgisayarın yaptığı tüm işleri toplama, çıkarma, çarpma ve bölme gibi temel matematiksel işlemlere indirir. İşlemci de bu işlemleri en basit sayma sistemi olan ikilik düzen yani sadece 0 ve 1 sayılarını kullanarak yapar.

Mikroişlemciler her türlü işi ikilik sayma sistemine dökmüştür. Mesela Y harfi ikilik sistemde 1011001 ile ifade edilebildiği gibi kırmızı gibi bir renk de bunun gibi ikilik tabandaki üç ayrı sayı grubu ile ifade edilir. Aynı şekilde bir ses veya görüntü kaydı da yine buna benzer ikilik sayı grupları ile ifade edilirler.

Intel_Itanium.jpg


Bu sayı grupları üzerinde işlem yapmak için işlemci içerisinde bir takım komut listesinden ibaret bir program mevcuttur. Bu komutlar işlemciye iki sayının çıkarılması, toplanması yönünde emir verebildiği gibi klavyeden girilen tercihlere göre bir takım komut satırını atlayıp (şartlı dallanma - conditional branch) diğer komut satırlarını icra etmeye devam edebilir. Yani klavyeden bir soru karşısında gireceğimiz E (evet) veya H (hayır) ifadelerine göre program belirli komut satırlarını icra eder veya etmez. Temel olarak, mikroişlemcinin yaptığı iş, bitler üzerinde işlem yapmak üzere komutları çalıştırmaktır.


Üniteler
diag_r600.png



İşlemci üzerinde komutları icra etme işini uygulama ünitesi (execution unit) ya da fonksiyon ünitesi (function unit) adı verilen üniteler gerçekleştirir. Modern işlemcilerde değişik komut türlerini işletmek üzere birden fazla fonksiyon ünitesi bulunur. Çoğunlukla aritmetik/mantıksal ünite (arithmetic/logic unit) olarak da anılan tamsayı (integer) üniteleri tam sayılar ile ilgili işlemleri yapar. Kayan nokta ünitesi (FPU-Floating Point Unit) ise 5,21 gibi küsuratlı sayılarla ilgili işlemleri yapar. Bir mikroişlemcide ne kadar fazla fonksiyon ünitesi varsa aynı anda çalışabilecek komut sayısı da o kadar artar.

Register seti


cpu-z.JPG


Registerler, işlem anında bir program tarafından kullanılmakta olan sayıların saklandığı geçici hafıza hücreleridir. Farklı komut ve register setlerine sahip olan işlemciler birbirlerinin yazılımlarını çalıştıramazlar.



Mimari
gigabyte7tesnrnboard011kc2.jpg



Mikroişlemciler mimari (architecture) olarak gruplara ayrılırlar. Ortak mimariye sahip olan işlemciler aynı komutları tanımakta ve aynı yazılımları çalıştırabilmektedirler.

L_Intel-FV524RX366%20(bottom).jpg



En meşhur mikroişlemci mimari si Intel'in x86 işlemcisidir. Intel ilk x86 tabanlı işlemcisini 8086 olarak 1978 yılında piyasaya sürdü. Daha sonraki yıllarda yeni nesil x86 tabanlı işlemciler çıkarıldı. 286,386,486, Pentium ve Pentium Pro olarak bu kuşakları görebilmekteyiz. Pentium II, Celeron, Pentium III, Xeon ve Katmai, altıncı kuşak Pentium Pro'nun varyasyonlarıdır.

L_Intel-GJ80521EX200%20(1M%20ES).jpg


Intel'in haricindeki diğer mimariler ise şunlardır: Modern Machintosh'larda bulunan PowerPC, eski Mac'lerdeki 68oxo serisi, Digital ve Compaq'ın güçlü serverlerinde kullanılan Alpha ailesi, Silicon Grahics'in Mips Rxooo serisi, Hawlett-Packard'ın PARISC'i ve Sun Microsystems'e ait SPARC'tır.

Mimariler, ortaya çıktıkları dönemin felsefesine göre dizayn edilirler. 1970'lerde veri saklama cihazları ve hafıza bu güne göre çok kısıtlıydı. Bu kaynakları tasarruflu bir şekilde kullanabilmek için Intel x86 tabanlı işlemcilerde CISC (Complex Instruction Set Computing - Karmaşık komut seti ile hesaplama) diye bilinen bir mimari kullandı. CISC'ın karakteristik iki özelliği, değişken uzunluktaki komutlar ve karmaşık komutlardır. Değişken uzunluktaki komutlar hafıza tasarrufu sağlar. Çünkü basit komutlar karmaşık komutlardan daha kısadır. Karmaşık komutlar da iki ya da daha fazla komutu tek bir komut haline getirdikleri için hem hafızadan hem de programda yer alması gereken komut sayısından tasarruf sağlar.

İlerleyen yıllarda CISC'in kısıtlamaları ve hafızayı tasarruflu kullanmanın önemini yitirmesi neticesinde CISC'a rakip olarak RISC (Reduced Instruction Set Computing - daraltılmış komut seti ile hesaplama) ortaya çıktı.

RISCvsCISC.gif


RISC'ın komutlarının uzunluğu sabittir (genelde de 32 bit'tir) ve her bir komut basit bir işlemi yerine getirir. Bir RISC çipi bu iki karakteristik özelliği sayesinde, fetch (komutu hafızadan taşıma), decode (komutun anlamını çözme) ve komutu çalıştırma işlemlerini daha kolay bir şekilde yapabilir. RISC'ın bir dezavantajı kodun uzamasıdır. Tüm komutlar gerek olsun olmasın 32 bitliktir. Dolayısıyla RISC programları CISC programlarından daha fazla hafıza gerektirebilirler. Buna rağmen decode aşamasının CISC'e göre daha hızlı gerçekleşmesine ek olarak, çoğu RISC komutları sabit bir zaman diliminde işlem görür. Bu da superscalar pipelining teknolojisi kullanan modern işlemciler için önemli bir özelliktir.



Pipelining
pipelining.6.2.png



Pipelining , tıpkı bir fabrikadaki seri üretim bandı gibi çalışır. Bir fonksiyon ünitesi, her komutun işletilmesini aşamalarına ayırır. Basit bir pipeline'de beş ya da altı aşama olabilir. Bir superpipeline'da ise 10 ya da daha fazla aşama olabilir. Böyle bir pipeline'dan aynı anda birkaç komut birden akabilir. Her komut da ayrı bir aşamada işlem görmekte olabilir. Superscalar bir işlemcide her birisinin kendisine ait pipeline'ı olan iki ya da daha fazla fonksiyon ünitesi yer alabilir. Böyle bir işlemci birkaç komutu birden paralel olarak işletebilir.



RISC bu tekniğe daha da elverişlidir. Çünkü basitleştirilmiş komutlar pipeline'lardan daha pürüzsüz bir şekilde akarlar ve CISC komutlarının neden olabildiği tıkanmalara maruz kalmazlar.



Cache

ms978759.Des_PageCache_Fig01(en-us,MSDN.10).gif


Cache , çalışmakta olan bir programa ait komutların geçici olarak saklandığı bir hafızadır. Cache hafızalar, işlemcinin komutları daha hızlı yüklemesini sağlayan yüksek hızlı hafızalardır.


Cache hafızlar, Level 1 (L1) ve Level 2 (L2) olmak üzere ikiye ayrılırlar. İşlemci ihtiyaç duyduğu komutu ilk önce L1 cache hafızada arar. Eğer işlemcinin aradığı komut burada yoksa L2 cache hafızaya bakılır. Eğer burada da yoksa (cache miss durumu) sırayla, RAM ve HDD üzerindeki sanal hafıza üzerinde arar. L1 cache hafıza bunlar içerisinde en hızlı olanıdır ve genellikle işlemcinin üzerine imal edilir.



L2 cache hafıza ise L1 e göre daha yavaş olmasına rağmen gene de hızı çok yüksektir. Bir kısım işlemcilerde (Celeronların ilk nesillerinde olduğu gibi) L2 cache hafıza bulmayabilmektedir. Bu durumda L1 cache hafızaya sığmayan komutlar L2 olmadığı için direkt olarak daha yavaş olan RAM a yazılmakta ve işlemcinin performansı düşmektedir. L2 cache hafıza genelde işlemcinin yakınındaki yüksek hızlı hafıza çiplerinden oluşur. Bazı yeni işlemcilerde (Celeron 300A ve sonrası gibi) L2 cache hafıza işlemcinin içine monte edilmiş ve daha hızlı erişim sağlanmıştır.



Dünden bugüne x86 işlemciler

piiicinteltarihpo7.jpg



8086/8088


Intel, 16 bitlik 8086 işlemcisini 1978 yılında piyasaya sürdü. Yüksek seviyeli programlama dillerine ve daha etkin işletim sistemlerine sahip ilk işlemci olan 8086, IBM uyumlu sistemlerin temelini oluşturdu. Arkasından çıkan 8088 işlemci ile IBM ilk kişisel bilgisayarı (PC) piyasaya sürdü. Bu ilk PC'nin 16K hafizası, grafik özelliği olmayan ekranı ve bir teyp bandı sürücüsü vardı.
8086_8088.jpg



Bu ilk işlemci dış veriyolu olarak 8 biti destekliyordu ve 4.77 MHz saat hızında çalışmaktaydı.



80286
Intel%2080386.jpg

Kısa bir süre sonra Intel, 80286 işlemcisini çıkartarak PC performansını yeni bir seviyeye yükseltti. 80286 işlemci 16 bit veriyolunu hem içte hem de dışta kullanabiliyordu. Bu da kendinden önceki işlemcilerden çok daha fazla ilgi görmesine sebep oldu ve artık PC'ler için daha güçlü yazılımlar üretilmeye başlandı.

80386




Intel'in bir kuşak sonraki işlemcisi olan 80386 işlemcisi PC dünyasına büyük değişiklikler getirdi. SX ve DX modelleri olan bu işlemcinin en büyük özelliği 32 bit bir işlemci olmasıydı. 286'lardaki veri yolunun iki katına çıkartılması PC'lerde grafik işlemlerini artırdı. Ayrıca saat hızının 16 MHz'den 33 ve 40 MHz'e çıkartılması işlemleri daha da hızlandırdı.



i486

L_Intel-A80486DX-33%20(no%20DX%20logo).jpg


Intel Nisan 1989 yılında i486 işlemciyi piyasaya sürdü. i486 işlemcisi entegre bir chiptir. Bu chip dört farklı işlev grubunu (asıl CPU'yu, bir matematik yardımcı işlemcisini, bir önbellek denetleyicisini ve DX/DX2 modellerinde bir adet genel önbellek, DX4 modellerinde ise iki adet ayrık 8K önbelleği) bir bileşende birleştirmektedir. i486 hem içten hem de dıştan 32-bit yapı kullanır. Saat hızı olarak da 100 MHz'e ulaşmıştır.



Pentium

i486 işlemcilerin hızla yaygınlaştığı bir dönemde Intel P5 kod adıyla tasarladığı yeni işlemci ailesini Pentium adıyla piyasaya sürdü. Dış veriyolu 64-bit iç veriyolu ise 256-bit olan bu işlemci iki adet ayrık 8K'lık önbelleğe sahiptir. Pentium işlemci 486'lardan farklı olarak iki adet tamsayı işlemcisine sahiptir. Kayan nokta işlemcisi de iyice geliştirilmiştir.

intel_486dx250.jpg


Ayrıca 486 işlemcilerde olmayan Branch Protection (dallanma tahmini) teknolojisi kullanılmıştır. Bu teknoloji, program sırasında işletilecek olan dallanma (jump) komutlarının dallanacağı tahmin edilen kod kümelerinin daha hızlı erişilen bir ortama kopyalayarak işlenmeye başlanmasına dayanır. Bu şekilde %25 oranında performans artışı sağlanır.

intel-dunnington-600.jpg



Pentium işlemciler 0.28 mikronluk BICMOS ve CMOS teknolojisi ile üretilmişlerdir. 60 MHz, 75 MHz, 90 MHz, 100 MHz, 120 MHz, 133 MHz, 166 MHz, 200 MHz ve 233 MHz saat hızında üretilmişlerdir.



Pentium Pro


L_Intel-GJ80521EX200%20(1M%20ES).jpg

Pentium işlemcilerin yaklaşık iki katı işlemci gücüne sahip olan bu işlemcilerde 5.5 - 6.1 milyon arasında transistör kullanılmıştır. +2.9V besleme gerilimi ile çalışan bu işlemci 166 MHz, 200 MHz, 233 MHz ve 266 MHz saat hızlarında üretilmişlerdir. Bu işlemci daha çok server bilgisayarlar için tasarlanmıştır ve x86 tabanındaki işlemciler için yazılmış tüm yazılımları desteklemektedir.

Pentium Pro öncelikle 32 bitlik programlara ihtiyaç duyar. Bu sebeple işlemcinin tam performansla çalışabilmesi için Windows NT gibi gerçek 32 bitlik işletim sistemi kullanılmalıdır.



MMX Teknolojisi

intel-pentium-chip-with-mmx-289-75.jpg


Intel, 1997'nin başlarında Pentium MMX işlemciyi piyasaya sürerek Pentium tasarımına yeni bir boyut kazandırdı. Multi Media Extension'ın kısaltılmışı olan MMX , Pentium işlemcisine 57 adet yeni komutun eklenmesiyle oluşmuş bir işlemcidir. Yani birkaç komutun yaptığı bazı işlemler tek komutta toplanmıştır. Single Instruction - Multiple Data -SIMD (Tek Komut - Çoklu Veri) teknolojisinin kullanıldığı bu işlemcilerde tek bir komutun getirdiği bir çok işlem paralel olarak bir arada yapılabilmektedir.

intels7pentium166mmx8sx.jpg


Bu işlemcilerde multimedya için komut setinin genişletilmesiyle birlikte L1 önbellek kapasitesi de 32 KB'a yani iki katına çıkartılmıştır. İşlem performansı söz konusu olduğunda MMX işlemcilerin verimliliği tartışılmaz. MMX işlemcilerin hızlı olmasındaki en büyük faktör önbelleğin büyüklüğüdür. Ayrıca MMX işlemcilerde besleme gerilimi 5V veya 3.2V'tan 2.8V'a düşürülerek işlemci çekirdeğindeki kayıp performans düşürüldü. Bu sayede yüksek saat hızına rağmen işlemci daha az ısınmaktadır.



Pentium II

PII_Slot1.jpg


MMX teknoloji ile yakaladığı performansı Pentium Pro ile birleştiren Intel Pentium II işlemcileri piyasaya sürdü. Pentium II işlemciler hem yapı olarak hem de fiziki olarak önceki işlemcilerden farklılıklar taşımaktadır. Önceki işlemcilerde Soket 7 yi kullanan Intel Pentium II ile birlikte SEC (Single Edge Contact) adını verdiği ve Slot 1'e girecek yapıda bir dizayn kullandı.

L_Intel-80522PX300512EC%20(top).jpg


Pentium II ailesinin ilk modeli 233 MHz hızında üretildi. Arkasından 266 MHz, 300 MHz ve 333 MHz modelleri geldi. Intel bu aşamadan sonra 66 MHz'lik veri yolunun yanında 100 MHz'lik veri yolunu da kullanmaya başladı ve daha sonra çıkan işlemciler 350 MHz, 400 MHz ve 450 MHz olarak çıktı.

Pentium II'lerin yapılarındaki ve veriyolu hızlarındaki bu değişiklikler beraberinde anakartların da çeşidini artırdı. 66 MHz veri yolunu kullanan Pentium II'ler için 440LX chip set kullanan anakartlar üretildi. Arkasından 100 MHz veri yolu kullanan işlemciler için 440BX chip setli (aynı zamanda 66 MHz veri yolunu da destekler) anakartlar üretildi.

Pentium_II.png


Pentium II ailesinin son ferdi olan 450 MHz den sonra Pentium III'ler piyasaya sürüldü.



Celeron

Intel-Celeron-Dual-Core-CP2.jpg


Daha çok iş istasyonları ve CAD/CAM gibi geniş uygulamalar için tasarlanan Pentium II'ler son kullanıcılar için pahalı gelmekteydi. Bu durumu değerlendiren Intel, son kullanıcılara yönelik yeni bir işlemci piyasaya sürdü. Celeron ismini verdiği bu işlemcilerin Pentium II'den en büyük farkı L2 ön belleğinin olmamasıydı.

celeron440_large.jpg


Bu serinin ilk ferdi 266 MHz olarak tasarlanmıştır. L2 ön belleği olmayan Celeronlar Pentium Pro ile aynı performansı göstermektedir. 266 MHz işlemcinin arkasından yine L2 önbelleği olmayan Celeron 300 üretildi.

L_Intel-2.40GHZ-256-533%20(SL87J).jpg


İlk nesil Celeron işlemcilerin fiyatı çok cazip olmasına rağmen önbellek gerektiren uygulamalarda yetersiz kalması bu işlemcilere ilgiyi azalttı. Bu sırada Intel yine bir atak yaparak 128KB L2 önbelleğe sahip Celeron 300A işlemcisini üretti. Arkasından gelen 333 MHz, 366 MHz, 400 MHz, 433 MHz ve 466 MHz işlemciler 128 KB önbellek geleneğini devam ettirdiler.

L_Intel-Celeron300A-66%20(front).jpg


Celeron işlemciler 333 MHz'e kadar Slot-1 yapısında üretilirken bundan sonra Soket-370 yapısında üretilmiştir.


Intel_Celeron_FV524RX366_Q921ES.jpg

Bu işlemciler 0.25 mikron CMOS teknolojisi ile imal edilmişlerdir. Önbellek içermeyen Celeron işlemcilerde 7.5 milyon transistör varken önbellek içeren işlemcilerde 19 milyon transistör olduğunu görmekteyiz.
Intel%20celeron%20at%208%20ghz%2002.png



Celeron'ların içerdiği 128 KB önbellek işlemcinin içerisindedir ve çekirdek ile aynı hızda çalışırlar. Bu, Celeron işlemcilerin daha kolay overclock edilmelerini sağlar. Ancak Pentium II'ler her zaman Celeron'lara göre daha üstündürler. Çünkü daha önce de belirttiğimiz gibi Celeron'lar son kullanıcılar için, Pentium II'ler ise daha kapsamlı işler için tasarlanmıştır.


Pentium III
L_Intel-600EB-256-133-1.65V%20(FC-PGA).jpg



Katmai olarak isimlendirilen çekirdekle tasarlanan işlemci, beraberinde bir çok yenilikler de getirdi. Daha önce MMX işlemcilerde gördüğümüz (fakat onlardan çok daha karışık) şekilde 70 adet yeni komutla gelen bu işlemcinin asıl performansı temel yapısındaki değişiklik olmadığı için hemen birden bire bilgisayarımızda bir performans artışı gözlenememektedir. Intel, Pentium III'te de Pentium Pro'dan beri iyileştirilerek kullanılagelen çekirdek kısmı kullanılmıştır.
Intel_Pentium_III_1000_256_133_17V_SL4C8_MALAY_g.jpg



İşlemciye 70 adet yeni komut eklenmiş ve bu komutları kullanan birimlerde değişiklikler yapılmıştır. Bu komutlar MMX'teki gibi belli bir konuya mahsus komut değillerdir ve üç ana başlık altında toplanırlar.

intel_pentium_iii_processzor-126.jpg


Intel'in SIMD (Single Instruction, Multiple Data Parallelism - Çoklu Veri Paralelliği Sağlayan Tek Çevrimli Komutlar) genişletmeleri olarak adlandırdığı bu komutlar işlemci içinde farklı çalıştırma birimlerinde işletilirler. Bu komutlardan ilk 50'si FPU (Floating Point Unit - Matematik İşlem Birimi) içerisinde işlenir. Bu şekilde SIMD FPU komutları normalde onlarca saat çevriminde halledilebilecek 32-bitlik çarpımları tek bir saat çevriminde yapabilmekte ve bu komutlarda aynı anda 4 tanesi birden işletilebilmektedir. Bu sayede 3 boyutla ilgili hesapların yapılma süresi ve MPEG-1 ve MPEG-2 kodlarının çözümleri daha kısa zamanda yapılabilmektedir.
tusl2c-board.jpg



Bu komutlarla birlikte işlemciye eklenmiş diğer yapısal bir değişiklik de 8 adet yeni registerdir. Bu yeni registerlar işlemcide yeni SIMD FPU komutları tarafından kullanılmak üzere yer alıyorlar. Registerlar 128-bit'lik bir genişliğe sahiptir. Bu sayede birden çok (dörde kadar) FP ucu bir register'a yüklenebiliyor ya da SIMD komutları bu registerlarda saklanabiliyor. Bu şekilde Intel, RISC işlemcilere göre en büyük eksiklik olan register sayısının azlığını yavaş yavaş kapamaya başladı.

P3-slot.jpg


Pentium III işlemcilere eklenen komutlardan 12 tanesi yeni medya komutları olarak adlandırılarak MMX ünitesince değerlendirilmektedir. Daha hızlı işlenen iki boyutlu grafikler ile video oynatımı, MPEG çözümünde extra hız, codeclerin kullanılmasında kolaylık ve daha hızlı istatistiki bilgi kullanılması mümkün olmaktadır.

WCP6057.JPG


Diğer 8 adet komut ise Pentium III'ün dış dünya ile konuşmasını sağlayan bus kontrolörüne eklenmiştir. Bu komutlar sayesinde daha büyük 3D veri tabanlarının kullanım hızını, düzgün video akışını ve performansı düşüren hafıza ıskaları konularında işlemler olur.

Daha önce de bahsettiğimiz gibi Pentium II'nin önbelleği işlemci hızının yarı hızında çalışmaktaydı. Bu durum Pentium III'de de devam etmiştir ve bu durum performansı bir miktar düşürmektedir. Pentium III'lerin yeni çıkan bazı modellerinde cache bellek 256 KB'a düşürülmüş ve çekirdek içerisine konarak işlemci ile aynı hızda çalışması sağlanmıştır. Bu modellerin sonuna E harfi konmaktadır.Ayrıca normalde 100 MHz veriyolu hızında çalışan Pentium III işlemcilerin yine yeni çıkan modelleri 133 MHz hızında çalışmaktadır. Bu modellerin sonuna da B harfi eklenmektedir. Mesela Pentium III 600EB işlemcisi 133 MHz hızında çalışan ve 256 KB cache belleğe sahip bir işlemcidir.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.