Merkezî işlem birimi tasarımı

Merkezi işlem birimi tasarımı bilgisayarın temel bileşenlerinden birisi olan Merkezi 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ı:
Buyrukların paralel çalışmasını sağlamak
Çok vuruşluk işlemciler kullanmak
Boru hattı kullanmak
Ç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 fedakarlı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
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
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ı arttı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 bazı 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.
İş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.