Assembly Ders Notları

Bu dökümanın forum konusu linktedir : http://www.tahribat.com/Forum-Assambler-Ders-Notlari-Guncel-155650/

SAYI SİSTEMLERİ

Nümerik büyüklükler çeşitli metotlar ya da çeşitli notasyonlarla gösterilebilir. İnsanlar tarafından benimsenen notasyona decimal sistem adı verilir. Sayısal değerin ifade edilebilmesi amacıyla 10 ayrı dijitin kullanıldığı decimal sistem 10 tabanlı sayı sistemidir.

Elektronik aygıt olan bilgisayarlar için gerçekte sadece 2 ayrı büyüklüğün önemi vardır. Bunlar elektrik akınımın olması durumu veya olmaması durumudur. Bilgisayar sisteminin içyapısını oluşturan elektriksel ve birimsel kapılar sadece bu iki farklı durumu ya da değeri yorumlayabilirler. Bu değerler 0 ve 1 ile sembolize edilir. Decimal sistemde kullanılan tüm sayısal değerler bu 0 ve 1’lerin çeşitli kombinasyonlarıyla gösterilebilir ve bu değerlerin her birine binary dijit yani bit adı verilir.

Tüm sayılar her türlü sayı sisteminde ifade edilebilir. Fakat sayı sisteminin tabanı küçüldükçe ifade için kullanılan notasyon genişliği artar. Bu yüzden sayıların daha az dijitle ifade edilebilmesi için büyük tabanlı sayı sistemlerine ihtiyaç duyulur. Hexadecimal sayı sistemi bu ihtiyaca cevap vermektedir. Hexadecimal sayı sisteminin taban değeri 16’dır. Gerisinde kullanılan dijitlerden ilk 10 tanesi 0 ile 9 arasında dijitlerdir. 10,11,12,13,14,15 değerlerini gösterebilmek için sırasıyla A,B,C,D,E,F harfleri kullanılır.

Hexadecimal

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

Binary

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

Decimal

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Bit, Byte, Word, Double Word

Bilgisayarlar çeşitli değerleri 8 veya 16 bitlik gruplar halinde değerlendirirler. 8 bitten oluşan her bir kombinasyona Byte adı verilir. 2 byte’ın ya da 16 bitin bir araya gelmesiyle oluşan büyüklüğe 1 Word adı verilir. 2 ayrı Word’ün birleşmesiyle de 1 Double Word oluşturulur.

1 byte’ı oluşturan değerler 0 ile 255 arasında, 1 Word’ü oluşturan değerler ise 0 ile 65535 arasında değişir.

Negatif Sayılar

Bir bellek birimine negatif işaretli bir sayı aktarıldığında belleğe aktarılacak değer sayının kendisi değil 2’li tamamlayıcısı olacaktır. İşaretli sayının binary sistemdeki karşılığını oluşturan her bir bitin değili alınırsa 1’li tamamlayıcısı elde edilmiş olur. Bir sayının 1’li tamamlayıcısına 1 sayısı ilave edildiğinde bu sayının 2’li tamamlayıcısı elde edilmiş olur.

Örnek: (-32)

0010000032 sayısı

110111111’li tamamlayıcısı (değili)

000000011 ekleniyor

111000002’li tamamlayıcısı

MİKROİŞLEMCİ (80x86)

Bir mikroişlemci mikro bilgisayarların temel yapısını oluşturan bir ciptir. Bu temel yapı bilgisayarın fonksiyonel gücünü belirler

Bir mikroişlemcinin temel bileşenleri; işlemci(CPU), Bellek, I/O(giriş, çıkış) aygıtları ve buslardır. Merkezi işlem ünitesi(CPU) mikroişlemcinin kendisidir. Bellek ve giriş çıkış aygıtları bus adı verilen elektronik hatlar ile CPU ya bağlanmaktadır. İşlemci tüm çevre aygıtları ile iletişim kurarak bunlar arasındaki bilgi alışverişinin gerçekleştirilmesini sağlar.

Mikroişlemci bilgisayar sistemlerinde şu işlemleri yapar.

·         Sistemdeki tüm elemanları ve birimleri zamanlar ve kontrol sinyali sağlar.

·         Bellekten komut getirir.

·         Komutun kodunu çözer

·         Komutun operandına göre veriyi kendisine veya giriş çıkış birimlerine aktarır.

·         Aritmetiksel ve mantıksal işlemleri yürütür.

·         Program işlenirken diğer donanım birimlerinden gelen kesme taleplerine cevap verir.

