İçeriğe atla

Merkezî işlem birimi tasarımı

İntel 80486DX-50 işlemcinin yakın çekim fotoğrafı

Merkezî işlem birimi tasarımı bilgisayarın temel bileşenlerinden birisi olan Merkezî işlem birimini (MİB) etkin kullanmayı yönelik bir tasarımdır. MİB bilgisayar donanımının temel bileşenlerinden birisidir. İşlemcisi olmayan bir bilgisayar düşünülemez. Bu yüzden işlemcinin tasarımı ne kadar iyi olursa sistem de o derece hızlı olacaktır. İşlemciyi hızlandırmanın değişik yolları vardır. Bunlardan bazıları:

  1. Buyrukların paralel çalışmasını sağlamak
  2. Çok vuruşluk işlemciler kullanmak
  3. Boru hattı kullanmak
  4. Çoklu işleme kullanmak

şeklinde sıralanabilir. İşlemcinin hızlandırılmasında asıl önemli unsur buyruk başına çevrim süresini azaltmaktır. İşlemci hızlarını karşılaştırırken saat sıklığına bakmak yanıltıcı olabilir. Örneğin, 2 GHz'lik saati olan bir işlemci ile 2.5 GHz'lik saati olan bir işlemci aynı programı eşit sürede çalıştırabilirler.

MİB tasarımını demek, ayrıca şu birimlerin tasarımıyla da ilgilenmek demektir:

  • Denetim birimleri
  • Mantık kapıları
  • Ön bellek ve yazmaç
  • Saat çevirimi
  • Veri yolu

Tasarım ilkeleri

Bir işlemci tasarlanırken aşağıdaki temel ilkeler kullanılır:

  • Yalınlık düzenden gelir
  • Küçük olan hızlıdır
  • İyi tasarım ödünleşme ister
  • Olağan durumu hızlandır

Yalın bir işlemci hızlıdır. İşlemcinin karmaşıklığı arttıkça işlemci yavaşlayacaktır. Çok büyük bir işlemcide veri iletimi daha uzun sürecektir, yani küçük işlemci hızlıdır. İşlemcide yapılacak bir takım iyileştirmeler sistemi hızlandırabilir, bu değişikliği yapmak için yapılan fedakârlık ise yavaşlatabilir. Olağan bir durumu (mesela sürekli işlenen bir buyruğu) hızlı çalışır hale getiren bir değişiklik işlemcinin başarımını arttırabilir.

İşlemcinin çalışması

Tek vuruşluk işlemci

Tek yollu işlemcinin iç yapısını gösteren şema

Her bir buyruğun 4 bayt tuttuğu ve bellekte tek bir sözcük olarak tutulduğunu düşünürsek, tek vuruşluk bir işlemci, işlem yaparken aşağıdaki üç adımı kullanacaktır.

  • Program sayacı tarafından belirlenen yazmaçtaki bilgiyi al ve buyruk belleğine yaz. Bu işlem simgesel olarak şu şekilde gösterilebilir.
   BB <- [[PS]]
  • Eğer bellek bayt bayt adreslenmiş ise program sayacını 4 arttır.
   PS <- [PS]+4
  • Buyruk belleğinde tutulan işlemleri yap.

Tek vuruşluk işlemcide çevrim zamanı uzundur. Buyruklar sıra ile işlendiği için en yavaş işlenen buyruk işlemci hızını belirleyecektir. Ayrıca işlemler tek bir vuruşla bitirilemeyebilir.

Çok vuruşluk işlemci

Çok yollu işlemcinin iç yapısını gösteren şema

Tek vuruşluk işlemcilerde ortaya çıkan sorunlar tasarımda değişiklik yapıp veriyolu sayısını arttırarak engellenebilir. Çok vuruşluk işlemcide:

  • AMB hem adres hesabı hem program sayacını artırmak için kullanılır.
  • Denetim işaretleri sadece buyruk tarafından belirlenmez.
  • Denetim için sınırlı durum makinası kullanılır.

MİB tasarım mantığı

MİB tasarımında bâzı temel mantıklar kullanılır. Bunlar:

  • Yapısal olmayan rastgele mantık
  • Sonlu durum makinaları
  • Mikroprogramlama
  • Programlanabilir mantık dizisi

şeklinde sıralanabilir.

Tasarım hedefleri

