Bellek Adreslemeli Buyruklar [Bilgisayar Mimarisi]

Yazar:

Bu yazıda yazacaklarımı anlayabilmek için önceki yazılarım hakkında bilgi sahibi olmanız gerekmektedir.

Önceki yazılar :
Bilgisayarın İç Yapısı ve İşleyişi  [Bilgisayar Mimarisi]
Bilgisayarın İç Yapısı ve İşleyişinde OPR Biti [Bilgisayar Mimarisi]

OPR bitinden bahsettiğim konuda bir buyruğun bellek adreslemeli buyruk olup olmadığına bilgisayarın nasıl karar verdiğinden bahsetmiştim. OPR biti 111 olmadığı sürece gelen buyruğun kesinlikle her bellek adreslemeli buyruk olduğunu söylemiştim. Neden 3 bit olarak almıştık OPR bitini? Çünkü bilgisayarımızın 16 bitlik basit bir bilgisayardı demiştim. 3 bit  OPR biti içeren bir bilgisayar 7 farklı bellek adreslemeli buyruk içerir. Onları da şöyle sıralamıştık :

D0 işlemi veya buyruğu için bilgisayardaki OPR biti kodu = 000
D1 işlemi veya buyruğu için bilgisayardaki OPR biti kodu = 001
D2 işlemi veya buyruğu için bilgisayardaki OPR biti kodu = 010
D3 işlemi veya buyruğu için bilgisayardaki OPR biti kodu = 011
D4 işlemi veya buyruğu için bilgisayardaki OPR biti kodu = 100
D5 işlemi veya buyruğu için bilgisayardaki OPR biti kodu = 101
D6 işlemi veya buyruğu için bilgisayardaki OPR biti kodu = 110

Bu 7 işlemin hepsi bellek adreslemeli buyruk işlemidr. İşte bu konumuzda bu işlemlerin ne işlemleri olduğuna bakacağız.

D0 'a denk gelen OPR biti bilgisayarda = AND işlemi yapıyor.
D1 'e denk gelen OPR biti bilgisayarda = ADD işlemi yapıyor.
D2 'ye denk gelen OPR biti bilgisayarda = LDA işlemi yapıyor.
D3 'e denk gelen OPR biti bilgisayarda = STA işlemi yapıyor.
D4 'e denk gelen OPR biti bilgisayarda = BUN işlemi yapıyor.
D5 'e denk gelen OPR biti bilgisayarda = BSA işlemi yapıyor.
D6 'ya denk gelen OPR biti bilgisayarda = ISZ işlemi yapıyor.


Buyrukların İngilizce açılımları ise ş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


Tablo olarak gösterecek olursam :

Şimdi bu işlemlerin ne olduklarına bakalım. Şuradaki ilk yazımda T3'e kadar olan tüm adımları yazmıştım. Buradan itibaren ise mikro işlemlere dikkat ederseniz eğer hep T4'den başlatarak yazmaya  başlayacağız. Anlayacağınız üzere orada yaptığımız mikroişlemler standart mikroişlemlerdir. Burada yapılacak bir bir işlem ise devamı niteliğinde olup, T4 zamanından başlayacağına dikkat edin.

Konuya girmeden önce, önceki ilk 3 adımdaki mikroişlemleri hatırlayalım :


AND Buyruğu

AC'yi "VE"le anlamına geliyor. Akümülatör'de (AC) bulunan bitlerle, bellekten alınan veriyi "VE"leme işlemi yapar. Bunun için şu mikro işlemler yapılır :



Açıklaması :
T4 zamanında veri bellekten DR içine atılır.
T5 zamanın AC ile DR "VE"lenir ve sonuç AC'ye yazılır.
Son olarak, sonraki buyruk sürecine hazırlık olsun diye SC = 0 yapılır. Her buyruk işleminden sonra bu SC değeri sıfırlanır. Maksat bir sonraki buyruk T6'dan devam etmesin. Tekrardan T0'dan başlasın diye. SC sadece bir zaman sayacıdır. Kaçıncı zamanda bilgisayarın hangi işlemi yaptığını gösteriyor.


ADD Buyruğu

Bellekteki veri AC'ye eklenir. Başka bir deyişle AC’nindeğeri ile etkin adresten alınan bellek kelimesinin değeri toplanır. Gerçekte, bilgisayar arayüzünde farklı bir işlem yapıyorsunuzdur ama bilgisayarın alt katmanlarında, yaptığınız o işlemin bir parçası olarak bazı bitlerin toplamı gerekiyor olabilir. Bildiğimiz 3+2 şeklinde toplamdan bahsetmiyoruz!Verilerin bit düzeyinde toplamı yapılır. Örneğin; "11011101 + 11100110" gibi 8er bitlik verilerin toplamının yine 8 bit olması beklenirken 9 bit çıkarsa eğer, fazla olan bit eldedir. Bu şekilde, toplamın bir eldesi olma ihtimali olduğu için AC'nin çıkış eldesi E dediğimiz bölgeye aktarılır. Konunun en alt kısmına ekleyeceğim görselden o "E" dediğim kısmı görebilirsiniz.

Şimdi ise ADD buyruğunun bilgisayarda nasıl gerçekleştiğini gösteren mikro işlemlere bakalım :



Açıklaması :
T4 zamanında veri bellekten DR içine atılır.
T5 zamanın AC ile DR toplanır ve sonuç "AC"ye yazılır. SC adı verilen zaman "sayacı" sıfırlanır.


LDA Buyruğu

Bellektekiyi veri "AC"ye yükle anlamı taşır. Bellekten direkt olarak Akümülatör'e (AC) bir yol olmadığı içi veri önce DR dediğimiz DataRegister'e aktarılır. Daha sonra DataRegister'den AC'ye aktarılır.



T4 zamanında veri bellekten DR içine atılır.

Açıklaması :
T4 zamanında, M nolu bellek gözündeki veri DR içine atılır.
T5 zamanında, DR içindeki veri AC'yüklenir. SC adı verilen zaman "sayacı" yine sıfırlanır.


STA Buyruğu

Bu buyruk, "Akümülatör'de (AC) işlenen veriyi belleğe yaz" anlamı taşır. AC çıkışları veri yoluna, veri yolu da belleğin girişlerine bağlıdır. Yazının en altındaki şekilden de bunu görebilirsiniz. Bu sebeple tek mikro işlemle sadece T4 zamanında bu işlem gerçekleştirilebiliyor. Şu şekilde :



Açıklaması :
T4 zamanında, AC'deki veri M nolu bellek gözüne yazılır. SC yine sıfırlanır.

Yukarıdaki buyrukları incelerken, konuyu görsel olarak da pekiştirmeniz için aşağıdaki görseli de inceleyebilirsiniz.

16 bitlik 'register'lara ve 3 bitlik OPR bitine sahip bilgisayarımıza ait işlemcinin ilgili bölümü :



Şuana kadar yaptığım anlatımlarda hep 16 bitlik basit bir bilgisayarı göz önünde bulundurarak işlemler yaptığımızı söylemiştim. Yazının da başında dediğim bu 16 bitlik bilgisayarda toplamda 7 tane bellek adreslemeli buyruk var demiştim. Şuana kadar sizlere D0, D1, D2, D3'e karşılık gelen AND, ADD, LDA, STA buyruklarını anlattım.

Bundan sonrasında ise geriye 3 tane önemli buyruk kalıyor. Bu buyruklar BUN, BSA ve ISZ buyruklarıdır. Bir sonraki yazımda ise bu buyrukları tek tek ele alacağı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.

0 yorum:

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