• Sonuç bulunamadı

Sahip Olunan Kaydediciler(Registers)

Bilgisayar buyrukları normal olarak ardışık bellek adreslerinde tutulurlar ve bir zamanda sadece bir tanesi icra edilir[25]. Denetim mekanizması, belleğin belirli bir bölgesinden bir buyruk okur ve bunu icra eder ve bu şekilde ardışık olarak devam eder. Böyle sırayla yapılan buyruk sıralamasında bir buyruğun icrasından sonra getirilecek ve icra edilecek buyrukların adreslerini hesaplamak için bir sayaca gerek vardır. Ayrıca denetim birimi içinde bellekten okunan buyruğun saklanması için gerekli bir yazaç bulunması gerekir. Bilgisayarın veriyi işlemek için işlemci yazaçlarına ve bellek adreslerini tutmak için bir yazaca ihtiyaç vardır. Bu gereksinimler Tablo 4.1 de verilmiştir.

Tablo 4.1. Kullanılan kaydedici isimleri ve bit uzunlukları

Veri Kaydedicisi: Bellekten okunan verilerin tutulduğu kaydedicidir. Buradaki veri aritmetik mantık birimi tarafından değerlendirilerek veri yoluna iletilir.

Program Sayıcı: Adres ucu kadar bite sahiptir. O anda çalışacak olan komutun adresini üzerinde bulundurur. Komut çalıştırıldıktan sonra bir arttırılır.

Adres Kaydedicisi: Belleğin herhangi bir bölgesindeki veriye erişimde kullanılır. Komut Kaydedicisi: O anda çalışan komutu üzerinde bulundurur.

Register Bit uzunluğu Data Register(DR) 16 bit Program Counter(PC) 16 bit Adres Register(AR) 16 bit Accumulator(AC) 16 bit Instruction Register(IR) 8 bit

Index Register(IX) 16 bit Stack Pointer(SP) 16 bit Output Register(OUTR) 8 bit

Input Register(INR) 8 bit Temporary Register(TR) 16 bit Condition Code Register(CCR) 8 bit

Akümülatör: Veri kaydedici kadar uca sahiptir. ALU tarafından kullanılır. Genelde o andaki verileri veya işlem sonuçlarını üzerinde bulundurur.

İndis Kaydedicisi: Kullanılacak gerçek hafıza yerini belirlemek için bu yazaç içindeki değer, özellikle bu bilgisayarda indisli adresleme modu kullanan komutların ikinci byte’ında yer alan offset değeriyle toplanır.

Yığın göstergeci: Hafızadaki herhangi bir hücre adresini bulundurur. Herhangi bir dallanma ile alt programlara gitme ve kesme istekleri anında mikroişlemcinin o anda gerekli olan bilgilerini dönüş anında kullanmak üzere saklamak gerekir[26]. Bunun içinde geçici olarak yığın göstergecinin RAM üzerinde göstermiş olduğu adresten geriye doğru bir veri yığını oluşturulur. İşte yığın göstergeci, bu veri yığınının oluşturulacağı başlangıç adresini üzerinde tutar. Yığına atılan son bilgi ilk alınır. Tasarlanan bu bilgisayarda yığına atılan bilgiler sırasıyla Program sayıcı(PC), indis yazacı, akümülatör ve durum yazacı içindeki bitlerdir. Şekil 4.2’de bu durum gösterilmiştir.

Şekil 4.2. Yığın yapısı

− Yığından bir okuma/yazma yapılacaksa, yığın göstergecinin işaret etmiş olduğu hafıza hücresinden okunur/yazılır.

CCR AC(H) AC(L) IX(H) IX(L) PC(H) PC(L) SP

− Yığın göstergecinin değeri mikro işlemci tarafından otomatik olarak ya bir arttırılır ya da bir azaltılır.

− Yığın türleri:

− LIFO(Last-in First-Out): Yığına atılan son bilgi ilk alınır. − FIFO(First-ib First Out): Yığına atılan ilk bilgi ilk alınır. Bu bilgisayarda kullanılan yığın türü LIFO’dur.

− Bir PUSH komutu ile veri yığına atılırken, PULL komutu ile veri yığından alınır. − Yığın çok düzeyli kesmelerin kolayca gerçeklenmesini, sınırsız sayıda alt programın iç içe geçirebilmesini ve birçok veri işleme türlerinin basitleştirilmesini sağlar.

− Mikroişlemcinin ana programdan alt programa gittiği zaman ana programa döneceği adresi sakladığı adres gözünün adresini içerir.

Giriş Kaydedicisi: Dış birimler tarafından girilen bilgileri saklayarak aritmetik mantık birimine gönderir. Bu birimin veri yoluyla bağlantısı yoktur.

