Mikroişlemciler Sayı gösterimleri.

Slides:



Advertisements
Benzer bir sunumlar
el ma 1Erdoğan ÖZTÜRK ma ma 2 Em re 3 E ren 4.
Advertisements

Yrd. Doç. Dr. Mustafa Akkol
Prof.Dr.Şaban EREN Yasar Üniversitesi Fen-Edebiyat Fakültesi
Programming 8086 – Kısım II Program Akışı ve Döngüler
Prof. Dr. Eşref ADALI Yrd. Doç. Dr. Şule Gündüz Öğüdücü Sürüm-A
Değişkenler ve bellek Değişkenler
DOĞAL SAYILAR.
Saydığımızda 15 tane sayı olduğunu görürüz.
T.C. İNÖNÜ ÜNİVERSİTESİ Arapgir Meslek YÜKSEKOKULU
Eğitim Programı Kurulum Aşamaları E. Savaş Başcı ASO 1. ORGANİZE SANAYİ BÖLGESİ AVRUPA BİLGİSAYAR YERKİNLİĞİ SERTİFİKASI EĞİTİM PROJESİ (OBİYEP)
KİŞİSEL KAMP MALZEMEN Kamp malzemelerini şu ana başlıklar altında düşünebilirsin. Uyku malzemesi Yemek malzemesi Temizlik malzemesi Zorluklara karşı hazır.
Ondalık Kesirlerle Bölme İşlemi
Atlayarak Sayalım Birer sayalım
BEIER CÜMLE TAMAMLAMA TESTİ
Diferansiyel Denklemler
Ders Adı: Sayısal Elektronik
ÖRNEKLEME DAĞILIŞLARI VE TAHMİNLEYİCİLERİN ÖZELLİKLERİ
BEIER CÜMLE TAMAMLAMA TESTİ
ALIŞVERİŞ ALIŞKANLIKLARI ARAŞTIRMASI ÖZET SONUÇLARI Haziran 2001.
Yönetim Bilgi Sistemleri Şubat TAPU VE KADASTRO GENEL MÜDÜRLÜĞÜ.
KIR ÇİÇEKLERİM’ E RakamlarImIz Akhisar Koleji 1/A.
Verimli Ders Çalışma Teknikleri.
Sıvı Ölçüleri Değerlendirme.
Sayı Sistemleri Yrd. Doç. Dr. Oğuz ÇETİN.
HİSTOGRAM OLUŞTURMA VE YORUMLAMA
Soruya geri dön
Prof. Dr. Leyla Küçükahmet
CAN Özel Güvenlik Eğt. Hizmetleri canozelguvenlik.com.tr.
HAZIRLAYAN:SAVAŞ TURAN AKKOYUNLU İLKÖĞRETİM OKULU 2/D SINIFI
1 ÖMER ASKERDEN EMLAK KREDİ İLKÖĞRETİM OKULU UZMAN MATEMATİK ÖĞRETMENİ AKSARAY ÜNİTE: HARFLİ İFADELER VE DENKLEMLER KONU:HARFLİ İFADELERİ ÇARPANLARA AYIRMA.
ÖRNEKLEM VE ÖRNEKLEME Dr.A.Tevfik SÜNTER.
ARALARINDA ASAL SAYILAR
1/20 BÖLME İŞLEMİ A B C D : 4 işleminde, bölüm kaçtır?
TÜRKİYE KAMU HASTANELERİ KURUMU
İL KOORDİNASYON KURULU I.NCİ DÖNEM TOPLANTISI
SAYI SİSTEMLERİ.
Matematik 2 Örüntü Alıştırmaları.
MATRİSLER ve DETERMİNANTLAR
Tam sayılarda bölme ve çarpma işlemi
PÇAĞEXER / SAYILAR Ali İhsan TARI İnş. Yük. Müh. F5 tuşu slaytları çalıştırmaktadır.
DOĞUŞ ÜNİVERSİTESİ VI. LİSELERARASI MATEMATİK YARIŞMASI
HABTEKUS' HABTEKUS'08 3.
Bölüm 1: SAYISAL HESABIN NİTELİKLERİ
4 X x X X X
Mukavemet II Strength of Materials II
Yard. Doç. Dr. Mustafa Akkol
Soru 4.6 Bir sayısal bilgisayar sisteminde seçicilerle oluşturulmuş 32 bitlik 16 yazaçlı veri yolu sistemi var. Her seçici için kaç seçim girişi kullanılır?
Bir bölme işleminde bölen 8,Bölüm 7, kalan 1ise bölünen Kaçtır?
ANA BABA TUTUMU ENVANTERİ
1 DEĞİŞMEYİN !!!
Test : 2 Konu: Çarpanlar ve Katlar
Bankacılık sektörü 2010 yılının ilk yarısındaki gelişmeler “Temmuz 2010”
Çocuklar,sayılar arasındaki İlişkiyi fark ettiniz mi?
Toplama Yapalım Hikmet Sırma 1-A sınıfı.
RASYONEL SAYILARLA TOPLAMA ve ÇIKARMA İŞLEMLERİ
ÇOK DEĞİŞKENLİ FONKSİYONLARDA
Proje Konuları.
ONDALIK KESİRLERLE TOPLAMA İŞLEMİ
PÇAĞEXER / SAYILAR Ali İhsan TARI İnş. Yük. Müh. F5 tuşu slaytları çalıştırmaktadır.
ÖĞR. GRV. Ş.ENGIN ŞAHİN BİLGİ VE İLETİŞİM TEKNOLOJİSİ.
Diferansiyel Denklemler
Sayı Sistemleri Geçen Hafta Analog ve Sayısal Büyüklük Kavramı
ANALOG-SAYISAL BÜYÜKLÜK VE SAYI SİSTEMLERİ
Mikroişlemciler Adresleme Modları.
Mikroişlemciler Giriş.
MİKROİŞLEMCİLER VE MİKROBİLGİSAYARLAR
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
Sunum transkripti:

