Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
10.10.2013
1
Bilgisayar Mimarisiİkilik Kodlama ve Mantık Devreleri
Yrd.Doç.Dr. Celal Murat KANDEMİRESOGÜ – Eğitim Fakültesi - BÖTEtwitter.com/cmkandemir
Kodlama
� Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit
dizisi) kümesi ile temsil edilmesidir.
� Kod (Code) : Bit dizgisi kümesidir.
� Kod Kelimesi (Code Word) : Kod içerisindeki belli bir bit
dizgisidir.
� Örnekler :
1- Veri nesneleri : Ondalık sayılar, Karakterler.
2- Veri olamayan nesneler : Makine durumları, Kontrol
Hareketleri
10.10.2013
2
Ondalık Kodlar� Büyük bir bölümümüz ondalık sayılarla işlem yapmaya alışkınız.
� Ondalık Sayılar ikiliğe çevrilir, tüm işlemler ikilik sistemde yapılır ve tekrar ondalık sisteme çevrilir.
� n-bitlik bir ikilik kod, 1’ler ve 0’lardan oluşmuş 2n adet farklı birleşim oluşturan n-bitlik bir gruptur.
� N-bitlik kodlamada bit birleşimleri (kombinasyonları) aralığı 0-2n-1 dir.
� 4 elemana sahip bir küme 2-bitlik bir ikili kodlama ile kodlanır. 00, 01, 10, 11
� 8 elemana sahip bir küme ise 3-bitlik bir ikili kodlama ile kodlanabilir. 000,001,010,011,100,101,110,111
� 16 elemanlı bir küme 4-bitlik kodlamaya ihtiyaç duyar.
� Eğer küme içindeki eleman sayısı 2’nin katı şeklinde değilse ikili koddaki bazı kombinasyonlar atanmamış olacaktır.
İkili Kodlu Ondalık(Binary Coded Decimal) BCD
� 4-bitlik bir ikili kod kullanılmıştır.
Ama sadece 10 kombinasyon
kullanılır. 6 kombinasyon tahsis
edilmemiştir.
� Kodlar doğrudan bir ikili eşdeğer
düzenlemesidir.
�
BCD TABLOSU
Ondalık Sayı BCD Kod
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10.10.2013
3
BCD
� N basamağa sahip bir ondalık sayı BCD kodlamada 4xn
bite ihtiyaç duyar.
� (396) 10 = 0011 1001 0110
� (807) 10 = 1000 0000 0111
Not:
� BCD sayılar ikilik sayılar değil ondalık sayılardır.
Ondalık bir sayının ikiliye çevrilmesi ile ondalık bir
sayının ikili kodlanması aynı anlamı taşımaz!
� (185) 10 = (0001 1000 0101) BCD = (10111001) 2
Ondalık Haneler İçin Diğer İkili Kodlar
Sayılar sayısal bilgisayarda ya ikili olarak ya da ikili bir kod
vasıtasıyla ondalık olarak temsil edilirler. Veriler
belirlenirken kullanıcı, verileri ondalık şeklinde vermek ister.
Girilen ondalık sayılar bilgisayarın içinde ondalık bir kod
vasıtasıyla saklanır. Her bir ondalık hane en az dört adet ikili
saklama elemanı gerektirir. İkili olarak temsil edilen
sayılarla makine içinde aritmetik işlem yapılacağı zaman
ondalık sayılar ikiliye çevrilir.
10.10.2013
4
Ondalık Kodlar
0 0000 0000 0011 0100001 1000000000
1 0001 0001 0100 0100010 0100000000
2 0010 0010 0101 0100100 0010000000
3 0011 0011 0110 0101000 0001000000
4 0100 0100 0111 0110000 0000100000
5 0101 1011 1000 1000001 0000010000
6 0110 1100 1001 1000010 0000001000
7 0111 1101 1010 1000100 0000000100
8 1000 1110 1011 1001000 0000000010
9 1001 1111 1100 1010000 0000000001
Ondalık BCD(8421) 2421 Artık-3Biquinary
1-out-of-10(İki Birli)
Örnek
� (369)10
sayısı için BCD code, 2421 ve Artık-3 kodları yazınız
� Cevap :BCD: 0011 0110 10002421: 0011 1100 1111Artık-3 : 0110 1001 1100
10.10.2013
5
Alfanümerik Kodlar (Character Codes)� Herbir karakter bir bit dizgisi ile temsil edilir.
� ASCII - the American Standard Code for Information
Interchange.
* Karakterler 7-bit olarak kodlanmıştır.
* 128 karakter içerir :
- Büyük ve küçük harfler
- Sayılar
- Noktalama İşaretleri
- Kontrol Karakterleri,
� 94 yazma karakteri ve 34 yazılamayan karakter(kontrol
fonksiyonları için)
ASCII Tablosu
10.10.2013
6
Örnek� SAYISAL kelimesini ASCII olarak
kodlayınız.
Karakter İkilik Kod Onaltılık Kod
S 101 0011 (83) 53
A 110 0101(65) 41
Y 101 1001(89) 59
I 100 1001(73) 49
S 101 0011 (83) 53
A 110 0101(65) 41
L 100 1100(76) 4C
� EBCDIC
�8 Bit, 256 karakter
� IBM tarafından bulunmuş ve mainframe’lerde
kullanılmıştır.
� UniCode
�16 Bit
�65,536 karakter
�Farklı dillerde yazılmış olan metinlerin
değişimi, işlenmesi ve gösterilmesinı
desteklemek amacıyla geliştirilmiştir. Dünya
üzerindeki tüm diller desteklenir.
10.10.2013
7
Unicode
Veri Olmayan Nesneler İçin Kodlama� n nesne b bit ile kodlanır:
b=[log2 n]=[log10 n/ log10 2]
� örnek : 124 nesne , (log10 124/log10 2) = 6.95, b=7
� Uygulama : - Kontrol ünitesi aynı anda bir cihazı çalıştırır.
Kontrol Ünitesi
Cihaz 0 Cihaz 1 Cihaz n-1
İkili Kod
10.10.2013
8
İkili Saklama ve Kaydediciler
� Ayrık bilgi öğeleri ikili biçimde gösterildiği zaman, bilgi saklama ortamının ayrı ayrı bitleri saklamak için ikili saklama elemanları içermesi gerekir.
� Bir ikili hücre iki kararlı duruma sahip olan ve bir bitlik bilgi saklayabilen bir aygıttır.
� Hücrenin girişi, hücreyi iki durumdan birine çeken uyarma sinyalleri alır. Hücrenin çıkışı ise iki durumu birbirinden ayıran fiziksel bir niceliktir.
� İkili hücrelere örnek olarak flip-flop’lar verilebilir.
Kaydediciler (Register)(Yazmaç)
� Kaydedici, bir ikili hücreler grubudur.
� Bir hücre bir bitlik bilgi sakladığı için, bundan n hücreli bir kaydedicinin n bit içeren ayrık bilgi niceliklerini saklayabileceği sonucu çıkar.
� Bir kaydedicinin durumu, 1’lerin ve 0’ların nkatı kadar bir sayıdır.
� Kaydedicinin içeriği ise kaydedicide saklı bilgilere uygulanan yorumun bir fonksiyonudur.
10.10.2013
9
Örnek
� 0 ile 216-1 arası herhangi bir ikili sayı saklanabilir.
� Ondalık = 50121
� EBCDIC = C I
� Artık-3 = 9096
� BCD’de anlamsız
� Kullanıcının kaydedicilerde anlamlı bilgiler saklaması ve bilgisayarın, bu bilgileri saklanan bilgilerin türüne göre işlemesi önemlidir.
1 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
KaydedicilerleBilgi
Aktarımı
Klavye
Bellek Ünitesi
İşlem Ünitesi
Giriş Ünitesi GirişKaydedicisi
8 HücreİşlemciKaydedicisi
BellekKaydedicisi
8 Hücre8 Hücre 8 Hücre
8 Hücre
10.10.2013
10
Kaydedici Aktarımı
İşlenen 1
Toplam
İşlenen 2
Toplama İçin devre
Bellek Ünitesi
İşlemci Ünitesi
İkili Mantık� İkili mantık, iki ayrık değer alabilen değişkenleri ve
mantıksal anlam taşıyan işlemleri ele alır. Değişkenlerin alabileceği iki değer farklı şekillerde adlandırılabilir:�Doğru/Yanlış� Evet/hayır� Sıcak/soğuk�Açık/kapalı� 1/0
� Boole Cebri, ikili değişkenler ve mantıksal işlemlerden oluşur. Değişkenler A, B, C, x, y, z vb. harflerle gösterilir; burada her değişken ancak ve ancak olası iki ayrı değerden birini alabilir: 1 ve 0. Üç temel mantık işlemi vardır: VE (AND), VEYA (OR) ve DEĞİL (NOT)
10.10.2013
11
İkili Mantık� x ve y değerlerinin her birleşimi için, mantık işleminin
tanımıyla belirlenen bir z değeri vardır. Bu tanımlar, doğruluk tabloları (truth table) kullanılarak özet şeklinde verilebilir. Doğruluk tablosu, değişkenlerin alabileceği olası bütün bileşimleri içeren ve değişkenlerin alabileceği değerlerle işlem sonucu arasındaki ilişkiyi gösteren bir tablodur.
AND OR NOT
x y x.y x y x+y x x‘
0 0 0 0 0 0 0 1
0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1
Değişken sayısı: n
Satır sayısı:
2n olur.
• İkilik İşaretler– Elektrik Sinyalleri: gerilim veya
akımlar
– İki ayrı gerilim değeri seviyesi: logic-1 ve logic-0
– Ortadaki bölge sadece durum değişikliği sırasındadır.
10.10.2013
12
Mantık Kapılar� Mantık devreler
– devreler = mantık işleme yollarıdır.
• Hesaplama ve kontrol
– Mantık devrelerinin kombinasyonu ile sağlanır.
• Mantık Kapıları
Zamanlama Diagramları
10.10.2013
13
Kod çözücü (Decoder)
� İkilik değer alır çözer
� Çıkışlar n bitlik girişe bağlı olarak elde edilir.
� Aşağıdakilerden oluşur:
� Girişler(n)
� Çıkışlar(2n , 0 → 2n – 1’e kadar numaralanmış)
� Aktifleyici Uç (Enable)
2-to-4 Decoder
10.10.2013
14
2-to-4 DecoderDoğruluk Tablosu
3-to-8 Decoder Doğruluk Tablosu
A2 A1 A0 D0 D1 D2 D3 D4 D5 D6 D7
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
10.10.2013
15
3-to-8 Decoder
Multiplexer (MUX)
� Aşağıdakileri içerir:
� Girişler(çoklu) = 2n
� Çıkışlar(tek)
� Seçici bitler(sayısı giriş değerine bağlıdır) = n
10.10.2013
16
Çoklayıcılar - Multiplexer (MUX)
� Seçici bit/bitler tek bir girişi MUX
üzerinden çıkışa yönlendirir.
� Aynı anda sadece bir çıkış yapılır.
Birkaç giriş değerinden çıkış olabilecek
birini seçebilmek için seçici bitler
kullanılan yapılardır.
4 to 1 MUX Doğruluk Tablosu
10.10.2013
17
4 to 1 hat multiplexer
S1 S0 F
0 0 I0
0 1 I1
1 0 I2
1 1 I3
4 to 1 hat multiplexer
2n MUX to 1
Bu MUX için n değeri
2
Bunun anlamı 2 seçim
bitinin (hattının), s0 ve
s1 , olacağı.
F
Sorular?