Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Sayı gösterimleri 1 Mikroişlemciler. İçerik 2 Sayı gösterimleri Yönsüz, Yön büyüklük, One’s complement, Two’s complement, biased Gerçek sayılar Single.

Benzer bir sunumlar


... konulu sunumlar: "Sayı gösterimleri 1 Mikroişlemciler. İçerik 2 Sayı gösterimleri Yönsüz, Yön büyüklük, One’s complement, Two’s complement, biased Gerçek sayılar Single."— Sunum transkripti:

1 Sayı gösterimleri 1 Mikroişlemciler

2 İçerik 2 Sayı gösterimleri Yönsüz, Yön büyüklük, One’s complement, Two’s complement, biased Gerçek sayılar Single Precision, Double Precision BCD Sayılar ASCII Sayılar Shift ve Rotate

3 Veri gösterimi 3 Bilgisayarlar, binary de ğ erler üzerinde çalı ş ırlar (transistörlerden olu ş malarının bir sonucu) Sayıların, farklı binary gösterimleri bulunmaktadır: 1. Sadece pozitif sayılar 2. Pozitif ve negatif sayılar 3. İ nsanlar taraafından olay bir ş ekilde anla ş ılma gereklili ğ i 4. Bilgilsayar i ş lemlerinde hız gereksinimleri

4 Tam sayı gösterimleri 4 Genelde kullanılan 5 adet tam sayı gösterimi bulunmaktadır: 1. Yönsüz 2. Yön ve büyüklük 3. One’s complement 4. Two’s complement 5. Biased (daha az bilinir)

5 Tam sayı gösterimleri (devam) 5 Farklı zamanlarda, farklı gösterimler kullanılmı ş tır. Günümüz bilgisayarlarının go ğ unlu ğ u two’s complement gösterim kullanırlar. Çünkü, Donanım daha hızlı çalı ş ır Donanım daha basittir (hızlı çalı ş masını da sa ğ lar)

6 Yönsüz sayılar 6 Daha önceden de bilgi ğ iniz standart binary kodlama Sadece pozitif sayılar gösterilir. n bit: 0 ile 2 n - 1 arasını gösterir Örnekler: 5: :

7 Yön büyüklük 7 Pozitif ve negatif sayılar gösterilebilir. MSB (most significant bit – en önemli bit), yönü belirtmek için kullanılır. Pozitif sayılar için MSB 0, negatif sayılar için 1’dir Örnekler: 5: :

8 One’s Complement 8 Pozitif sayılar, yönsüz ile aynı ş ekilde gösterilir. Negatiflik için ise, pozitif gösterimdeki tüm bitlerin tersleri alınır. Örnekler: 5: :

9 Two’s Complement 9 Pozitif sayıların gösterimi, yönsüz gösterim ile aynıdır. Negatiflik, one’s complement alındıktan sonra 1 ilave edilerek bulunur. Örnekler: 5: :

10 Biased gösterim 10 2 n-1 veya 2 n-1 -1 sayılarından biri bias de ğ eri olarak seçilir. Tam sayı de ğ erine, bu de ğ er ilave edilerek gerçek de ğ ere ula ş ılır. Sonucun, yönsüz gösterimi, biased gösterim olarak bulunur. Örnekler: bias=127 ise, 5: (132) bias=127 ise -5: (122)

11 Two’s Complement’de yönlü genişletme 11 8 bitlik yönlü bir sayının 16 bit olarak ifade edilmesinin gerekli oldu ğ u durumlarda kullanılır. Bu durumda, en soldaki bit (MSB) tekrar edilir. Örnek: 5: (8 bit)  (16 bit) -5: (8 bit)  (16 bit)

12 Karakter gösterimi 12 Karakter gösteriminde, ASCII kodları kullanılır Karakterler 8 bit olarak gösterilir. Örnekler: ‘A’: (65 veya 41h) ‘B’: (66 veya 42h) ‘0’: (48 veya 30h) ‘9’: (57 veya 39h)

13 String->tam sayı dönüşümü 13 ‘0’ karakteri ile 0 sayısı farklıdır. ‘354’ karakter dizisini 354 sayısına dönü ş türmek için a ş a ğ ıdaki algorita kullanılır: ‘3’ oku ve 3’e dönü ş tür (30h=‘0’ çıkart) ‘5’ oku ve 5’e dönü ş tür TamSayı= 3 * = 35 ‘4’ oku ve 4’e dönü ş tür TamSayı= 35 * = 354