Mikroişlemciler Sayı gösterimleri

İçerik Sayı gösterimleri Gerçek sayılar BCD Sayılar ASCII Sayılar 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

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

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

Tam sayı gösterimleri (devam) 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)

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

Yön büyüklük 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: 0000 0101 -5: 1000 0101

One’s Complement 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: 0000 0101 -5: 1111 1010

Two’s Complement 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: 0000 0101 -5: 1111 1011

Biased gösterim 2n-1 veya 2n-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: 1000 0100 (132) bias=127 ise -5: 0111 1010 (122)

Two’s Complement’de yönlü genişletme 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: 0000 0101 (8 bit) 0000 0000 0000 0101 (16 bit) -5: 1111 1010 (8 bit)  1111 1111 1111 1011 (16 bit)

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

String->tam sayı dönüşümü ‘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 * 10 + 5 = 35 ‘4’ oku ve 4’e dönüştür TamSayı= 35 * 10 + 4 = 354

Gerçek sayıların gösterimi 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.

Gerçek sayıların binary’ye dönüştürülmesi 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.

Örnek: 64.2’nin binary’ye dönüştürülmesi Sayıyı 64 ve 0.2 olarak ikiye ayır 64’ün binary gösterimi 100 0000’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  0 0.8 * 2 = 1.6  1 0.6 * 2 = 1.2  1 0.2 * 2 = 0.4  0 (kendini tekrar eder)  0.2 = 0.0011 0011 0011 … Bu durumda, 64.2 şu şekilde gösterilebilir: 100 0000.0011 0011 0011 …

Bilimsel gösterim 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

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

IEEE 754 Standardı 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.

Single Precision 31 30 23 22 S Exponent Mantissa İ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.

Double Precision 63 62 52 51 S Exponent Mantissa İ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.

64.2 (Single Precision) 64.2 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(6 + 127 = 133 = 1000 0101) Mantissa 1.00 0000 0011 0011 0011 …’dir Integer kısmındaki 1 ihmal edilir ve fractional kısımdan 23 bit alınır: 000 0000 0110 0110 0110 0110 Birleştir:0100 0010 1000 0000 0110 0110 0110 0110 (veya 42806666h)

64.2 (Double Precision) 64.2 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 (6 + 1023 = 1029 = 100 0000 0101) Mantissa 1.00 0000 0011 0011 0011 …’dır Integer kısmındaki 1 ihmal edilir ve fractional kısımdan 52 bit alınır: 0000 0000 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 Birleştir: 0100 0000 0101 0000 0000 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 (veya 40500CCCCCCCCCCCh)

Ayrıcalıklar 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. +∞ = 0 1111 1111 000 0000 0000 0000 0000 0000 -∞ = 1 1111 1111 000 0000 0000 0000 0000 0000

Egzersizler 12.3’ün Single ve Double precision gösterimlerini hesaplayınız (cevap: 4144 CCCDh ve 4028 9999 9999 999Ah) -23.4’ün Single ve Double precision gösterimlerini hesaplayınız (cevap: C1BB 3333h ve C037 6666 6666 6666h) 3F80 0000h, hangi floating point sayının single precision gösterimidir?

BCD (Binary Coded Decimal) Veri 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.

DAA 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

DAA Örnek 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

DAS 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.

ASCII kodlanmış sayılar Ö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.

AAA 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)

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

Shift ve Rotate 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

Shift 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

Shift Komutları 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.

Mantıksal vs. Aritmetik? 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.

Rotate