Merkezî işlem birimi (Türkçe kısaltması MİB, İngilizce: Central Process Unit ya da kısaca CPU), (dijital) bilgisayarların veri işleyen ve yazılım komutlarını gerçekleştiren bölümüdür. Çalıştırılmakta olan yazılımın içinde bulunan komutları işler. Mikroişlemciler ise tek bir yonga içine yerleştirilmiş bir merkezî işlem birimidir. 1970'lerin ortasından itibaren gelişen mikroişlemciler ve bunların kullanımı, günümüzde MİB teriminin genel olarak mikroişlemciler yerine de kullanılması sonucunu doğurmuştur.
Intel 80486DX2 mikroişlemcisi. (Alttan görünüm) | |
Diğer adı | CPU, MIB |
---|---|
Geliştirici(ler) | ENIAC |
(ler) | Intel, AMD ... |
Tip | Bilgisayar parçası |
Çıkış tarihi | 1970 - 1980 |
Merkezî işlem birimi aritmetik ve mantıksal işlem yapma yeteneğine sahiptir. Giriş ve çıkış birimleri arasında verilen yazılım ile uygun çalışmayı sağlar. MİB, makine dili denilen düşük seviyeli kodlama sistemi ile çalışır; bu kodlama sistemi bilgisayarın algılayabileceği işlem kodlarından oluşur. Bir mikroişlemcinin algılayabileceği kodların tamamına o işlemcinin komut kümesi denir.
Merkezî işlem birimi aritmetik ve mantıksal işlemleri Aritmetik Mantık Birimi (AMB) aracılığıyla yapar. Bunun dışında virgüllü sayılarla daha rahat hesap yapabilmesi için bir Kayan Nokta işlem birimi (FPU) vardır. Mikroişlemcinin içerisinde bulunan küçük veri saklama alanlarına yazmaç denir.
İlk Merkezî İşlem Birim'leri (MİB) daha büyük,bazen türünün tek örneği bilgisayarlar için özel olarak tasarlanmışlardı. Ancak belirli bir uygulama için özel MİB tasarımının masraflı olması bir veya birçok amaç için yapılan kitlesel olarak üretilmiş işlemcilerin gelişmesine yol açtı. Bu standartlaşma eğilimi ayrık transistörlü ana sistemler ve mini bilgisayarlar döneminde başladı ve entegre devrelerin (ED) popülerleşmesiyle giderek hız kazandı. ED, giderek daha karmaşık ve nanometre ile ölçülebilecek MİB'lerin tasarlanmasına ve üretilmesine olanak verdi. MİB'lerin küçülmesi ve standartlaşması, modern hayatta dijital cihazların varlığını ilk bilgisayar örneklerinin sınırlı uygulamalarının çok ötesinde arttırdı.
Tarihçe
İ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 mini-bilgisayarların ortaya çıkışına dayanmaktadır. tümleşik devrelerin yayılmasıyla da hız kazanmıştır. Tümleşik devreler, işlemcilerin daha kompleks olarak tasarlanmasına 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ı...).
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. MİB kelimesi genel olarak yazılım (bilgisayar programı) uygulama aracı olarak tanımlandığından, gerçek anlamda MİB'lerin oluşumu kayıtlı-program bilgisayarların gelişimi ile ortaya çıkmıştır.
Kayıtlı-program bilgisayar fikri ENIAC tasarımı esnasında mevcut olmasına rağmen, bu fikir makinenin 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österilse de ondan önce de (örneğin Konrad Zuse’nin) benzer fikirler vardı. Ayrıca, EDVAC’tan önce tamamlanan Harvard Mark 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 MİB'ler temel olarak von Neumann tasarımı olsa da, Harvard mimarisinden de özellikler göze çarpmaktadır.
olmalarından ötürü, tüm MİB’ler 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, tamamıyla ç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 MİB’in teşhis edilmesi gerekmekteydi. Bu yüzden 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ı MİB’ler hız avantajının arızalanma sorunundan daha ağır basmasından dolayı daha yaygın hale geldiler. Bu eski senkron MİB ç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ı için, o zamanlar 100 kHz ile 4 MHz arasında değişen saat sinyal frekans değerleri oldukça yaygındı.
Ayrık transistör
Çeşitli teknolojilerin daha küçük ve daha güvenilir elektronik aygıtlar üretmeye başlamasıyla MİB 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 MİB’lerın transistörlere geçişi ile vakum tüpü ve elektriksel röle gibi güvensiz ve kırılgan geçiş elementleri 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 MİB’ler 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, kapıları gibi sadece belli basit dijital devre tipleri tümleşik devreler üzerine minyatürleştirildi. MİB’lerı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 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 MİB’i 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ıları yüzler ve onbinler seviyesine kadar arttı.
1964 senesinde IBM, birkaç seri bilgisayarda kullanılan ve aynı programları değişik hız ve performans değerleriyle yürütebilen 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 mikro-program (veya mikro-kod) konseptini kullanmaya başladı, ki bu konsept modern MİB’lerı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 gibi benzer modern bilgisayarlarda kullanılır hale getirecek 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 MİB’e 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 MİB ç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üresindeki belirgin hız artışı sayesinde, MİB’lerin saat hızlarında MHz'in on katları seviyesine erişildi. Ek olarak, ayrık transistör ve tümleşik devre MİB’leri sık kullanımda iken, (Tek Komut Çoklu Data) vektör işlemcileri gibi yeni yüksek performans tasarımlar ortaya çıkmaya başladı. Başlarda deneysel tasarım olan bu sistemler, daha sonraları ise gibi firmalar tarafından üretilmiş, uzmanlaşmış süper bilgisayarların çağına adım atılmasını sağlayacaktı.
Mikroişlemciler
Mikroişlemcilerin 1970'lerde ortaya çıkması, MİB 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 MİB'ler, merkez işlem birimini yürütme metotlarını tamamıyla ele geçirmiş oldu. O zamanki 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 MİB kelimesi genel olarak mikroişlemciler için de kullanılmaya başlandı.
Önceki nesil MİB’ler ayrık parçalardan ve pek çok küçük tümleşik devrelerin bir veya birden çok devre kartlarında bulunmasıyla gerçekleştiriliyordu. Mikroişlemciler ise, MİB’lerin çok az sayıda (genellikle bir) tümleşik devre üzerinde üretiminden oluşuyordu. MİB’lerin 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 sayede de 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ştirilmedeki artış, tek bir MİB’de sahip olunan transistör sayısını ve karmaşıklığı da artırdı. Bu geniş gözlem, ile tanımlanmıştır ve bu kuralın MİB'deki kompleks yapının zamana bağlı olarak artışının oldukça keskin bir tahminini yapabildiği ispatlanmıştır.
Her ne kadar MİB’in karmaşıklığı, ebatları, tasarımı ve genel şekli fazlasıyla değişmiş olsa da temel yapısının ve fonksiyonunun değişmediği görülmektedir. Günümüzde yaklaşık her MİB von Neumann kayıtlı-program makineleri olarak adlandırılabilir.
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 çıkabilecek elektron göçü ve eşikaltı voltajı durumları önemsenecek boyutlara gelmeye başladı. Bu tip endişeler, araştırmacıları yeni metotlar aramaya (quantum bilgisayarı, paralelliğin kullanımının gelişimi) yöneltti.
MİB İşletimi
Çoğu MİB’nin 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 MİB’leri 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ı, MİB'nin o andaki programın hangi kısmında olduğunun yerini tutmaktadır. Bir komut alındıktan sonra 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 MİB'nin komutun geri dönmesini beklerken zaman kazanması sağlanır. Bu konu modern işlemcilerde bellekler ve boru hattı mimarilerinde geniş olarak incelenmektedir.
Kod çözme (decode)
MİB'nin bellekten getirdiği komut, MİB'nin ne yapacağını belirlemede kullanılır. İşte bu kodçözme evresinde, komut MİB'deki önem oranına göre parçalara ayrılır. Sayısal kodun değerinin yorumlanması, MİB'nin komut set mimarisi (Instruction Set Architecture) ile tanımlanır. Genelde, komuttaki sayiların bir grubu, işlem kodu, 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, bazen de bir değeri gösterecek yer olarak (yazmaç veya bellek adresi) olarak verilebilir. Eski tasarımlarda, MİB'nin komut çözme işinde sahip olduğu kısımlar değiştirilemez donanımsal parçalardı. Ancak MİB'lerin ve ISA’ların gelişmesiyle, kodun çözümünde ve gerekli ayarların yapılmasında MİB'ye yardımcı olan mikroprogramlar kullanılmaya başlandı. Bu mikroprogramlar, MİB'nin 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 MİB'nin birçok kısmı bağlı haldedir. Örneğin, bir toplama işlemi istendiğinde, aritmetik ve mantık birimi (Arithmetic Logic Unit) bir kısım giriş ve çıkışlara bağlı olacaktır. Girişler toplamada kullanılacak sayıları içerirken, çıkışlar ise sonuç 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 MİB'nin gerçekleştirebileceğinden çok büyük sonuçlar üretiyorsa, bayrak yazmaçlarındaki aritmetik 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 MİB'nin 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ı direkt 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şidi, 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ılabilir.
Yürütme ve geri yazma evresinden sonra, tüm işlemler tekrarlanır. Bir sonraki komut program sayacının önceden 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. Burada bahsettiğimiz MİB'lerden 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 MİB kullanılmaktadır.
Kontrol birimi olan MİB, içinde elektrik sinyalini direkt bilgisayar sistemine taşınmasını ve kaydedilmesini sağlayan bir döngü sistemine sahiptir. Kontrol ünitesi program direktiflerin çalıştırmaz, bunun yerine sistemin diğer parçalarını bunu yapması için yönetir. Kontrol ünitesi hem aritmetik/logic ünitesi hem de hafıza ile iletişim kurmalıdır.
Tasarım ve Uygulama
Tam Sayı Aralığı
MİB'nin 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ışındaki birkaç model ise üçlü sayı sistemini kullanmıştır. Günümüz MİB'lerinı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, MİB'nin gösterebileceği sayilarin büyüklüğü ve doğruluğu ile ilişkilidir. İkili sayı kullanan bir MİB'de, MİB'nin ilgilendiği sayilardaki tek bir yerin adına bit denmektedir. MİB'nin 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ı MİB'nin farklı bölümlerinde de bu farklılığı gösterir. Örneğin 8-bit bir MİB, 28 veya 256 ayrı sayı aralığıyla ilgilenmektedir. Bu tam sayı büyüklüğü, bir MİB'nin 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ığı, MİB'nin adres belirlerken bellekte kullanabileceği yer sayısını da doğrudan etkileyebilir. Örneğin, eğer bir MİB bellek adresini gösterirken 32 bit kullanıyorsa ve her bellek adresi bir sekizli(8 bit) ile gösteriliyorsa, bu durumda MİB'nin erişebileceği maksimum adres değeri 232 sekizlisi veya 4 GiB dir. Bu akış açısı MİB “Adres Uzayı”’na oldukça basit bir bakış açısıdır ve birçok dizayn daha kompleks adres metotları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 sebeple 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) MİB'ler 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 MİB farklı bölümleri için farklı bit genişlikleriyle tasarlanmaktadır. Örneğin, IBM System/370 MİB'si 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 MİB 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.
Saat Vuruşu Sıklığı
Çoğu MİB 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 MİB'nin 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 periyot, 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 MİB'nin ve veriyi saat sinyalinin iniş/çıkışları civarında ilerletmesini tasarlamak mümkün olacaktır. Bu durum, MİB'yi 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 MİB'nin 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 MİB paralleliğinin çeşitli metotları ile telafi edilmektedir.
Mimari geliştirmeler tek başına global senkronize MİB'lerin dezavantajlarını ortadan kaldıramaz. Örneğin, bir saat sinyali, başka elektrik sinyalinin gecikmesine de bağlıdır. Artan kompleks MİB yapılarındaki yüksek saat hızları, saat sinyalini tüm birim boyunca senkron (aynı fazda) tutmayı zorlaştırır. Bu durum birçok modern MİB'nin birden fazla eş saat sinyali kullanmasına yol açmıştır; böylece tek sinyalin gecikmesi, MİB'nin aksamasını engellemiştir. Diğer bir önemli nokta ise, saat hızları arttıkça, MİB'nin ü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 MİB'de 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ündeki 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 MİB'lerin 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ı MİB tasarımlarında saat sinyalini tamamıyla çı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 olmasa da, 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 MİB'nin esas çalışmasının tanımı, bir MİB'nin alabileceği en basit şekli tanımlamaktadır. Olağan olarak skalar altı (subscalar) diye temas edilen bu türden MİB 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ı MİB'de işin özünde bulunan bir yetersizliği ortaya çıkarmaktadır. Bir seferde sadece bir komutun uygulanabilmesi mümkün olduğundan, MİB'nin tamamı bir sonraki komutu işlemeye başlamadan önce bu ilk komutun tamamlanmasını beklemek zorundadır. Bunun sonucu, skalar altı MİB 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 götü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. MİB'nin 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, MİB'nin daha az doğrusal ve daha fazla paralel olarak davranmasına neden olan tasarım metodolojilerinde çeşitlilik ile sonuçlanmıştır. MİB'lerde 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 MİB 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 MİB'nin 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 MİB'nin 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ı MİB'lerde 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.
Performans
Bir işlemcinin performansı ve hızı, o işlemcinin saat vurum sıklığına ve saniye başına komut (IPS) sayısına bağlıdır. Saniye başına komut sayısı arttıkça işlemcinin performansı ve hızı da artar. Ayrıca çok çekirdekli işlemcilerden daha fazla performans elde edilir.
Birçok bildirilmiş IPS değerleri birkaç şubesi bulunan yapay talimat dizilerinde zirve yürütme oranları temsil etmiştir, oysa gerçekçi iş yükleri bazıları diğerlerinden daha uzun çalıştırmak için karıştırılmış talimatları ve uygulamaları içerir. Bellek hiyerarşisi performansı MIPS hesaplamalarında ancak dikkate alınan bir sorun olan işlemci performansını oldukça etkiler. Bu problemlerden ötürü, SPECint gibi çeşitli standartlaşmış testler yaygın olarak kullanılan uygulamalar reel efektif performansını ölçmek girişimi için geliştirilmiştir.
CPU ve RAM Bir bilgisayarın işlem performansı çok çekirdekli işlemci (iki ya da daha çok işlemcinin bir bütünleşmiş devrede birleştirilmesi) kullanılarak arttırılabilir. Çift çekirdekli bir işlemci tek çekirdekli bir işlemcinin neredeyse iki katı kadar güçlü olur. Ancak pratikte güç kazancı kusurlu yazılım algoritmaları ve uygulamaları nedeniyle yüzde elli civarındadır.
Çekirdek Sayısı ile İş Parçacığı Sayısının Karıştırılması
Çekirdek sayısı; tek bir bilgi işlem bileşenindeki (yonga ya da çip) bağımsız merkezî işlem birimi sayısını belirten donanım terimidir. İş parçacığı sayısı ile karıştırılmaktadır. Bazen pazarlamacılar tek çekirdekli iki iş parçacıklı işlemcileri "çift çekirdekli" diye tanıtabilmektedir.
Kaynakça
Dış bağlantılar
Wikimedia Commons'ta Central processing units ile ilgili ortam dosyaları bulunmaktadır. |
- Mikroişlemci üreticileri
- Advanced Micro Devices7 Nisan 2007 tarihinde Wayback Machine sitesinde . - Advanced Micro Devices, a designer of primarily x86-compatible personal computer CPUs.
- ARM Ltd15 Nisan 2018 tarihinde Wayback Machine sitesinde . - , one of the few CPU designers that profits solely by licensing their designs rather than manufacturing them. ARM architecture microprocessors are among the most popular in the world for embedded applications.
- Freescale Semiconductor15 Ocak 2013 tarihinde Wayback Machine sitesinde . (formerly of Motorola) - Freescale Semiconductor, designer of several embedded and PowerPC based processors.
- IBM Microelectronics29 Ağustos 2007 tarihinde Wayback Machine sitesinde . - Microelectronics division of IBM, which is responsible for many ve PowerPC based designs, including many of the CPUs utilized in late .
- Intel Corp14 Mart 2009 tarihinde Wayback Machine sitesinde . - Intel, a maker of several notable CPU lines, including IA-32 ve IA-64. Also a producer of various peripheral chips for use with their CPUs.
- Microchip Technology Inc.9 Şubat 2011 tarihinde Wayback Machine sitesinde . - , developers of the 8 and 16-bit short pipleine RISC ve microcontrollers.
- MIPS Technologies20 Ağustos 2006 tarihinde Wayback Machine sitesinde . - MIPS Technologies, developers of the , a pioneer in RISC designs.
- - , developers of the , , and .
- Sun Microsystems30 Haziran 2006 tarihinde Wayback Machine sitesinde . - Sun Microsystems, developers of the SPARC architecture, a RISC design.
- Texas Instruments[] - Texas Instruments semiconductor division. Designs and manufactures several types of low-power microcontrollers among their many other semiconductor products.
- Transmeta16 Ocak 2009 tarihinde Wayback Machine sitesinde . - Corporation. Creators of low-power x86 compatibles like ve .
- VIA Technologies 28 Eylül 2007 tarihinde Wayback Machine sitesinde . - Taiwanese maker of low-power x86-compatible CPUs.
- Konuyla ilgili yayınlarlar
- 25 Microchips that shook the world5 Mayıs 2009 tarihinde Wayback Machine sitesinde . - an article by the Institute of Electrical and Electronics Engineers
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Merkezi islem birimi Turkce kisaltmasi MIB Ingilizce Central Process Unit ya da kisaca CPU dijital bilgisayarlarin veri isleyen ve yazilim komutlarini gerceklestiren bolumudur Calistirilmakta olan yazilimin icinde bulunan komutlari isler Mikroislemciler ise tek bir yonga icine yerlestirilmis bir merkezi islem birimidir 1970 lerin ortasindan itibaren gelisen mikroislemciler ve bunlarin kullanimi gunumuzde MIB teriminin genel olarak mikroislemciler yerine de kullanilmasi sonucunu dogurmustur Merkezi islem birimiIntel 80486DX2 mikroislemcisi Alttan gorunum Diger adiCPU MIBGelistirici ler ENIACUretici ler Intel AMD TipBilgisayar parcasiCikis tarihi1970 1980 Merkezi islem birimi aritmetik ve mantiksal islem yapma yetenegine sahiptir Giris ve cikis birimleri arasinda verilen yazilim ile uygun calismayi saglar MIB makine dili denilen dusuk seviyeli kodlama sistemi ile calisir bu kodlama sistemi bilgisayarin algilayabilecegi islem kodlarindan olusur Bir mikroislemcinin algilayabilecegi kodlarin tamamina o islemcinin komut kumesi denir Merkezi islem birimi aritmetik ve mantiksal islemleri Aritmetik Mantik Birimi AMB araciligiyla yapar Bunun disinda virgullu sayilarla daha rahat hesap yapabilmesi icin bir Kayan Nokta islem birimi FPU vardir Mikroislemcinin icerisinde bulunan kucuk veri saklama alanlarina yazmac denir Ilk Merkezi Islem Birim leri MIB daha buyuk bazen turunun tek ornegi bilgisayarlar icin ozel olarak tasarlanmislardi Ancak belirli bir uygulama icin ozel MIB tasariminin masrafli olmasi bir veya bircok amac icin yapilan kitlesel olarak uretilmis islemcilerin gelismesine yol acti Bu standartlasma egilimi ayrik transistorlu ana sistemler ve mini bilgisayarlar doneminde basladi ve entegre devrelerin ED populerlesmesiyle giderek hiz kazandi ED giderek daha karmasik ve nanometre ile olculebilecek MIB lerin tasarlanmasina ve uretilmesine olanak verdi MIB lerin kuculmesi ve standartlasmasi modern hayatta dijital cihazlarin varligini ilk bilgisayar orneklerinin sinirli uygulamalarinin cok otesinde arttirdi TarihceIlk islemciler belli islemler icin ozel uretilen ve buyuk olan parcalardi Daha sonralari ise maliyeti cok yuksek olan bu uretim seklinin yerini gelisen teknoloji ile daha ufak olan ve tek islev yerine cok isleve sahip olan uretimler almistir Bu donemin baslamasi transistorlerin ve mini bilgisayarlarin ortaya cikisina dayanmaktadir tumlesik devrelerin yayilmasiyla da hiz kazanmistir Tumlesik devreler islemcilerin daha kompleks olarak tasarlanmasina ve bunlarin cok az yer kaplayacak sekilde milimetreler cinsinden uretilmesine olanak saglamistir Bu sayede islemciler modern hayatta bircok yerde kullanilmaya baslanmistir otomobiller cep telefonlari Gunumuz islemcilerine benzerliklerin baslamasindan once ENIAC ve benzeri bilgisayarlarin belli isleri gerceklestirebilmesi icin baglantilarinin fiziksel olarak degistirilmesi gerekiyordu MIB kelimesi genel olarak yazilim bilgisayar programi uygulama araci olarak tanimlandigindan gercek anlamda MIB lerin olusumu kayitli program bilgisayarlarin gelisimi ile ortaya cikmistir Kayitli program bilgisayar fikri ENIAC tasarimi esnasinda mevcut olmasina ragmen bu fikir makinenin erken bitirilebilmesi icin rafa kaldirilmisti 30 Haziran 1945 te ENIAC henuz tamamlanmadan matematikci John von Neumann EDVAC proje raporunun ilk taslagini yayimladi Bu taslakta kayitli program bilgisayarinin ancak Agustos 1949 da tamamlanabilecegi gosteriliyordu EDVAC belli sayida operasyonlari gerceklestirecek sekilde tasarlanmisti EDVAC icin yazilan programlar kablolarin fiziksel olarak degistirilmeyi gerektiren bir ortamda degil hizli bir bilgisayar belleginde kayitli tutuluyordu Bu ozelligiyle de ENIAC in kisitlamalarinin ustesinden gelip zamandan ve zahmet acisindan tasarruf sagliyordu Her ne kadar von Neumann kayitli program bilgisayar fikrini ortaya koyan kisi olarak gosterilse de ondan once de ornegin Konrad Zuse nin benzer fikirler vardi Ayrica EDVAC tan once tamamlanan Harvard Mark I nin Harvard mimarisi elektronik bellek yerine delikli kagit serit kullanarak kayitli program dizayni gerceklestirmisti Gunumuzde ise modern MIB ler temel olarak von Neumann tasarimi olsa da Harvard mimarisinden de ozellikler goze carpmaktadir olmalarindan oturu tum MIB ler ayrik durumlarla ilgilenirler bu yuzden durumlari ayirt edebilmek icin bir cesit gecis unsuruna ihtiyaclari vardir Transistorlerin kabulunden once elektriksel roleler ve vakum tupleri bu amac icin kullanilirlardi Bunlarin her ne kadar hiz avantaji olsa da tamamen mekanik dizayn olduklarindan degisik sebeplerden dolayi guvenilir degillerdi Ornegin dogru akim ardisik mantik devrelerinin rolelerden disari kurulmasi kontak sekmesi problemiyle bas edebilmek icin fazladan donanim gerektiriyordu Vakum tupleri kontak sekmesi sorunu yasamazken bunlar tamamiyla calisir hale gelebilmek icin isinma gerektiriyordu ve isler durumdan da hep birlikte cikmalari gerekiyordu Genelde tuplerden biri basarisiz oldugunda bozulan parcanin tespit edilmesi icin MIB in teshis edilmesi gerekmekteydi Bu yuzden daha hizli olmasina ragmen role bazli bilgisayarlardan daha az guvenilirdi Tup bilgisayarlarinda EDVAC arizalanma 8 saatte bir olurken role bilgisayarlarinda Harvard Mark I daha nadir rastlaniyordu Sonuc olarak ise tup bazli MIB ler hiz avantajinin arizalanma sorunundan daha agir basmasindan dolayi daha yaygin hale geldiler Bu eski senkron MIB cesitleri gunumuzle kiyaslandiginda oldukca dusuk saat frekanslarinda calismaktaydilar Kurulduklari gecis aygitlarinin hizlariyla kisitlandiklari icin o zamanlar 100 kHz ile 4 MHz arasinda degisen saat sinyal frekans degerleri oldukca yaygindi Ayrik transistor Cesitli teknolojilerin daha kucuk ve daha guvenilir elektronik aygitlar uretmeye baslamasiyla MIB tasarimlarinin kompleks yapilari da artis gosterdi Bu yoldaki ilk gelisme transistorlerin gelisiyle basladi 1950 ler ve 1960 lar da MIB lerin transistorlere gecisi ile vakum tupu ve elektriksel role gibi guvensiz ve kirilgan gecis elementleri artik kullanilmaz hale gelmisti Bu gelisim sayesinde de uzerinde ayrik bilesenler bulunan bir veya birden cok baski devre kartlarina daha kompleks ve daha guvenilir MIB ler yerlestirildi Bu donemde oldukca kucuk alanlara fazla sayida transistor yerlestirebilme metodu populerlik kazandi Tumlesik devre IC sayesinde buyuk sayida transistorler yari iletken tabanli kaliplar veya cip denilen birimlerin uzerinde uretilebilindi Ilk baslarda kapilari gibi sadece belli basit dijital devre tipleri tumlesik devreler uzerine minyaturlestirildi MIB lerin bu insa blogu olan tumlesik devrelere kurulmasi durumuna kucuk olcekli tumlesme SSI denir SSI tumlesik devreler Apollo guidance computer kullanilanlar gibi transistor sayisi acisindan onun katlari bicimindeydi Mikro elektronik teknolojisi gelistikce tumlesik devre uzerindeki transistor sayilarida artis gosterdi ve bu sayede bir MIB i tamamlamak icin gereken bagimsiz parca sayisini azaltilmis oldu Orta ve buyuk olcekli MSI ve LSI tumlesik devreler sayesinde barindirilan transistor sayilari yuzler ve onbinler seviyesine kadar artti 1964 senesinde IBM birkac seri bilgisayarda kullanilan ve ayni programlari degisik hiz ve performans degerleriyle yurutebilen adli bilgisayar mimarisini tanitti O donemde cogu elektronik bilgisayar ayni ureticiden cikmis olsa bile bir digeriyle uyumsuzluk sorunu yasarken bu gelisim oldukca onemli bir yer tutmustu Bu gelisimi kolaylastirmak icin IBM mikro program veya mikro kod konseptini kullanmaya basladi ki bu konsept modern MIB lerin cogunda hala genis bir bicimde kullanilmaktadir Amdahl et al 1964 System 360 mimarisinin populerligi onu birkac onyil boyunca anacati bilgisayar pazarini ele gecirmesini ve gibi benzer modern bilgisayarlarda kullanilir hale getirecek bir efsane olmasini sagladi Ayni yilda 1964 Digital Equipment Corporation DEC bilimsel ve arastirma pazarlarini hedef secmis bir baska bilgisayar olan PDP 8 i piyasaya surdu Daha sonlari ise DEC SSI tumlesik devrelere kurulmus olan ancak sonunda LSI bilesenlerin pratiklesmesiyle bunlarla gerceklestirilmis ve oldukca populer olan PDP 11 i piyasaya sunacakti SSI ve MSI oncelleriyle sahip oldugu fark ile PDP 11 in ilk LSI gerceklestirilmesi 4 LSI tumlesik devreden olusan bir MIB e sahipti Digital Equipment Corporation 1975 Transistor bazli bilgisayarlarin oncellerine kiyasla fazla sayida ve belirgin avantajlari vardi Yuksek guvenilirlik ve az guc tuketiminin yani sira transistorler sayesinde MIB calisma hizlari transistorlerin sahip oldugu dusuk gecis sureleri sayesinde oldukca artis gosterdi Bu donemde yuksek guvenilirlik ve gecis suresindeki belirgin hiz artisi sayesinde MIB lerin saat hizlarinda MHz in on katlari seviyesine erisildi Ek olarak ayrik transistor ve tumlesik devre MIB leri sik kullanimda iken Tek Komut Coklu Data vektor islemcileri gibi yeni yuksek performans tasarimlar ortaya cikmaya basladi Baslarda deneysel tasarim olan bu sistemler daha sonralari ise gibi firmalar tarafindan uretilmis uzmanlasmis super bilgisayarlarin cagina adim atilmasini saglayacakti Mikroislemciler Mikroislemcilerin 1970 lerde ortaya cikmasi MIB tasarimlarini ve kullanimini oldukca etkiledi Ilk mikroislemci olan Intel 4004 un cikmasi 1970 ve yine ilk genis capli kullanim saglayan mikroislemci olan Intel 8080 1974 ile bu tip MIB ler merkez islem birimini yurutme metotlarini tamamiyla ele gecirmis oldu O zamanki tum ureticiler bilgisayar mimarilerini gelistirebilmek icin tumlesik devre gelistirme programlari yayinladilar Bunun sonucunda da eski yazilim ve donanimlariyla geri uyumlu olan komut set uyumlu mikroislemciler urettiler Gunumuzun kisisel bilgisayarlarinin basarisiyla birlesince de MIB kelimesi genel olarak mikroislemciler icin de kullanilmaya baslandi Onceki nesil MIB ler ayrik parcalardan ve pek cok kucuk tumlesik devrelerin bir veya birden cok devre kartlarinda bulunmasiyla gerceklestiriliyordu Mikroislemciler ise MIB lerin cok az sayida genellikle bir tumlesik devre uzerinde uretiminden olusuyordu MIB lerin tek kalip uzerinde uretilmesinin getirdigi bu boyut acisindan bu kuculme parasitik sigalik gecitlerinin azalmasi gibi fiziksel faktorler sebebiyle daha hizli gecis surelerinin olmasina olanak sagladi Bu sayede de senkron mikroislemcilerin 10 MHz civarlarinda olan saat hizlari GHz seviyelerine tasindi Ayrica olabildigince ufak transistorlerin tumlesik devrelere yerlestirilmedeki artis tek bir MIB de sahip olunan transistor sayisini ve karmasikligi da artirdi Bu genis gozlem ile tanimlanmistir ve bu kuralin MIB deki kompleks yapinin zamana bagli olarak artisinin oldukca keskin bir tahminini yapabildigi ispatlanmistir Her ne kadar MIB in karmasikligi ebatlari tasarimi ve genel sekli fazlasiyla degismis olsa da temel yapisinin ve fonksiyonunun degismedigi gorulmektedir Gunumuzde yaklasik her MIB von Neumann kayitli program makineleri olarak adlandirilabilir gecerli olmaya devam ettiginden tumlesik devre transistor teknolojilerinin sahip olabilecegi limitleri hakkinda endiseler ortaya cikmaya basladi Olabildigince minyaturleme sonucu ortaya cikabilecek elektron gocu ve esikalti voltaji durumlari onemsenecek boyutlara gelmeye basladi Bu tip endiseler arastirmacilari yeni metotlar aramaya quantum bilgisayari paralelligin kullaniminin gelisimi yoneltti MIB IsletimiIntel Core i7 12700KF Cogu MIB nin temel islemi aldiklari fiziksel formdan bagimsiz olarak kayitli komut serilerisi dedigimiz programlari yurutmektir Program bilgisayar belleginde saklanan seri sayilar ile gosterilir Genel olarak von Neumann MIB leri islemi 4 adimda gerceklestirirler Getirme fetch kodcozucu decode yurutme execute ve geri yazma writeback Getirme evresi fetch Bu evre program belleginden komutu almayi icerir Program bellegindeki yer programin o andaki yerini bir sayiyla tutan program sayici tarafindan belirlenir Baska bir deyisle program sayici MIB nin o andaki programin hangi kisminda oldugunun yerini tutmaktadir Bir komut alindiktan sonra program sayici alinan komutun boyunun bellek birim cinsinden degeri kadar artirilir Bazen getirilmesi gereken komut hizca daha yavas bir bellekten alinir boylece MIB nin komutun geri donmesini beklerken zaman kazanmasi saglanir Bu konu modern islemcilerde bellekler ve boru hatti mimarilerinde genis olarak incelenmektedir Kod cozme decode MIB nin bellekten getirdigi komut MIB nin ne yapacagini belirlemede kullanilir Iste bu kodcozme evresinde komut MIB deki onem oranina gore parcalara ayrilir Sayisal kodun degerinin yorumlanmasi MIB nin komut set mimarisi Instruction Set Architecture ile tanimlanir Genelde komuttaki sayilarin bir grubu islem kodu hangi islevin gerceklestirmesi gerektigini gosterir Geri kalan kisimdaki sayilar komut icin gerekli bilgileri saglarlar ornegin bir toplam islemi icin gereken islenen degerler Bu tip islenenler sabit bir sayi olarak verilebilecegi gibi bazen de bir degeri gosterecek yer olarak yazmac veya bellek adresi olarak verilebilir Eski tasarimlarda MIB nin komut cozme isinde sahip oldugu kisimlar degistirilemez donanimsal parcalardi Ancak MIB lerin ve ISA larin gelismesiyle kodun cozumunde ve gerekli ayarlarin yapilmasinda MIB ye yardimci olan mikroprogramlar kullanilmaya baslandi Bu mikroprogramlar MIB nin kodcozme seklini uretiminden sonra da degistirebilmek icin bazi durumlarda tekrar yazilabilir olurlardi Yurutme execute Bu evrede istenen isin gerceklesebilmesi icin MIB nin bircok kismi bagli haldedir Ornegin bir toplama islemi istendiginde aritmetik ve mantik birimi Arithmetic Logic Unit bir kisim giris ve cikislara bagli olacaktir Girisler toplamada kullanilacak sayilari icerirken cikislar ise sonuc degerini tutacaktir ALU girislerde basit aritmetik ve mantik islemlerini gerceklestirecek devre yapilarina sahiptir Eger toplama islemi MIB nin gerceklestirebileceginden cok buyuk sonuclar uretiyorsa bayrak yazmaclarindaki aritmetik tasma bayragi kullanilacaktir Geri yazma writeback Basitce yurutme evresindeki sonucu bir bellek uzerine geri yazma evresidir Cogu zaman sonuclar MIB nin ic yazmaclarina daha sonraki komutlarda kullanimi hizli olabilsin amaciyla yazilir Diger durumlarda ise sonuclar daha yavas ancak daha ucuz ve buyuk ana belleklere yazilir Bazi komut tipleri program sayacini direkt sonuc uretmeden sadece islerler Bunlara genellikle atlama jumps denir ve dongu durumsal program yurutme ve program fonksiyonlari gibi davranirlar Bazi komutlar ise bayrak yazmaclarinin durum degerlerini degistirme amacli olurlar Bu bayraklar islemlerin sonucunu gosterdiginden programin calisma seklini etkilemek amacli kullanilabilirler Ornegin karsilastirma komutunun bir cesidi iki degeri kiyaslar ve bayrak yazmaclarina hangisinin buyuk olduguna dair bir sayi atar Bu bayrak daha sonra program akisi acisindan baska bir komuta atlama amacli kullanilabilir Yurutme ve geri yazma evresinden sonra tum islemler tekrarlanir Bir sonraki komut program sayacinin onceden artirilmasi sebebiyle getirme evresiyle baslatilir Eger onceden tamamlanan komut bir atlama ise program sayaci bir sonraki adresi gosterecek sekilde tekrar ayarlanir ve yurutme ona gore yapilir Burada bahsettigimiz MIB lerden daha gelismis olanlarinda birden cok komut ayni anda getirilebilir kodcozme everisine girebilir ve yurutulebilir Bu kisim genel olarak klasik RISC Boruhatti basliginda incelenen konulari anlatmaktadir ki bircok elektronik aygitta mikrodenetleyici bu basit MIB kullanilmaktadir Kontrol birimi olan MIB icinde elektrik sinyalini direkt bilgisayar sistemine tasinmasini ve kaydedilmesini saglayan bir dongu sistemine sahiptir Kontrol unitesi program direktiflerin calistirmaz bunun yerine sistemin diger parcalarini bunu yapmasi icin yonetir Kontrol unitesi hem aritmetik logic unitesi hem de hafiza ile iletisim kurmalidir Tasarim ve UygulamaTam Sayi Araligi MIB nin sayilari gosterme sekli bir dizayn tercihidir ve aygitin calisma bicimini etkiler Ilk dijital bilgisayarlarin bazilari ic yapilarinda sayilari gostermek icin ondalik sayi sisteminin elektriksel modelini kullanmislardir Bunlarin disindaki birkac model ise uclu sayi sistemini kullanmistir Gunumuz MIB lerinin hemen hemen hepsi ise ikili formu kullanmaktadir Bu formda her basamak iki degerli bir fiziksel niceligi ornegin yuksek High veya dusuk Low voltaj gosterir Sayilarin gosterim sekli MIB nin gosterebilecegi sayilarin buyuklugu ve dogrulugu ile iliskilidir Ikili sayi kullanan bir MIB de MIB nin ilgilendigi sayilardaki tek bir yerin adina bit denmektedir MIB nin sayilari gostermek icin kullandigi bit sayisina genelde kelime uzunlugu bit genisligi veri yolu genisligi veya tamamen tam sayilarla ilgileniliyorsa tam sayi keskinligi denir Bu sayi bit sayisi mimariler arasinda farklilik gosterdigi gibi ayni zamanda da ayni MIB nin farkli bolumlerinde de bu farkliligi gosterir Ornegin 8 bit bir MIB 28 veya 256 ayri sayi araligiyla ilgilenmektedir Bu tam sayi buyuklugu bir MIB nin yazilim calistirirken kullanilabilecek tam sayi araligini belirlemede bir donanimsal kisitlama olarak is yapmis olur Tam sayi araligi MIB nin adres belirlerken bellekte kullanabilecegi yer sayisini da dogrudan etkileyebilir Ornegin eger bir MIB bellek adresini gosterirken 32 bit kullaniyorsa ve her bellek adresi bir sekizli 8 bit ile gosteriliyorsa bu durumda MIB nin erisebilecegi maksimum adres degeri 232 sekizlisi veya 4 GiB dir Bu akis acisi MIB Adres Uzayi na oldukca basit bir bakis acisidir ve bircok dizayn daha kompleks adres metotlarini ornegin sayfalama kullanarak tam sayi araliginin izin verdiginden daha cok bellege erismeyi basarmaktadir Daha yuksek seviye araliklar ek basamaklarla ilgilenebilmek icin daha cok yapiya ihtiyac duyar ve bu sebeple daha fazla karmasiklik ebat yuksek guc tuketimi ve maliyet durumlari olusur Bu sebepten gunumuzde yuksek araliga sahip 16 32 64 ve 128 MIB ler mevcutken 4 bit veya 8 bit mikro denetleyicilerin kullanilmasi oldukca yaygindir Daha basit mikro denetleyiciler daha ucuz daha az guc kullanan ve bu sebeple daha az isinan yapilardir ve bu ozellikler tasarim esnasinda secilmeleri icin oldukca yeterli rol oynarlar Ancak bazi ust uc uygulamalarda ekstra araligin getirdigi kazanc diger etkenlerden daha buyuk rol oynamaktadir Her iki durumdan da dusuk ve yuksek bit uzunluklarindan kazanc elde etmek icin bircok MIB farkli bolumleri icin farkli bit genislikleriyle tasarlanmaktadir Ornegin IBM System 370 MIB si asil olarak 32 bit kullanirken gezer noktasi floating point icerisinde 128 bit keskinlik kullanarak daha net ve daha genis gezer nokta sayilari elde etmeyi gerceklestirmistir Bundan sonraki MIB tasarimlarinda da ozellikle islemcinin genel amacli kullanimlarda tam sayi ve gezer nokta yetenegi arasindaki denge makul bir seviyedeyken karisik bit genisligini kullanilmistir Saat Vurusu Sikligi Cogu MIB ve dogal olarak cogu sirali mantik aygitlari senkron yapilardir Bu yapilar senkron bir sinyalde calisacak sekilde tasarlanmistir Bu sinyale saat sinyali denir ve genelde bir periyodik kare dalga formunda olur Elektrik sinyallerinin MIB nin farkli bolumlerine ulasabilecegi maksimum sureyi hesaplayarak tasarimcilar bu saat sinyalinin periyodunu uygun olarak secebilirler Kotu durum kosulunda bu periyot sinyalin ilerleme hizindan veya yayilmasindan daha uzun olmalidir Saat periyodu kotu durum yayilma gecikmesinden yeterince yuksek tutuldugunda tum MIB nin ve veriyi saat sinyalinin inis cikislari civarinda ilerletmesini tasarlamak mumkun olacaktir Bu durum MIB yi etkili bicimde sadelestirme avantajini hem dizayn acisindan hem de bilesen sayisi acisindan saglayacaktir Ancak bunun yaninda da tum MIB nin en yavas elemanini diger bolumler cok daha hizli calisabilecekken beklemek zorunda kalmasi dezavantajini da doguracaktir Bu kisitlama gelisen MIB paralleliginin cesitli metotlari ile telafi edilmektedir Mimari gelistirmeler tek basina global senkronize MIB lerin dezavantajlarini ortadan kaldiramaz Ornegin bir saat sinyali baska elektrik sinyalinin gecikmesine de baglidir Artan kompleks MIB yapilarindaki yuksek saat hizlari saat sinyalini tum birim boyunca senkron ayni fazda tutmayi zorlastirir Bu durum bircok modern MIB nin birden fazla es saat sinyali kullanmasina yol acmistir boylece tek sinyalin gecikmesi MIB nin aksamasini engellemistir Diger bir onemli nokta ise saat hizlari arttikca MIB nin urettigi isida ayni sekilde artmaktadir Sabit bicimde degisen saat bircok bilesenin de kullanilmaksizin degismesine yol acmaktadir Genel olarak degisen her bir bilesen sabit bir bilesenden daha cok enerji tuketmektedir Bu sebeple saat hizi arttikca isi dagilmasi artar bu da MIB de daha etkili sogutma yollarinin kullanilmasini gerektirir Istenmeyen bilesen gecisini engellemenin bir yolu saat gecitleme yontemidir Bu yontemle istenmeyen bilesenlere giden saat sinyali kapatilir Ancak bunu uygulamasi zor oldugundan dusuk guc tuketimli tasarimlarin disinda kullanimi pek soz konusu degldir Global saat sinyaline sahip olan problemlerin cozumundeki diger bir yol ise tum saat sinyallerinin birden kaldirilmasidir Global saat sinyalinin kaldirilmasi tasarim surecini oldukca zorlastirsada asenkron veya saatsiz tasarimlar guc tuketiminde ve isi dagiliminda sahip olduklari buyuk avantajlari da beraberinde getirmektedirler Nadir olmakla birlikte tum MIB lerin global saat sinyali icermeden uretildigi de olmustur Bunlardan iki onemli ornek vermek gerekirse ARM uyumlu AMULET ve MIPS R3000 uyumlu MiniMIPS i gosterebiliriz Bazi MIB tasarimlarinda saat sinyalini tamamiyla cikarmak yerine asenkronluk belli bolumlere uygulanmistir tipki asenkron ALU larin skalar ustu superscalar boruhatti uygulamasiyla birlestirilerek bazi aritmetik performans kazanclarinin elde edilmesinde oldugu gibi Her ne kadar asenkron tasarimlarin senkronize karsiliklarindan daha iyi bir performans verebilecegi cok acik olmasa da baist matemaiksel islemlerde daha ustun oldugu bir gercektir Bu ozelligi mukemmel guc tuketimi ve isi dagilim ozellikleriyle de birlesince tumlesik bilgisayarlarda kullanilmak icin oldukca uygun oldugunu ortaya cikarmaktadir Paralellik Bir onceki bolumde verilen MIB nin esas calismasinin tanimi bir MIB nin alabilecegi en basit sekli tanimlamaktadir Olagan olarak skalar alti subscalar diye temas edilen bu turden MIB bir seferde bir veya iki parca veri uzerinden verilen komut uzerine calismaya baslamakta ve uygulamayi gerceklestirmektedir Bu surec skalar alti MIB de isin ozunde bulunan bir yetersizligi ortaya cikarmaktadir Bir seferde sadece bir komutun uygulanabilmesi mumkun oldugundan MIB nin tamami bir sonraki komutu islemeye baslamadan once bu ilk komutun tamamlanmasini beklemek zorundadir Bunun sonucu skalar alti MIB uygulamanin tamamlanmasi icin bir saatten fazla cevirimi suren yonergelere kapali kalmaktadir Ikinci bir uygulama biriminin ilave edilmesi bile asagiya bakilmasi performansi daha fazla iyiye goturmemektedir birden fazla yonergenin kapali olmasinin yerine simdi iki yorunge de kapanmakta ve kullanilmayan transistorlerin sayisi artmaktadir MIB nin uygulama kaynaklarinin sadece bir seferde verilen komuta gore calisabilmesinin mumkun oldugu bu tasarim sadece skalar performansi saat basina bir komut bir olasilikla ogretebilir Bununla birlikte performans hemen hemen her zaman skalar altidir yani cevirim basina bir komuttan daha az Skalar ve daha iyi performans gerceklestirmesi icin yapilan girisimler MIB nin daha az dogrusal ve daha fazla paralel olarak davranmasina neden olan tasarim metodolojilerinde cesitlilik ile sonuclanmistir MIB lerde paralellikten soz edilirken bu tasarim tekniklerinin siniflandirilmasi icin genel olarak iki deyim kullanilmaktadir Komut duzeyinde paralellik ILP bir MIB icerisinde komutlarin yerine getirilme hizini artirmayi arastirmakta yani kalip uzerinden uygulama kaynaklarinin artirilmasi ve program duzeyinde paralellik TLP bir MIB nin ayni anda uygulamaya girisebilecegi program sayisinin fiili bireysel programlari arttirmayi amaclamaktadir Her bir metodun uygulanma tarzlarindan ayni zamanda da bir uygulama icin MIB nin performansini artirmada sagladiklari goreceli etkinlik bakimindan da birbirlerinden fark etmektedir ILP Instruction Level Parallelism Komut boruhatlamasi Instruction pipelining ve skalar ustu mimari artan olculerde parallelik gerceklestirilmesinde kullanilan en basit yontemlerden biri bir evvelki komutun uygulanmasi tamamlanmadan once getirme fetching ve kod cozme decoding komutunun ilk asamalarina baslanmasidir Bu komut boruhatlamasi diye bilinen bir teknigin en basit seklidir ve hemen hemen butun cagdas genel amacli MIB lerde kullanilmaktadir Boruhatlama uygulama yorungesinin birbirinden ayri asamalara bolunmesiyle birden cok sayida komutun belirli bir zamanda uygulanmasina olanak saglamaktadir Bu ayirma uygulama dizisinden disari cikana ve cekilinceye kadar her bir asamada verilen bir komutun daha tam duruma getirildigi bir montaj hattiyla karsilastirilabilir Bununla birlikte boruhatlama bir evvelki islemin sonucuna bir sonraki islemi tamamlamak icin gereksinme oldugu bir durumun olasiligini getirmektedir boyle bir duruma cogu kez veriye bagimlilik catismasi denmektedir Bununla basa cikilmasi icin bu turden kosullar icin varligini kontrol etmek icin ek dikkat gosterilmesi gerekmekte ve bu catisma meydana geldigi takdirde komut boruhattinin bir kismi gecikmektedir Dogal olarak bunu gerceklestirilmesi ek devre donanimini gerektirmekte ve boylece boruhatli islemciler skalar alti islemcilerden cok daha karmasik her ne kadar bu pek onemli degilse de olmaktadirlar Boruhatli islemciler hemen hemen skalar olabilir ve sadece boruhatti durmasiyla bir asamada bir saatten fazla cevrim harcanmasina neden olan komut engellenebilir PerformansBir islemcinin performansi ve hizi o islemcinin saat vurum sikligina ve saniye basina komut IPS sayisina baglidir Saniye basina komut sayisi arttikca islemcinin performansi ve hizi da artar Ayrica cok cekirdekli islemcilerden daha fazla performans elde edilir Bircok bildirilmis IPS degerleri birkac subesi bulunan yapay talimat dizilerinde zirve yurutme oranlari temsil etmistir oysa gercekci is yukleri bazilari digerlerinden daha uzun calistirmak icin karistirilmis talimatlari ve uygulamalari icerir Bellek hiyerarsisi performansi MIPS hesaplamalarinda ancak dikkate alinan bir sorun olan islemci performansini oldukca etkiler Bu problemlerden oturu SPECint gibi cesitli standartlasmis testler yaygin olarak kullanilan uygulamalar reel efektif performansini olcmek girisimi icin gelistirilmistir CPU ve RAM Bir bilgisayarin islem performansi cok cekirdekli islemci iki ya da daha cok islemcinin bir butunlesmis devrede birlestirilmesi kullanilarak arttirilabilir Cift cekirdekli bir islemci tek cekirdekli bir islemcinin neredeyse iki kati kadar guclu olur Ancak pratikte guc kazanci kusurlu yazilim algoritmalari ve uygulamalari nedeniyle yuzde elli civarindadir Cekirdek Sayisi ile Is Parcacigi Sayisinin KaristirilmasiCekirdek sayisi tek bir bilgi islem bilesenindeki yonga ya da cip bagimsiz merkezi islem birimi sayisini belirten donanim terimidir Is parcacigi sayisi ile karistirilmaktadir Bazen pazarlamacilar tek cekirdekli iki is parcacikli islemcileri cift cekirdekli diye tanitabilmektedir Kaynakca UZUN Murat Teknopedi 4 Bolum Kampus TV 3 Ocak 2016 tarihinde kaynagindan Erisim tarihi 22 Ocak 2015 Arsivlenmis kopya 22 Ocak 2015 tarihinde kaynagindan Erisim tarihi 22 Ocak 2015 Dis baglantilarWikimedia Commons ta Central processing units ile ilgili ortam dosyalari bulunmaktadir Vikiversite deMerkezi islem birimi ile ilgili kaynaklar bulunur Mikroislemci ureticileriAdvanced Micro Devices7 Nisan 2007 tarihinde Wayback Machine sitesinde Advanced Micro Devices a designer of primarily x86 compatible personal computer CPUs ARM Ltd15 Nisan 2018 tarihinde Wayback Machine sitesinde one of the few CPU designers that profits solely by licensing their designs rather than manufacturing them ARM architecture microprocessors are among the most popular in the world for embedded applications Freescale Semiconductor15 Ocak 2013 tarihinde Wayback Machine sitesinde formerly of Motorola Freescale Semiconductor designer of several embedded and PowerPC based processors IBM Microelectronics29 Agustos 2007 tarihinde Wayback Machine sitesinde Microelectronics division of IBM which is responsible for many ve PowerPC based designs including many of the CPUs utilized in late Intel Corp14 Mart 2009 tarihinde Wayback Machine sitesinde Intel a maker of several notable CPU lines including IA 32 ve IA 64 Also a producer of various peripheral chips for use with their CPUs Microchip Technology Inc 9 Subat 2011 tarihinde Wayback Machine sitesinde developers of the 8 and 16 bit short pipleine RISC ve microcontrollers MIPS Technologies20 Agustos 2006 tarihinde Wayback Machine sitesinde MIPS Technologies developers of the a pioneer in RISC designs developers of the and Sun Microsystems30 Haziran 2006 tarihinde Wayback Machine sitesinde Sun Microsystems developers of the SPARC architecture a RISC design Texas Instruments olu kirik baglanti Texas Instruments semiconductor division Designs and manufactures several types of low power microcontrollers among their many other semiconductor products Transmeta16 Ocak 2009 tarihinde Wayback Machine sitesinde Corporation Creators of low power x86 compatibles like ve VIA Technologies 28 Eylul 2007 tarihinde Wayback Machine sitesinde Taiwanese maker of low power x86 compatible CPUs Konuyla ilgili yayinlarlar25 Microchips that shook the world5 Mayis 2009 tarihinde Wayback Machine sitesinde an article by the Institute of Electrical and Electronics Engineers