Dallanma Öngörüsü Nedir
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.
Dallanmayı öngörme boru hatttındaki denetim sorununu çözme ihtiyacından doğmuştur. Dallanmanın olduğu yerde sonucun ne olduğunu bilmeden hareket etmeye çalışmak denetim sorunu oluşturur. Bu sorunu sonuç belli olana kadar durup bekleyerek çözmek yerine, öngörüde bulunarak ( tahmin doğru ise devam edip, yanlış ise baştan tekrar deneyip ) çözmek daha doğru bir karar olacaktır.
Dallanmayı öngörme, program sayacının alt bit(en düşük basamak)leriyle erişilen bir sayaç tablosu kullanılarak yapılır. Bu sayaç tablosuna öngörücü denir. Yüksek doğrulukta öngörü için iki bit gerekir; tek bit yeterli olmayabilir çünkü tek bitle sadece bir önceki durum hatırlanabilir.Tek bit ile bir dallanmanın hem başını hem de sonunu yanlış tahmin etme olasılığımız hep vardır. İki bitle ise yanlış tahmin dallanmanın sonunda olmak üzere bir sefere inmiştir.
Dallanmada öngörü yapılsa bile unutulmaması gereken bir durum vardır: Dallanma buyruğunun sonucu anlaşıldığında çoktan diğer buyruklar boru hattına girmiştir. Tahminin yanlış olması durumunda yanlış yerden yakalanan buyruklar boru hattından geri dönemeyeceğine göre buyrukların boru hattından çıkması beklenir.
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.
Dallanmayı öngörme boru hatttındaki denetim sorununu çözme ihtiyacından doğmuştur. Dallanmanın olduğu yerde sonucun ne olduğunu bilmeden hareket etmeye çalışmak denetim sorunu oluşturur. Bu sorunu sonuç belli olana kadar durup bekleyerek çözmek yerine, öngörüde bulunarak ( tahmin doğru ise devam edip, yanlış ise baştan tekrar deneyip ) çözmek daha doğru bir karar olacaktır.
Dallanmayı öngörme, program sayacının alt bit(en düşük basamak)leriyle erişilen bir sayaç tablosu kullanılarak yapılır. Bu sayaç tablosuna öngörücü denir. Yüksek doğrulukta öngörü için iki bit gerekir; tek bit yeterli olmayabilir çünkü tek bitle sadece bir önceki durum hatırlanabilir.Tek bit ile bir dallanmanın hem başını hem de sonunu yanlış tahmin etme olasılığımız hep vardır. İki bitle ise yanlış tahmin dallanmanın sonunda olmak üzere bir sefere inmiştir.
Dallanmada öngörü yapılsa bile unutulmaması gereken bir durum vardır: Dallanma buyruğunun sonucu anlaşıldığında çoktan diğer buyruklar boru hattına girmiştir. Tahminin yanlış olması durumunda yanlış yerden yakalanan buyruklar boru hattından geri dönemeyeceğine göre buyrukların boru hattından çıkması beklenir.