14 Gerçek sayıların gösterimi 14 Gerçek sayılar (veya floating-point sayılar), bilgisayar programlarında sıklıkla kar ş ıla ş ılır Gerçek bir sayı, binary sisteme çevrilmelidir Farklı gösterimler mevcuttur. Ancak Intel mikroi ş lemciler, IEEE 754, v10.0 standardını kullanırlar. Intel 8086, floating point komutları içermez. Bu komutların kodlanması gereklidir.

15 Gerçek sayıların binary’ye dönüştürülmesi 15 Sayıyı, integer ve fractional kısımlarına ayırınız. Integer kısım, kolayca binary’ye çevrilir. Fractional kısım ise, sürekli olarak iki ile çarpıp integer kısım alınarak bulunur.

16 Örnek: 64.2’nin binary’ye dönüştürülmesi 16 Sayıyı 64 ve 0.2 olarak ikiye ayır 64’ün binary gösterimi ’dır 0.2’nin gösterimi, a ş a ğ ıdaki ş ekilde bulunur: 0.2 * 2 = 0.4  0 (En önemli bit) 0.4 * 2 = 0.8  * 2 = 1.6  * 2 = 1.2  * 2 = 0.4  0 (kendini tekrar eder)  0.2 = … Bu durumda, 64.2 ş u ş ekilde gösterilebilir: …

17 Bilimsel gösterim 17 Gerçek sayılar, normalize edilmeli (normalized) ve bilimsel gösterimde (scientific notation) yazılmalıdır. Bilimsel gösterimde, bir sayı üç kısımdan olu ş ur: Sign Mantissa Exponent Normalize formda, mantissa’nın integer kısmı 1’dir

18 Örnek: 64.2’nin bilimsel gösterimi binary olarak ş u ş ekilde gösterilebilir: … × 2 6 Burada, … kısmına mantissa adı verilir. 6 kısmına ise exponent adı verilir. Sign, artıdır (+).

19 IEEE 754 Standardı 19 IEEE 754 standardına göre, floating point sayılar, 32 bit veya 64 bit olarak gösterilir. 32 bit’lik versiyona single-precision ve 64 bitlik versiyona ise double-precision adı verilir.

20 Single Precision 20 İ lk bit (31. bit), yönü gösterir (0 ise pozitif ve 1 ise negatiftir) Sonraki 8 bit (23-30) biased exponent (bias = 127) kısmıdır Sonraki 23 bit ise (0-22) mantissa nın 24 bitini gösterir. Mantissa’nın ilk bitinin gösterilmesine gerek yoktur. SExponentMantissa

21 Double Precision 21 İ lk bit (63. bit), yönü gösterir (0 ise pozitif ve 1 ise negatiftir) Sonraki 11 bit (52-62) biased exponent (bias = 1023) kısmıdır Sonraki 52 bit ise (0-51) mantissa nın 52 bitini gösterir. Mantissa’nın ilk bitinin gösterilmesine gerek yoktur. SExponentMantissa

22 64.2 (Single Precision) pozitif oldu ğ u için, yön biti 0’dır. Exponent 6’dır; 127 ilave edilir ve 133 de ğ erine ula ş ılır( = 133 = ) Mantissa …’dir Integer kısmındaki 1 ihmal edilir ve fractional kısımdan 23 bit alınır: Birle ş tir: (veya h)

23 64.2 (Double Precision) pozitif oldu ğ u için, yön biti 0’dır Exponent 6’dır; 1023 ilave edilir ve 1029 de ğ erine ula ş ılır ( = 1029 = ) Mantissa …’dır Integer kısmındaki 1 ihmal edilir ve fractional kısımdan 52 bit alınır: Birle ş tir: (veya 40500CCCCCCCCCCCh)

24 Ayrıcalıklar 24 Sıfır, tüm bitler sıfır olarak gösterilir Sonsuz sayısını göstermek için, exponent kısmındaki tüm bitler bir, mantissa’daki tüm bitler sıfır olarak de ğ erine atanır. Yön biti ise, pozitif veya negatifi gösterir. +∞ = ∞ =

25 Egzersizler ’ün Single ve Double precision gösterimlerini hesaplayınız (cevap: 4144 CCCDh ve Ah) -23.4’ün Single ve Double precision gösterimlerini hesaplayınız (cevap: C1BB 3333h ve C h) 3F h, hangi floating point sayının single precision gösterimidir?