Tasarım genel olarak aşağıdaki işlemleri kapsar:

  • İşlemci mimarisi ve başarım modellemesi
  • Tasarım ve doğrulama
  • Önemli bileşenlerin tasarımı (ön bellek, yazmaç, AMB)
  • Mantık kapılarının tasarımı
  • Devre elemanlarının eşzamanlı çalışması
  • Fiziksel tasarım
  • Bütünleşebilirlik ve üretilebilirlik

İyi tasarlanmış bir işlemcinin özellikleri şunlardır:

  • Yüksek başarım
  • Düşük maliyet
  • Az güç tüketimi
  • Uyumluluk

Başarım ve karşılaştırmalı değerlendirme

İşlemcileri karşılaştırırken saat sıklığının belirleyici olmadığından bahsetmiştik. İşlemci hızlarını karşılaştırmak için test programları geliştirilmiştir. Bunların en meşhurları Standard Performance Evaluation Corporation tarafından geliştirilen SPECint ve SPECfp ve Embedded Microprocessor Benchmark Consortium tarafından geliştirilen ConsumerMark'dır.[1]

İşlemcileri karşılaştırırken tasarımcılar değişik kıstaslara başvurur. Bazıları buyruk başına çevirimi, bazıları watt başına başarımı, bazıları birim para başına başarımı, bazıları ise işlem için geçen zamanı işlemcileri karşılaştırmada kullanır.

Kaynakça

  1. ^ "1". 19 Aralık 2007 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Aralık 2007. 

Ayrıca bakınız

Dış bağlantılar

İlgili Araştırma Makaleleri

Komut kümesi mimarisi, CPU'nun yazılım tarafından nasıl kontrol edileceğini tanımlayan bilgisayar soyut modelinin bir parçasıdır. ISA, işlemcinin ne yapabileceğini ve bunu nasıl yapacağını belirterek donanım ve yazılım arasında bir arayüz gibi davranır.

Mikroprogramlama, kontrol işaretlerini oluşturan ikili sayıların mikrokomutlar yazılarak oluşturulmasıdır. Bu sembolik mikroprogram, ikili kontrol işaretlerine mikroassembler anlamında dönüştürülür. Mikroprogramlama yazılım ile donanım arasındaki özyinelemeyi sağlayan bilgisayarın en gerekli parçasıdır. İşlemcinin denetim birimini tasarlamak için yazmaç aktarımı işlemleri düzeyinde programlama yapılması yöntemidir. Birçok işlemcide mikroprogramlama makine kodu buyruklarını doğrudan donanım üzerinde yürütür. Fakat bazı yeni mimarilerde mikroprogramlama uygulanmaz onun yerine yazılım, dijital mantık düzeyindeki işlemleri doğrudan çalıştırır.

<span class="mw-page-title-main">Merkezî işlem birimi</span> bir bilgisayar programının talimatlarını, talimatlar tarafından belirtilen temel aritmetik, mantıksal, kontrol ve giriş/çıkış (G/Ç) işlemlerini gerçekleştirerek yürüten ve diğer bileşenleri koordine eden bir bilgisayar içindeki elektro

Merkezî işlem birimi, 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.

Bellek bilgisayarı oluşturan 3 ana bileşenden biridir.. İşlemcinin çalıştırdığı programı, lar ve programa ait bilgiler bellek üzerinde saklanır. Bellek geçici bir depolama alanıdır. Bellek üzerindeki bilgiler güç kesildiği anda kaybolurlar. Bu nedenle bilgisayarlarda programları daha uzun süreli ve kalıcı olarak saklamak için farklı birimler mevcuttur.

İşlemci önbelleği, CPU'nun hafızadaki verilere ulaşma süresini azaltan bir donanımdır. Ana belleğe(RAM) kıyasla küçük, hızlı ve işlemci çekirdeğine yakındır. Sık kullanılan veriler ya da en güncel veriler işlemci önbelleğinde saklanır. Günümüzde pek çok CPU, birden çok seviyede önbellek içerir, bu önbellekler verilerin yanı sıra komutları da bünyesinde tutar.

<span class="mw-page-title-main">Aritmetik mantık birimi</span>

