İleri Mikroişlemci Özellikleri Ön-bellek sistemleri İş-hattı teknolojileri Üstün dallanma tahmini
Bunun anlamı, işlemcinin bellekten yavaş kaldığıdır. Ön-bellek sistemleri Birinci kuşaktaki XT makinelerde kullanılan işlemci hızları 4.77Mhz iken, bellek çiplerinin (Dynamic RAM-DRAM) erişim hızı 100ns’ler civarındadır. İşlemci peryodu f=1/t formülünden yaklaşık 200ns olarak belirlenebilir. Bunun anlamı, işlemcinin bellekten yavaş kaldığıdır.
İki sistemin aynı hızlarda kalması için iki yöntem ortaya çıkmıştır. Ön-bellek sistemleri Daha sonraki gelişmelerde işlemciler hızlanmış (10-20Mhz) bellek çipleri ise üretim maliyetleri nedenleriyle yaklaşık aynı hızlarda kalmıştır.(100ns) İki sistemin aynı hızlarda kalması için iki yöntem ortaya çıkmıştır. a) Sistemde kullanılan tüm bellek elemanlarının Static RAM (SRAM) tipi bellekten oluşturulması b) Ön-bellek alt sisteminin yürütülmesi
Ön-bellek sistemleri DRAM: Bir hücresi, bir transistor ve bir kondansatörden meydana gelir. Hücrelerinin sürekli tazelenme ihtiyacı vardır. Erişim süreleri SRAM’e göre yavaştır. Üretimleri daha ucuzdur. SRAM: Bir hücresi, yaklaşık altı adet transistordan oluşur. Hücrelerinin tazelenme ihtiyacı yoktur. DRAM’den daha hızlıdır. Üretimleri pahalıdır.
Ön-bellek sistemleri SRAM daha avantajlı görülebilir. Ancak aşağıdaki dezavantajlar göz önüne alındığında yaklaşım değişecektir.
Çözüm şu şekilde bulunmuştur. Ön-bellek sistemleri Çözüm şu şekilde bulunmuştur. Tüm bellek elemanlarını SRAM’lerden yapmak yerine, Ana bellekle işlemci arasına az miktarda yerleştirmek ve böylelikle işlemci-bellek hız dengesizliğini biraz olsun gidermek.
İşlemcinin içerisindeki belleğe Level 1 (L1) Ön-bellek sistemleri 486 işlemcili sistemlerde anakart ve bir miktar mikroişlemci çekirdeği içerisine konulan ön-bellek çipleri performansta önemli artışlar sağlamıştır. İşlemcinin içerisindeki belleğe Level 1 (L1) Anakart üzerindeki belleğe ise Level 2 (L2) adı verilmiştir. İki ön-bellekli sistemde işlemci önce en yakınındaki L1’e bakacak, eğer aradığı veri orada yoksa L2’ye bakacak ve eğer orada da yoksa ana belleğe bakacaktır.
Ön-bellek sistemleri Dahili ön-bellek miktarı 1KB-32KB arasında değişirken, harici ön bellek miktarı 64KB-1MB arasında değişmektedir. Pentium işlemcilerle birlikte L1 ön belleği, komut ön-belleği ve veri ön-belleği olarak ayrılmıştır.
Yerleşim esasları: Ön belleğe yerleşim iki bileşenden oluşur. a) Geçici yerleşim Programlar en son kullandıkları verileri çok yakın bir gelecekte tekrar kullanma eğilimindedir. Böyle bir yerleşim tipi daha çok döngülerde, veri yığınlarında ve değişken erişimlerde geçerlidir. Ota=(ntc+tm)/n ta, erişim süresi tc, ön-belleğe erişim süresi tm, ana belleğe erişim süresi n, veri talebi sayısı b) Uzaysal yerleşim
Ön-bellek performansının artması isabet oranının artmasına bağlıdır. Ön-bellek sistemleri Eğer aranan veri tampon bellekte ise tam isabet, eğer yoksa ıskalama olarak olarak ifade edilir. Iskalama durumunda ana belleğe bakılır. Ön-bellek performansının artması isabet oranının artmasına bağlıdır. Ön-bellek performansına etki eden bir çok faktör vardır. Bunlar; ön-belleğin mimarisi, organizasyonu ve büyüklüğüdür.
İleri-bakan Ön-bellek yapısı: Ön-bellek sistemleri İleri-bakan Ön-bellek yapısı: Ön-bellekle işlemci arasındaki veri yolu, sistem veri yolundan izole edilmiştir. İzolasyon, görevini ön-bellek denetleyicisi yapmaktadır.
Yana-bakan Ön-bellek Mimarisi Ön-bellek sistemleri Yana-bakan Ön-bellek Mimarisi Bu mimaride ön-bellek denetleyicisi bir kenarda durarak işlemcinin bellek talebinde, istenen verinin bir kopyasının kendisinde olup olmadığına bakar.
Ön-bellek uyumluluğu Ön-bellekten bir okuma yapıldığında okuma işlemi oradaki veriyi değiştirmez veya yok etmez. Bu durum ana bellek içinde geçerlidir. Bir yazma işlemi yapıldığında ön-bellek değişir, ana bellek değişmezse uyumsuzluk ortaya çıkar. Mikroişlemcide yapılan bir işlemden sonra sonucun tekrar ön belleğe yazılması ve aynı zamanda ana belleğe de yazılması gerekir. Ana bellekle ön-bellekteki verilerin uyumlu bir şekilde güncellenmesi için mekanizmalar geliştirilmiştir. Bunlar; doğrudan yazım ve tekrar yazım mekanizmasıdır.
Belleğe doğrudan yazım Ön-belleğe yazılan her veri ileri-bakan denetimcisi tarafından ana belleğe de yazılır. Yani aynı anda hem ön-bellek hem de ana bellek verileri güncellenir.
Belleğe Geriye Yazma Bu yöntemde sadece gerekli olduğunda bellek güncellenir. Sistem veri yolu varsa, diğer işlemci veya elemanlar tarafından kullanılır, yazım işlemi için veri yolu boşuna işgal edilmez. Ön-bellekte herhangi bir adres güncellendiği zaman, daha sonraki işlemlerde tanınması için değişmiş işareti ile işaretlenir.
İş-hattı teknolojileri İşlemci tarafından işlenecek komut satırları küme halinde belleğin kod bölümünde bulunmaktadır.Komutlar bazen sıralı bazen de sırasız olarak alınıp işlemciye getirilir. Bütün bu işlemler bir grup birim içerisinden geçirilerek gerçekleşir. İşlenen bu komutun bir sıra halinde işlemden geçirilmesi merhalesine iş-hattı tekniği denilir.
İş-hattı teknolojileri İlk işlemciler basit bir komutu üç adımda işlemekteydi. 1.Adımda icra edilecek komut bellekten alınıp getirilir. 2.Adımda komutun kodu çözülür. 3.Adımda komut icra edilirdi.
İş-hattı teknolojileri Orta hızlı mikroişlemcilerde işleme tabi tutulan bir komut aşağıdaki kademelerden geçer. İşlenecek komut kodunun ön-bellekten ya da orada yoksa ana bellekten bulunarak alınıp işlemci kaydedicisine getirilmesi. Bu işleme algetir (fetching) denilir. Getirilen komut kodunun Mikrokod ROM’a bakılarak yorumlanması veya tercüme edilmesi. Bu işleme genellikle kod-çözme (decoding) denilir. Komutun icrası (Execution). Sonucun belleğe geri yazılması (Write Back evresi)
İş-hattı teknolojileri İşlemci çalışma frekansının arttırılmasıyla yapılan her evre (Algetir, Kodunu çöz, Çalıştır, Geri yaz) kendi başına, bağımsız çalışabilir hale gelir. Bir birim diğer üçünün işini yapmaz, fakat hepsi art arda bağımsız birimler olarak çalışır bunun getirisi ise….
İş-hattı teknolojileri Gelişmiş işlemcilerde daha çok kademelerin bulunduğu ve aynı anda birden fazla kademede birden çok komutun işlenmesini gösteren mimariye süper iş-hattına sahip mimari (superpipelined architecture) denir. Günümüz Pentium ve AMD işlemcilerinde veya RISC işlemcilerde 10 ile 20 arasında iş-hattı kademesi kullanılmaktadır.
Bağımlılık Bazen bir komutun işlenebilmesi için önceki komutun sonuçlanması gerekmektedir. X86 komut kümesinin %10 ile %20’si şartlı ve şartsız dallanma komutlarından oluşmuştur. Bu durumda birinci komutun sonucu bilinmeden ikinci komut çalıştırılamaz. Bu durum bazı kademelerin beklemesini gerektirir ve boşa harcanan zaman ortaya çıkarır. Sistem kaynakları boşa harcanır. Mikroişlemcide boşa harcanan zamanı ortadan kaldırmanın ilk yolu, ön-bellek sisteminin oluşturulmasıdır. İş-hattını oluşturan kademelerdeki etkinliği azaltan gecikmeleri ortadan kaldırmak içinde, Dallanma Tahmin algoritması geliştirilmiştir.
Dallanma Tahmini Dallanma tahmini yüksek düzeyli programlama dillerindeki IF-THEN-ELSE yapısına benzer. Eğer şart sağlanırsa işlem diğer bir bölgeye sıçrar, yanlış ise sıradaki komuta devam eder. Bu işlem ardışık düzendeki komutların sıralı işlenmesini zorla kesmek ve program akışını başka yerlere yönlendirmektir. Çünkü işlemci dallanma komutunun icrası bitene kadar sonraki emrin ne olduğunu bilemez. Modern işlemciler daha uzun ardışık komut akışına sahip olmak istediğinde bu soruna bir çözüm getirmek için bilgilendirmeye ihtiyaç duyar.
Dallanma Tahmini Yanlış olursa.. Daha önce gösterilen 4-kademeli iş-hattı tekniği kullanan örnek ele alınırsa, 2.,3.,4. ve daha sonraki komutların her biri 1.komutun sonucuna bağlı olsun ve tahmini duruma göre çalıştırılsınlar. Eğer tahmin yanlış çıkarsa, 2. komut ve diğerleri iş-hattının aniden boşaltılmasını gerektirir. Böyle bir durumda işlemci iş-hattındaki tüm verileri iptal eder ve işe yeniden başlar. 20 kademeli iş hattına sahip Pentium-4 işlemcisinde bu durumun ortaya çıkması, eğer tedbir alınmamışsa büyük bir zamanın boşa geçmesine neden olur. Komutların birbirine bağımlı olduğu durumlarda daha sonraki adımda işlemcinin ne yapacağını tahmin etmesi için geliştirilmiş çeşitli yöntemler vardır. Günümüz işlemcilerinde Dallanma Tahmini %90 tutmaktadır.