26 BCD (Binary Coded Decimal) Veri 26 Bazı durumlarda, tam sayıların her basama ğ ını 4 bit olarak göstermek gerekli olabilir. Örne ğ in, 1234h, 1234 decimal de ğ erini gösterebilir. Bu sayılara BCD sayılar ismi verilir. BCD sayılar ile kullanılmak üzere özel komutlar bulunmaktadır.

27 DAA 27 DAA: Decimal Adjust after Addition İ ki BCD sayının AL register’ında yapılan toplama i ş leminin sonuçlarını düzeltir. Örnek: MOV AL, 15 ; AL = 0Fh DAA ; AL = 15h

28 DAA Örnek 28 BX ve DX register’larında bulunan iki 4-digit BCD sayının toplama sonucu CX register’ında BCD olarak saklanacaktır. MOV DX, 1234h ; 1234 BCD sayısını sakla MOV BX, 3099h ; 3099 BCD sayısını sakla MOV AL, BL ; Düşük bayt basamaklarını topla ADD AL, DL ; AL = 34h + 99h = CDh DAA ; CF = 1, AL = 33h (133) MOV CL, AL ; Düsük bayt’taki sonucu sakla MOV AL, BH ; AL = 30h (Yüksek basamakları topla) ADC AL, DH ; AL = 43h DAA ; CF = 0, AL = 43h MOV CH, AL ; Yüksek bayt’taki sonucu sakla

29 DAS 29 DAS: Decimal Adjust after Subtraction AL register’ında bulunan iki BCD de ğ erinin fark sonucunu düzeltin. DAA’ya benzer, ancak çıkarma i ş leminden sonra kullanılır.

30 ASCII kodlanmış sayılar 30 Örne ğ in, 19, 3139h olarak gösterilebilir. ‘1’in ASCII kodu31h (49) ve ‘9’un ASCII kodu 39h (57) dir. ASCII kodlanmı ş sayılar için özel komutlar bulunmaktadır: AAA, AAD, AAM ve AAS.

31 AAA 31 AAA: ASCII Adjust after Addition AH ve AL register’larındaki iki ASCII kodlanmı ş sayının toplamı sonucunu düzeltir. AL üzerinde çalı ş ır. AL ve AH’yi de ğ i ş tirir. AAA’dan sonra AX’e 3030h ilave edelim. Örnek: MOV AX, '01' ; AX = 3031h (‘1’in ASCII kodu) ADD AL, '9' ; AL = 6Ah AAA ; AH = 01h, AL = 00h ADD AX, 3030h ; AX = 3130 (10’un ASCII kodu)

32 Diğer ASCII Kod operasyonları 32 AAD: ASCII Adjust before Division AAM: ASCII Adjust after Multiplication AAS: ASCII Adjust after Subtraction

33 Shift ve Rotate 33 Shift ve rotate komutları, binary bit seviyesinde binary sayıları de ğ i ş tirir. I/O aygıtlarını kontrol eden alt seviye kontrol yazılımlarında sıklıkla kullanılır. Shift/Rotate adedi, ivedi bir de ğ er veya CL register’ındaki de ğ er olabilir. Örnek: SHL AX, 1 SHR BX, CL

34 Shift 34 Bir register veya hafıza adresindeki veri, sola veya sa ğ a kaydırılır. Basit aritmetik i ş lemler yapar: 2 +n ile çarpım (sola shift) ve 2 -n ile bölüm (sa ğ a shift). Mikroi ş lemci komut setinde 4 adet shift komutu bulunur: İ ki tane mantıksal; iki tane aritmetik shift

35 Shift Komutları 35 Mantıksal shift’ler (SHL, SHR), bo ş ta kalan bite 0 de ğ erini verir. Aritmetik shift operasyonları ise Sa ğ a shift’te 0 ilave edilir. Sola shift’te ise, yön biti kopyalanır.

36 Mantıksal vs. Aritmetik? 36 Mantıksal shift, yönsüz verileri çarpar veya böler. Aritmetik shift, yönlü sayıları çarpar veya böler. Sola shift operasyonu, her shift i ş lemi için 2 ile çarpar. Sa ğ a shift operasyonu, her shift i ş lemi için 2 ile böler. 2 kere shift operasyonu, 4 ile çarpar veya böler.

37 Rotate 37


"Sayı gösterimleri 1 Mikroişlemciler. İçerik 2 Sayı gösterimleri Yönsüz, Yön büyüklük, One’s complement, Two’s complement, biased Gerçek sayılar Single." indir ppt

Benzer bir sunumlar


Google Reklamları