• Sonuç bulunamadı

3. MATERYAL ve YÖNTEM

3.2 Yöntem

3.2.3 Komut seti

Tasarlanan işlemcinin komut setinde aritmetik ve mantık, veri transferi, kaydırma ve döndürme, karşılaştırma ve dallanma gibi işlemleri yerine getirmekte olan 40 adet komut bulunmaktadır. Tasarlanan işlemcinin komutları gruplandırılarak ayrı ayrı

29

çizelgelerde verilmiştir. Çizelgelerde HY kısaltması hedef yazmacı, KY kısaltması kaynak yazmacı, KY-1 kısaltması birinci kaynak yazmacı, KY-2 kısaltması ikinci kaynak yazmacı temsil etmektedir. Bir adet kaynak yazmacı kullanılan komutlarda KY kısaltması, iki adet kaynak yazmacı kullanılan komutlarda ise KY-1, KY-2 kısaltmaları kullanılmıştır.

Çizelge 3.1’de aritmetik ve mantık işlemlerini gerçekleştirmek üzere kullanılan 15 adet komut görülmektedir. İşlemci 0 ile 256 doğal sayı aralığını destekler. Aritmetik ve mantık işlemler kaynak yazmacındaki değer ya da anlık değer ile yapılabilir.

Çizelge 3.1 Aritmetik ve Mantık işlem komutları Komut Opcode İşlem Açıklama NOT 110000 HY = ~ KY Hedef yazmaca kaynak yazmacının tersinin

yazılması

30

Çizelge 3.2’de kaydırma ve döndürme komutları görülmektedir. İşlemci mantıksal kaydırma, aritmetik kaydırma ve dairesel kaydırma işlemlerini desteklemektedir. Birinci kaynak yazmacındaki değer anlık veri değeri kadar kaydırılarak hedef yazmaca aktarılır.

Çizelge 3.2 Kaydırma ve döndürme komutları

Komut Opcode İşlem Açıklama

SLL 110010 HY =KY << A.D. Anlık değer kadar sola mantıksal kaydırma SRL 110011 HY= KY >> A.D. Anlık değer kadar sağa mantıksal kaydırma SLA 110100 HY =KY << A.D. Anlık değer kadar sola aritmetik kaydırma SRA 110101 HY= KY >> A.D. Anlık değer kadar sağa aritmetik kaydırma SLC 110110 HY = KY <<

A.D.

Anlık değer kadar sola dairesel kaydırma SRC 110111 HY = KY >>

A.D.

Anlık değer kadar sağa dairesel kaydırma

Çizelge 3.3’te veri transfer komutları görülmektedir. MOV ve MOVi komutları hedef yazmaca kaynak yazmaçtaki değeri ya da anlık değeri aktarmak için kullanılır. LOAD ve STR komutları hafıza erişim komutlarıdır. Birinci kaynak yazmacındaki değeri hafızada istenen adrese aktarmayı ya da hafızada belirli bir adresteki değeri hedef yazmaca aktarmayı sağlarlar. IN ve OUT komutları ise giriş portlarından veri alınmasını ya da yazmaçtaki verinin çıkış portlarına aktarılması amacıyla kullanılır.

Çizelge 3.3 Veri transfer komutları

Komut Opcode İşlem Açıklama

MOV 110001 HY = KY Hedef yazmaca kaynak yazmacının içeriği aktarılır

MOVi 101000 HY = Anlık Değer Kaynak yazmaca anlık değer aktarılır LOAD 100000 HY = Mem[A.D.] Hedef yazmaca hafızanın anlık değer ile

belirlenen adresinin içeriği aktarılır

STR 101111 Mem[A.D.] = KY Hafızanın anlık değer ile belirlenen adresine kaynak yazmacının içeriği aktarılır

IN 100010 HY = Input Hedef yazmaca giriş portundaki değer aktarılır

OUT 010001 Output = KY Çıkış portuna kaynak yazmacının değeri aktarılır

31

Çizelge 3.4’te karşılaştırma ve dallanma komutları görülmektedir. CMP komutu kaynak yazmaçlarındaki değerleri karşılaştırarak bayrak durumlarını günceller. Koşullu dallanma komutları bu bayrak durumlarına bağlı olarak dallanma işlemini gerçekleştirir.

