Ö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!
Ç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.
YanıtlaSilİyi çalışmalar.
Yorumunuz için teşekkürler..
SilBuyruklar 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
Aradan 5 yıl geçmiş....
YanıtlaSilSen çok iyi bir eğitimci olabilirsin...Umarım iyi yerlerdesindir.
Çünkü her şeyi kafada somutlaştırarak gayet güzel anlatmışsın.
Ben bunu ders olarak değil de gazete makalesi gibi severek okudum.
Eline sağlık.
Değerli yorumunuz için çok teşekkür ederim. İçeriğin faydalı olmasına çok sevindim.
Sil