BUN : Şartsız Dallanma [Bellek Adreslemeli Buyruk]

Yazar:

Daha önceki yazımızda "Bellek Adreslemeli Buyruklar"a giriş yapmıştık. Bu yazıda ise bellek adreslemeli buyruklar konusuna devam edeceğiz. Eğer önceki konuyu incelemediyseniz, bu konuyu daha iyi anlayabilmek için önceki yazıyı okumanızda fayda vardır.

Önceki yazı : Bellek Adreslemeli Buyruklar

BUN buyruğu da bir bellek adreslemeli buyruktur. Tam olarak Türkçe'ye karşılığı "Şartsız Dallanma" anlamına gelmektedir. BUN buyruğunun önceki bellek adreslemeli buyruklardan farkı ise registerlar arası bilgi aktarımı yapmamaktadır. BUN buyruğu, programcıya buyrukların sırasını bozabilme yetkisi kazandırır. Buna programın dallanması veya atlaması adı da verilir. "Şartsız Dallanma" kelimesindeki "şartsız" ifadesi ise bu buyruğun geri dönüş değeri olmadığı anlamına gelmektedir.

Yazılım düzeyinde bir örnek verecek olursam. Bir program yazdığınızı düşünün. Bu programda fonksiyon kullandığınızı düşünün. Bilsayarınız, yazdığınız programı ilk satırdan derlemeye başladı. 100 satırlık bir kod yazdığınızı düşünün. Siz ise 50. satırda bir "void" tipinde bir fonksiyon yazdığınızı düşünün. Bilgisayarınız adım adım 1. satırdan başlayarak programo derlemeye başladı ve siz 50. satırdaki void tipindeki fonksiyonunuzu 25. satırda çağırdığınız diyelim. Programınız satır satır derleme işlemi yaparken 25 satıra geldiğinde, 25 ile 50. satır arasını atlayarak direkt olarak 50. satırdaki fonksiyonu çalıştırmaya başlayacak ve fonksiyon void olduğu için (geri dönüş değeri yok) 50. satırdan itibaren derleme işlemini devam ettirip 100. satırda derleme işlemini bitirecektir. İşte donanım seviyesinde de buna benzer bir iş meydana gelmektedir. Bu sebeple de BUN buyruğunun Türkçe adı "Şartsız Dallanma"dır.

BUN buyruğu da yine, önceki bellek adreslemeli buyruklar gibi T4 zamanında işlem yapmaya başlar. Çünkü önceki yazıda da dediğimiz gibi ilk 3 adım standart olarak her buyruk işleme işlemi öncesi gerçekleşmektedir demiştim.

T3 zamanına kadarki mikro işlemleri özet olarak hatırlayacak olursak :


Şekilde T2'ye kadar olan adımlar var. T3'te buyruk donanımsal denetim biriminde çözülüp, ne tür bir buyruk olduğuna karar veriliyordu. Mesela şuanda bellek adreslemeli buyruk konusunu işlediğimize göre T3 adımında bellek adreslemeli buyruk olduğu kararı verilmiştir deriz. T3'ten sonra ise BUN buyruğu şu şekilde işleyecektir :

BUN buyruğu tek bir mikroişlem ile gerçekleştirilir. Etkin adres ortak veri yolu ile PC’ye aktarılır ve SC’nin yine "0" yapılır. Şöyle ki;


Açıklaması : 
PC, bildiğiniz üzere adres tutar. Peki neyin adresini tutuyordu? PC, çalıştırılacak programın adresini tutuyordu. PC’ye adres aktarma işlemi yaparak, "git oradaki veriyi işle ve oradan itibaren buyrukları işlemeye devam et" demiş olduk bilgisayarımıza.

Şimdi size biraz daha somut bir örnek vereyim. Aslında her şey bit seviyesinde gerçekleşiyor ama ben daha iyi anlamanız açısından 10'luk sayı sistemi üzerinden örnek vereceğim.


Bazı karakterlerin editör tarafından desteklenmemesi sebebi ile örneği ekran görüntüsü şeklinde vermek zorunda kaldım.

BUN buyruğu ile ilgili anlatacaklarım bu kadar. Sonraki konumuzda ise yine bir bellek adreslemeli buyruk olan BSA buyruğunu anlatacağım. Bu konu ile ilgili tüm sorularınızı aşağıdaki kısma yorum olarak bırakabilirsiniz. Elimden geldiğince sizlere yardımcı olmaya çalışırım.

Bilgisayar Mimarisi Dersi Konu Anlatımlarının Tamamı İçin Buraya Tıklayınız!





Hey!

Blogkafem'de okuduğunuz içeriklerle ilgili kişisel Twitter hesabım üzerinden benimle iletişme geçmek isterseniz Twitter adresim : www.twitter.com/aliarslan10

Sosyal medya hesabım dışında Blogkafem'de okumuş olduğun içerik ile ilgili belirtmek istediklerinizi aşağıdaki yorum formuna yazabilirsin. En kısa sürede dönüş yapacağımdan emin olabilirsin. :)

Okuduğunuz içerik faydalı olduysa #blogkafem etiketiyle okuduğunuz içeriğin linkini Twitter'da paylaşarak Blogkafem'e destek olabilirsiniz.

2 yorum:

  1. Çok güzel bir anlatım olmuş. Bir de bu buyrukların açılımlarının(İngilizce olarak) bir tablosunu paylaşırsanız çok güzel olur diye düşünüyorum.
    İyi çalışmalar.

    YanıtlaSil
    Yanıtlar
    1. Yorumunuz için teşekkürler..

      Buyruklar ve İngilizce açılımları şu şekildedir :

      AND = And memory word to AC
      ADD = Add memory word to AC
      LDA = Load AC from memory
      STA = Store content of AC into memory
      BUN = Branch unconditionally
      BSA = Branch and save return address
      ISZ = Increment and skip if zero

      Ayrıca tablo olarak "Bellek Adreslemeli Buyruklar" konusuna da ekledim.
      Link : http://www.blogkafem.net/2015/01/bellek-adreslemeli-buyruklar.html

      Sil
Yorum Sayfası :



Yorum yaparken dikkat edilmesi gerekenler;

1. Yorum Formunu doldurduktan sonra Profil Seç -> ADI/URL bölümünden isminizi yazıp yorum yaparsanız size karşı bir hitap şeklimiz olur. (URL kısmını boş bırakabilirsiniz.)

2. Anonim olarak yaptığınız yorumlar "Adsız" olarak gözükmektedir.

3. Türkçe yazım ve dilbilgisi kurallarına uymaya özen gösteriniz.

4. Küfür,hakaret,mail adresi veya konu ile ilgisi olmayan reklam amaçlı website adresi içeren yorumlar yayınlanmamaktadır.

Custom Search

Kafemizde En Son Kim, Ne Demiş?

Kafeyi Dikizleyenler :)

Blog Istatistik

BLOGKAFEM.NET

© Copyright 2008-2016
Sitedeki yazıların her hakkı BLOGKAFEM.NET sitesine aittir.
Kopyalanması halinde lütfen kaynak gösteriniz.
DMCA.com Protection Status
Anasayfa | Hakkımızda | Bizden | Reklam | İletişim