Aritmetik mantık birimi (AMB) aritmetik ve mantık işlemlerini gerçekleştiren bir dijital devredir. AMB en basit işlemi gerçekleştiren mikro denetleyiciden, en karmaşık mikroişlemciye sahip bir bilgisayara kadar tüm işlemcilerin yapıtaşıdır. Modern bilgisayarların içinde bulunan mikroişlemcilerin ve ekran kartlarının içinde çok karışık ve güçlü AMB'ler bulunmaktadır. AMB kavramına ilk olarak 1945 yılında matematikçi John von Neumann EDVAC adlı yeni bir bilgisayar üzerine bulgularını anlatan raporunda değinmiştir.

Veri yolu, bilgisayar yapısında, bilgisayarın içindeki parçalar arasında ya da bilgisayarlar arasında verileri ya da gücü transfer eden bir alt sistemdir ve genellikle aygıt yürütme yazılımı tarafından kontrol edilir. Nokta- nokta bağlantısının tersine, veri yolu, birçok çevresel aygıtı aynı takım kablo ile mantıksal olarak bağlayabilir. Her bir veri yolu kendi bağlayıcılarını fiziksel fiş aygıtlarına, kartlara veya kabloların tümüne karşı tanımlar.

Boru hattı yöntemi bilgisayar mimarisi ve diğer sayısal ürünlerin tasarımında başarımı artırmak için uygulanan bir yöntemdir. Komutları, boru hattı yöntemi ile işleyip daha kısa süre içinde bitmesini sağlar. Asıl amacı saat sıklığını artırarak başarımı artırmaktır. Farklı kaynakları aynı anda, farklı işler tarafından kullanarak çalışır.

<span class="mw-page-title-main">Bilgisayar mimarisi</span>

Bilgisayar mimarisi, en küçüğe ve en başarılıya ulaşmayı hedeflerken aynı zamanda maliyeti de göz önünde bulundurduğu için sanat ve bilimin ortak buluştuğu nokta olarak da tanımlanır. Bilgisayar Mimarisi, bilgisayar parçalarının iç yapıları ve aralarındaki haberleşme bağlantıları ile ilgilidir.

Dallanma Öngörüsü, bilgisayar mimarisinde çalıştırılacak programın buyruk kümesi içindeki dallanma buyruklarına gelindiğinde koşula göre atlanacağını ya da atlanmayacağını önceden varsayarak veya geçmişine bakıp tahmin ederek öngörüde bulunma işidir. Bugünkü işlemcilerin tasarımında boru hattı (bilgisayar) yöntemi kullanıldığı ve başarım hedeflerinin yüksek olduğu düşünüldüğünde bir dallanmada hangi yöne gidileceğini yüksek doğrulukta tahmin etmek kaçınılmaz olmuştur. Bu öngörü işlemciye dallanmanın sonucunu beklemeden diğer buyrukları işleme imkânı verir. Bu da zamandan kazanç anlamına gelir ki başarımı yükseltir. Bu arada da işlemcinin şimdiki buyruğun işlenmesi bitmeden sonraki buyruğun adresini bilmesi gerekir.

Yazmaçların yeniden adlandırılması, işlemcilerde, yürütülen buyruklardaki, aynı yazmaçların tekrar kullanımından doğan sahte bağımlılıkları gidermek için kullanılan bir yöntemdir.

<span class="mw-page-title-main">Itanium işlemcisi</span>

Itanium işlemcisi, Intel firmasının 64-bit işlemci ailesinden olup IA-64 mimarisi kullanan işlemcilerinin devamı olarak bilinir. Itanium ve Itanium2 olarak sunulan bu işlemci ilk olarak Ekim 2001'de piyasaya sürülmüştür. Itanium işlemcilerin asıl hedefi yüksek performansa sahip bilgisayarlardı. Bu işlemcinin mimarisinin gelişimi ilk olarak Hewlett-Packard tarafından yapılmıştır ve devamında ise Intel ve Hewlett-Packard ortak olarak birlikte gerçek Itanium mimarisini geliştirmişlerdir.

Sırasız yürütüm ya da Düzensiz yürütme, bilgisayar mühendisliğinde, günümüz yüksek performanslı işlemcilerinde kullanılan, yüksek gecikmeler sebebiyle harcanan işlemci döngülerini kullanıma sunan bir talimat yürütme yaklaşımıdır.

<span class="mw-page-title-main">İşlem (bilgisayar)</span>