Çıkış Kaydedicisi: Bilgisayar işlene verilerin dış dünyaya aktarımında kullanılan birimdir. Girişleri veri yoluna bağlanmış olup çıkışları dış dünyadaki bir cihazın girişlerine bağlıdır.

Durum kod Kaydedicisi: ALU ile birlikte çalışır. Bayrak kaydedicisi, bütün mikro işlemcilerde olduğu gibi, bir işlemin sonucunda sonucun ne olduğunu kaydedici bitlerine yansıtan bir kaydedicidir. Bu kaydediciye bayrak denmesinin sebebi, karar vermeye dayalı komutların yürütülmesinde sonuca göre daha sonra ne yapılacağını bit değişimiyle bu kaydedicinin bir bitlik hücrelerine yansıtmasıdır[27]. Kaydedicideki bitlerin mantıksal 1 olması bayrak kalktı, mantıksal 0 olması bayrak indi anlamına gelmektedir. Karşılaştırma ve aritmetik komutların çoğu bayraklara etki eder. Bilgisayarın sahip olduğu durum kod kaydedicisi Şekil 4.3 de görülmektedir.

4.2.1. Kaydecilerin özellikleri

Tablo 4.1’den de görüleceği üzere bazı kaydediciler 16 bitlik bazıları ise 8 bitliktir. 16 bit olarak tasarlanan kaydediciler düşük anlamlı sekiz biti bir kaydedici, yüksek anlamlı sekiz biti bir kaydedici olmak üzere iki adet kaydedici olarak tasarlanmıştır. Kaydedicilerin girişleri tasarlanan 16 bitlik veri yoluna bağlıdır. Düşük anlamlı bitleri veri yolunun düşük anlamlı kısmına, yüksek anlamlı bitleri ise veri yolunun yüksek anlamlı kısmına bağlıdır. Çıkışları ise yine aynı şekilde veri yoluna bağlıdır. Şekil 4.4’de verilen veri kaydedicisinin bir bitlik kısmında yer alan giriş ve çıkışları açıklaması Tablo 4.2’de verilmiştir. Yapılan bu açıklamalar diğer kaydediciler için ortak bir özellik taşıyacaktır. Çünkü diğer kaydediciler içinde ortak bir isim kodlaması yapılmıştır. 0 0 0 I O S Z C Sıfır İşaret Kullanılmıyor Elde Taşma Kesme

Tablo 4.2 Veri kaydedicisine ait giriş/çıkış kontrolleri

Giriş/Çıkış İsmi Açıklaması

CLRDRL Veri Kaydedicisinin(DR) Düşük anlamlı(L) kısmını temizle(CLR).

LDADRL Veri Kaydedicisinin(DR) Düşük anlamlı(L) kısmına yükle(LDA).

INCDRL Veri Kaydedicisinin(DR) Düşük anlamlı(L) kısmını arttır(INC).

BUSL00 Düşük anlamlı veri yolunun(BUS) ilk biti(00) DRLOT0 Veri Kaydedicisinin(DR) Düşük anlamlı(L) kısmının

çıkışının(OuT) ilk biti(0).

Kaydedicilerin büyük bir çoğunluğunda yükleme, bir artırma, silme kontrol girişleri vardır. Bazı kaydedicilerde bu kontrollere ilave olarak bir azaltma kontrol girişi ilave edilmiştir. Bazı kaydedicilerde ise sadece yükleme kontrol girişi vardır. Tasarlanan kaydedicilerin sahip oldukları kontrol girişleri Tablo 4.2’de verilmiştir.

Tablo 4.3 Kaydedicilerin sahip olduğu kontrol girişleri

Sahip Olunan Kontrol Girişleri Kaydedici İsmi Yükle Temizle Arttır Azalt

Veri Kaydedici(DR) Var Var Var Yok

Geçici Kaydedici(TR) Var Var Var Yok

Program Sayıcı(PC) Var Var Var Yok

Adres Kaydedici(AR) Var Var Var Var

Akümülatör(AC) Var Var Var Yok

Komut Kaydedici(IR) Var Yok Yok Yok

İndis Kaydedici(IX) Var Var Var Var

Yığın Göstergeci(SP) Var Var Var Var Giriş Kaydedici(INPR) Var Yok Yok Yok Çıkış Kaydedici(OUTR) Var Yok Yok Yok Durum Kod Kaydedici(CCR) Var Yok Yok Yok

Şekil 4.4’de MML programında tasarlanan kaydedicilerden veri kaydedicinin düşük anlamlı kısmının bir bitinin ekran görüntüsü görülmektedir.

Şekil 4.4. Veri kaydedicinin bir bitlik kısmı