Dallanma komutlarından JMP ve CALL koşulsuz dallanma gerçekleştirirler. CALL komutu JMP komutundan farklı olarak dallanmayla birlikte bir sonraki komutun adresini yazmaçta tutar. RET komutuyla birlikte tutulan bu adrese geri dönülebilir.

Çizelge 3.4 Karşılaştırma ve dallanma komutları

Komut Opcode İşlem Açıklama

JMP 001000 Program Sayacı = Anlık Değer Koşulsuz dallanma JE 001001 Karşılaştırma Bayrağı(1) = ‘1’ise

Program Sayacı = Anlık Değer

Koşullu dallanma

JNE 001010 Karşılaştırma Bayrağı(1) = ‘0’ise Program Sayacı = Anlık Değer

Koşullu dallanma

JG 001011 Karşılaştırma Bayrağı(2) = ‘1’ise Program Sayacı = Anlık Değer

Koşullu dallanma

JL 001100 Karşılaştırma Bayrağı(0) = ‘1’ise Program Sayacı = Anlık Değer

Koşullu dallanma

JGE 001101 Karşılaştırma Bayrağı(1) = ‘1’ise veya

Karşılaştırma Bayrağı(2) = ‘1’ise Program Sayacı = Anlık Değer

Koşullu dallanma

JLE 001110 Karşılaştırma Bayrağı(1) = ‘1’ise veya

Karşılaştırma Bayrağı(0) = ‘1’ise Program Sayacı = Anlık Değer

Koşullu dallanma

CALL 001111 Program Sayacı = Anlık Değer P.S_Ret = Program Sayacı+1

Koşulsuz dallanma

RET 000000 Program Sayacı = P.S_Ret Koşullu dallanma NOP 000010 Program Sayacı = Program Sayacı+1 İşlem yok

32

Çizelge 3.5’te kesme komutları görülmektedir. Eint komutu kesme portunun aktif edilmesi amacıyla kullanılır. Dint komutu ise kesme portunu yok sayar. Dint komutu kullanıldığında dışarıdan gelen kesme sinyali dikkate alınmaz.

Çizelge 3.5 Kesme komutları

Komut Opcode İşlem Açıklama

Eint 000100 Kesme Bayrağı = ‘1’ Kesme portu dikkate alınır Dint 000101 Kesme Bayrağı = ‘0’ Kesme portu dikkate alınmaz

3.2.4 Adresleme yöntemleri

 Yazmaç adresleme yöntemi: Hem kaynak hem de hedef bir yazmaçtır.

Tasarlanan işlemcinin aritmetik ve mantık işlemleri ve karşılaştırma işlemi yazmaç adresleme yöntemi kullanılarak gerçekleştirilir.

 Anlık adresleme yöntemi: Sabit bir değer doğrudan bir yazmaca aktarılır.

Tasarlanan işlemcinin anlık değer kullanan aritmetik mantık işlemleri ve kaydırma ve döndürme işlemleri anlık adresleme yöntemi kullanılarak gerçekleştirilir.

 Mutlak adresleme yöntemi: Dallanma komutlarında kullanılır. Bu yöntemde anlık değer doğrudan hedef adrestir. Tasarlanan işlemcinin koşullu ve koşulsuz dallanma işlemleri mutlak adresleme yöntemi kullanılarak gerçekleştirilir.

 Zımni adresleme yöntemi: Adres, operasyon kodunun kendisinden gelmektedir.

Adresleme için bir yazmaç ya da anlık değer kullanılmaz. Kesme işlemleri zımni adresleme yöntemi kullanılarak gerçekleştirilir.

 Doğrudan Bellek adresleme yöntemi: Veri belleğine erişim komutları ile birlikte kullanılır. Veri belleğinde ulaşılacak adres ya da veri belleğinden alınacak bilginin adresi anlık değer ile belirlenir.

 Giriş Çıkış adresleme yöntemi: Giriş ve çıkış işlemleri ile birlikte kullanılır.

Giriş portlarındaki değer doğrudan hedef yazmaca ya da kaynak yazmacındaki

33

değer doğrudan çıkış portuna aktarılır. Tasarlanan işlemcinin IN ve OUT işlemleri giriş çıkış adresleme yöntemi kullanılarak gerçekleştirilir.

Benzer Belgeler