Bilgisayar bilimlerinde işlem (process) terimi, belleğe yüklenmiş ve işlemcide (CPU) yürütülmekte olan bir program olarak tanımlanmaktadır. Uygulamalar diskte çalışmaz halde bulunurken ise program olarak tanımlanır. Bir program kendi başına pasif komut yığınıdır ve işlem ise bu komutların aktif olarak yürütülmesidir.

<span class="mw-page-title-main">Çoklu kullanım</span>

Çoklu kullanım özelliğine sahip bilgisayarlar birden fazla iş parçacığını donanım desteği sayesinde çalıştırabilir. Çoklu işlem yapabilen sistemlerden gelişen bu yöntem tek bir çekirdeğin kaynaklarını paylaşmak zorundadır. Bu kaynaklar: aritmetik mantık birimi, yazmaçlar (registers), işlemci ön belleği ve adres dönüştürme ön belleğidir. Çoklu işlem yapabilen sistemlerde, işlem birimlerinin tamamı ayrı çekirdeklerde olmasına rağmen, çoklu kullanım tek bir çekirdeğin kullanılabilirliğini iş-parçacığı seviyesinde ve buyruk düzeyinde daha verimli hale getirir. Bu iki teknik birbirini tamamlayan tekniklerdir.

Bilgisayar mimarisinde, buyruk ön yüklemesi bekleme durumlarını azaltarak bir programın mikroişlemcide ki yürütmesinin hızlanmasını sağlayan bir tekniktir.

Çok uzun buyruk kelimesi, buyruk düzeyindeki paralelliğin avantajından yararlanmak için geliştirilmiş bir işlemci tasarımıdır. Her buyruğu arka arkaya çalıştıran işlemciler, işlemci kaynaklarını verimsiz bir şekilde kullanabilmekte ve bu durum da başarımın düşmesine neden olmaktadır. Başarım, sıralı çalışan buyrukların çalıştırılma basamaklarında farklı aşamalarda olmasıyla veya aynı anda birden fazla buyruğun birbirinden bağımsız olarak çalıştırılmasıyla arttırılabilir. Bu yöntemlerin daha da iyileştirilmesi, buyrukların programdaki sırasından farklı bir sırada çalıştırılması ile sağlanabilir; bu yönteme de Sırasız yürütüm denir.

<span class="mw-page-title-main">Alpha 21264</span>

Alpha 21264 1996 yılı Ekim ayında Digital Equipment Corporation tarafından indirgenmiş komut takımı bilgisayarı(RISC) mikroişlemcisi olarak tanıtılmıştır. 21264 Alfa işlemcisi Komut kümesi ile tanımlanmıştır.

NetBurst, İntel'in 2000 yılında piyasaya sürdüğü Pentium 4 işlemci markasının mikromimarisine verilen isimdir. 2006 Temmuz'unda Core mikromimarisinin çıkışına kadar İntel işlemcilerin mikromimarisi olmuştur. Selefi P6 mikromimarisine göre en önemli özelliği derin boru hattı yapılanmasıyla avantaj sağladığı yüksek saat sıklığıdır. Temel olarak dört ana parçadan oluşmaktadır: Sıralı(ing. In-order) Ön-Uç(ing. Front-end), Sırasız(ing. out-of-order) yürütme birimi, Tam sayı ve kayan nokta yürütme birimleri ve bellek altdizgesi.

<span class="mw-page-title-main">Nehalem (mikromimari)</span>

Nehalem, İntel firmasının Eylül 2008'de piyasaya sürülen Core i7 işlemcisiyle birlikte kullanılmaya başlanmıştır. 2011'de Sandy Bridge mikromimarisi sunulana kadar İntel'in en gelişmiş mikromimarisi olarak piyasada kalmıştır. Selefi Core mikromimarisine göre paralelliği ve saat frekansını arttırmış, Core mikromimarisinde İntel'in kullanmadığı fakat daha önce NetBurst'de kullanılan Hyper Threading teknolojisi Nehalem ile tekrar kullanılmaya başlamıştır. Nehalem'le birlikte Core mikromimarisinde terkedilmiş olan üçüncü seivye bir önbellek de yonganın içerisine eklenmiştir. İntel, Nehalem ile ilk defa bellek denetim birimini işlemci yongasının içine koymuş ve front-side bus dan ayırmıştır.