REGİSTERLAR

İşlemci içerisinde bir program yürütülürken işlemcinin yanı başındaki kaydedicilere ihtiyaç duyulur. Register kullanmaktaki avantaj register’in işlemcinin içerisinde yer almasından dolayı bu alanlardan veriyi okumak ve veri yazmak bellek üzerindeki bellek bölgelerinde deri okumak ve yazmaya göre daha hızlı çalışmaktadır.

Kaydediciler mikroişlemci mimarisinde önemli bir yer tutar ve doğrudan işlemcinin mimarisini belirler. Registerlar verinin manevrasında ve geçici olarak tutulması da 1. derece görevidir.

Aritmetik Mantık Birimi (ALU)

Aritmetik ve mantık birimi mikroişlemcide aritmetiksel ve mantıksal işlemlerin yapıldığı en önemli birimdir. Bu birime giriş işlemleri akümülatör kaydedicisiyle, bellekten alınan beri arasında veya akümülatör ile diğer kaydediciler arasında olabilir.

Aritmetik işlemler denilince toplama, çıkarma, çarpma, bölme mantıksal işlemler denilince and, or, not, xor gibi işlemler akla gelir. Komutlarla birlikte bu işlemleri mantık kapılarının oluşturduğu toplayıcılar çıkarıcılar ve kaydırıcılar gerçekleştirirler.

ALU’ da basit matematiksel komutlar zorlanmadan işlenebilir. Fakat karmaşık aritmetiksel işlemleri (karekök alma, üs alma vs.) gerçekleştirebilmek için ek elektronik devrelere ihtiyaç duyulur. Bu dereceler işlemcinin içerisinde yer almıyorsa bu tür karmaşık işlemleri gerçekleştirebilmek için birbiri ardına aynı komutlar defalarca işlenir. Gelişmiş işlemcilerde FPU (floating point unit-kayan noktalı birim) denilen bir işlemci sayesinde bu tür karmaşık işlemler FPU tarafından çözümlenir böylelikle işlemci bütün karmaşık işlemleri FPU’ ya yönlendirerek kendisi diğer işlemlerle meşgul olur ve böylelikle sistemde yavaşlama minimuma indirgenir.

Zamanlama ve Kontrol Birimi

Zamanlama ve kontrol birimi bellekte program bölümünde bulunan komut kodunun alınıp getirilmesi bu kodun çözülmesi ALU tarafından işlenmesi ve sonucun alınıp belleğe geri konulması için gerekli olan kontrol sinyallerini üretir. Bilgisayar sistemlerinde bulunan dahili ve harici bütün elemanlar bu kontrol sinyalleriyle denetlenir.

 

Zamanlama ve kontrol birimi 3 değişik işlemi yerine getirir.

1-) Zamanlama Kontrolü: İşlemci harici saat sinyali üreten bir birimden giriş alan iç saat devresine sahiptir. Bu sinyal alınacak talebe göre zamanlama sinyallerine dönüştürülerek sisteme dağıtılır.

2-) Komut Kod Çözücüsü: Komut kaydedicisinde tutulan komutlar bu devrede yorumlanır ve ALU’ ya kaydedicilere ulaşması için uygun sinyaller gönderilir.

3-) Kesme Mantık Birimi: Bu birim gerekli durumlarda kesme sinyallerini alarak işlemciyi uyarır.

Bir Komut Döngüsünün İşlenişiß

1)         Al getir(Fetch): işlenecek komutun ana bellekten ya da önbellekten alınıp getirilmesi aşamasıdır.

2)         Kod Çöz(Decode–1): getirilen komutun makinenin anladığı dile dönüştürülmesi aşamasıdır.

3)         Adres Üret(Decode–2) burada komutun kodunun çözülmesi ile birlikte eğer komut bir adresle irtibatlıysa yeni bir adresi referans olarak gösteriyorsa bu adresin hesaplandığı aşamadır.

4)         Çalıştırma(Execute): komutun icra edilmesi aşamasıdır.

5)         Geriye Yazma(Write back): komutun çalıştırılması ile birlikte elde edilen sonucun belleğe ya da kaydedicilere yazılma (saklama) aşamasıdır.

Günümüz işlemcilerinde bir komut döngüsün işlenişi U ve V İshakları olmak üzere 2 kanallı ve 5 aşamada gerçekleşir.

Organization Chart

Tarih:
Hit: 7669
Yazar: serhat8102

Taglar: assembly.


Yorumlar


Siftahı yapan siz olun
Yorum yapabilmek için üye girişi yapmalısınız.