MİKROİŞLEMCİ MİMARİLERİ
Mikroişlemcilerin yapısı tipik olarak 2 alt sınıfta incelenebilir: Mikroişlemci mimarisi (Komut seti mimarisi), Mikroişlemci organizasyonu (İşlemci mikromimarisi).
CISC 1980 lerden önce makine dili ile bilgisayarları programlamak için kullanılan diller arasında çok büyük fark vardı. O dönemlerde makine dilinin yüksek seviyeli dillere yaklaşması ile programlama için daha az komut kullanılacağı ve böylece performansın artacağı ayrıca derlemenin daha kolay olacağı düşünülürdü. Böylece çok karmaşık komutların bulunduğu komut setleri tasarlandı.
RISC Derleyici teknolojisi ilerledikçe araştırmacılar, basit komut setlerinin performansının karmaşık komutlara göre daha fazla olabileceğini düşündüler.
CISC Karmaşık komutlar Farklı uzunlukta komutlar Az register Karmaşık ve çok sayıda adresleme modu Komutlar daha çok bellekle işlem yaparlar Birçok komut belleğe erişebilir Mikro kodlu çalışma
Basit komutlar RISC Sabit uzunlukta komutlar Çok register Basit ve az sayıda adresleme modu Komutlar daha çok registerlar ile işlem yaparlar Sadece iki komut belleğe erişebilir (Load ve Store) Sadece donanımsal çalışma (yani mikro kodsuz)
CISC RISC KARŞILAŞTIRMASI Karmaşık komutlar Farklı uzunlukta komutlar Az register Karmaşık ve çok sayıda adresleme modu Komutlar daha çok bellekle işlem yaparlar Birçok komut belleğe erişebilir Mikro kodlu çalışma Basit komutlar Sabit uzunlukta komutlar Çok register Basit ve az sayıda adresleme modu Komutlar daha çok registerlar ile işlem yaparlar Sadece iki komut belleğe erişebilir (Load ve Store) Sadece donanımsal çalışma (yani mikro kodsuz)
MİKROİŞLEMCİ PERFORMANSI Performans denince neyin kastedildiği çok açık değildir. Genel olarak, performans, verilen bir sistemin bir program veya programları ne kadar çabuk çalıştırdığını anlatır. Programları daha kısa sürede çalıştıran sitemlerin daha yüksek performansı olduğu söylenir.
1980 lerin başından itibaren bilgisayar performansı; mikroişlemciler, bellek entegreleri ve diğer bilgisayar parçaları entegrelerinin kapasitelerindeki gelişmeler ile ölçüldü. Zaman içinde entegreler : yoğunluk (silikon bir çip üzerine kaç tane transistör ve bağlantı yerleştirilebileceği), hız (lojik kapılar ve bellek cihazlarının çalışma hızı) ve boyut (imal edilebilecek entegrenin fiziksel büyüklüğü) açısından geliştiler.
MOORE YASASI: Intel in yardımcı kurucularından olan George Moore 1965 te bir tahminde bulundu ve her yıl entegre içindeki transistör sayısının ikiye katlanacağını söyledi. Zaman, kendisini bile şaşırttı ve 80 lere kadar gerçekten böyle devam etti. 80 lerde hız biraz yavaşladı ve her 18 ayda ikiye katladı.
Moore Yasasının Sonuçları: Bu hızlı gelişme sonucunda entegrenin maliyeti sabit kaldı. Yani bilgisayarın lojk ve bellek devrelerinin fiyatları etkileyici şekilde düştü. Lojik ve bellek elemanları entegre içinde daha yoğun şekilde sıkıştırılmış olduğundan elektriksel yollar kısaldı ve çalışma hızı artmış oldu. Bilgisayarlar küçüldü ve farklı çevrelerde yerleştirilmesi kolaylaştı. Enerji ve soğutma gereksinimlerinde azalma oldu. Entegre devreler içindeki bağlantılar lehimleme ile yapılan bağlantılardan daha güvenilirdir. Entegre içine daha fazla yerleştirilebildiğinden entegreler arası bağlantılar azaldı.
Performansı Ölçme Yolları: Bilgisayar performansının en iyi ölçüsü çalıştırılmak istenen program veya programların çalışma süresidir. Ancak gerekli tüm programların belli bir bilgisayarda çalıştırılarak hızının ölçülmesi uygulanabilir değildir. Bunun yerine bilgisayar mimarları bilgisayar performansının ölçülmesi için birkaç ölçüm tekniği geliştirmiştir.
Performansı Ölçme Yolları: 1- MIPS: (Millions Of Instructions Per Second) Programdaki komut sayısının programın çalışma süresine bölünmesiyle elde edilir. Yani 1 saniyede çalışan komut sayısını söyler. Ancak bu yöntem verilen bir görevin gerçekleştirilmesi için gerekli komut sayısı hakkında fikir vermez.
Performansı Ölçme Yolları: 2- CPI / IPC: CPI(Cycles Per Instruction): Komut başına çevrim sayısı, her bir komutun kaç çevrimde çalıştırılacağı veya IPC(Instructions Per Cycle): Bir çevrimde çalıştırılan komut sayısı. Bu ölçü de aslında çok fazla bilgi vermiyor. Bu ölçme yönteminde de sistem saat frekansı ya da belirli bir görev için kaç tane komut gerekli olduğu bilgisi yoktur. Genel bilgisayar sistemlerinin performansını ölçmede fazla kullanılmaz. Ama bilgisayar mimarisi araştırmacıları tarafından kullanılırlar. Çünkü bu araştırmaların çoğu simülatörler vasıtasıyla yapılır.
Performansı Ölçme Yolları: 3- Benchmark Testleri: Bu yöntemde sistemde çalıştırılacak programların tipik örneklerinden bir grup oluşturulur. Sistemin performansı bu gruptaki programların çalışma süresine göre belirlenir. Farklı tipteki uygulamalar için bir sistemin performansının ölçümünde kullanılan pek çok farklı Benchmark test grubu vardır.
Performansı Ölçme Yolları: 3- Benchmark Testleri: Benchmark testleri yönteminin MIPS ve CPI/IPC ye göre üstünlükleri vardır. Örneğin, Benchmark ın performans sonuçları toplam çalışma sürelerine bağlıdır, oranlara değil. İkinci olarak, sistemin ortalama performansının bulunması için çalıştırdığı birçok programın ortalaması alınır. Böylelikle elde edilen performans değeri daha güvenilir olur.
Performansı Ölçme Yolları: 4- Amdahl Kuralı: Yüksek performanslı bilgisayar tasarlarken kullanılan en önemli kural sık kullanılan durumlardaki hız artışına dikkat edilmesidir. Yani bir yeniliğin bütün performans üzerindeki etkisi hem bu yeniliğin kullanıldığında performansı ne kadar arttırdığı, hem de bu yeniliğin ne sıklıkla kullanıldığıdır. Bu Amdahl kuralı olarak bilinir.
Performansı Ölçme Yolları: 4- Amdahl Kuralı: Yürütmesüresi( yeni) = Yürütmesüresi( eski) kullanmama. süresioranı + kullanma. süresioranı hıızlandır a hıızlandır Yürütmesüresi( eski) a( toplam) = Yürütmesüresi( yeni) = 1 kullanmama. süresioranı + kullanma. süresioranı hıızlandır a
4- Amdahl Kuralı: Performansı Ölçme Yolları: Örnek: Donanımsal olarak çarpma işlemi gerçekleştiremeyen, dolayısıyla da çarpmayı üst üste toplayarak yapan bir mimariyi düşünelim. Çarpmayı yazılımla yaptırmak 200 çevrim, donanım ile yaptırmak ise 4 çevrim sürüyor. Toplam süresinin a) %10unu çarpma yaparak harcayan bir programın ne kadar hızlandırılacağını bulunuz. b) Sürenin %40 ını çarpma için harcıyorsa sonuç ne olur? 200 Hızlandırma = = 50(yazılıma göre donanım çarpması hızlandırması) 4 = 1,11 a) Hızlandırma (toplamda)a = 0,1 (Yani % 11 performans artışı) 0,9 + 1 1 0,4 0,6 + 50 b) Hızlandırma (toplamda)b = (Yani % 64 performans artışı) 50 = 1,64
PERFORMANSI ARTTIRAN GELİŞMELER Ön bellek kullanımı (Cache memory) İş-hattı tekniği (Pipelining) Dallanma tahmini
ÖN BELLEK Birinci kuşak makinalarda işlemci hızı 4,77Mhz. iken bellekler 100ns. idi. Zamanla işlemci hızı bellekleri çok aşmıştır. Bu yüzden belleğe sık erişim performansı düşüren bir etken olmuştur. Bütün ana bellek statik RAM olsa sistem hızlanır, ama;
Statik Ram bellekler Dinamik olanlara göre pahalıdır. Bir SRAM hücresinde ortalama 6 tane FET tipi transistör kullanılırken(8-12ns) bir DRAM hücresi için 1 transistör ve 1 kondansatör (50-70ns) gereklidir. SRAM de çok transistör olduğundan çok yer kaplar ve yer sıkıntısı olur. Çok transistörlü bellek fazla ısınır ve gürültülü çalışır. SRAM daha fazla güç gerektirdiğinden daha güçlü ve daha pahalı enerji kaynağı gerektirirler.
İŞ HATTI
Makina Diline Kodlama Register Kodları
MOV Komutu Makine Dili Formatları
8088 Mikroişlemcisi Komut Yapısı
D (direction): 2. byte da reg kodu verilen register ın hedef mi kaynak mı olduğunu bildirir. hedef için:1 kaynak için:0 W (width): İşlem 8 bitlik ise:0 işlem 16 bitlik ise:1 Reg: 1. byte da hedef ya da kaynak olduğu bildirilen register ın kodu Mod: operand ın ikinci kısmının bellek mi register mı olduğunu bildiren kod R/M: operand ın ikinci kısmının kodu