BÖLÜM 1 GİRİŞ 1.1 SAYI SİSTEMLERİ Konumsal Sayı Sistemleri

Benzer belgeler
2. SAYI SİSTEMLERİ VE KODLAR

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri 2. SAYI SĐSTEMLERĐ VE KODLAR

SAYISAL ELEKTRONİK. Ege Ü. Ege MYO Mekatronik Programı

2. Sayı Sistemleri. En küçük bellek birimi sadece 0 ve 1 değerlerini alabilen ikili sayı sisteminde bir basamağa denk gelen Bit tir.

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri

BİLGİSAYAR MİMARİSİ. İkili Kodlama ve Mantık Devreleri. Özer Çelik Matematik-Bilgisayar Bölümü

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

2. Sayı Sistemleri. En küçük bellek birimi sadece 0 ve 1 değerlerini alabilen ikili sayı sisteminde bir basamağa denk gelen Bit tir.

BLM1011 Bilgisayar Bilimlerine Giriş I

C DERSĐ Programlamaya Giriş. Çağıltay, Selbes, Tokdemir, Turhan Bölüm 1 Genel Kavramlar 2

Mikrobilgisayarda Aritmetik

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme

Barkod Referans Kılavuzu

Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR

Fatih University- Faculty of Engineering- Electric and Electronic Dept.

Elektroniğe Giriş 1.1

VHDL ile KODLAMA ve HATA BULMA TEKNİKLERİ

SAYI VE KODLAMA SİSTEMLERİ. Teknoloji Fakültesi/Bilgisayar Mühendisliği

SAYISAL DEVRELER. İTÜ Bilgisayar Mühendisliği Bölümündeki donanım derslerinin bağlantıları

DERS NOTLARI. Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi

1. Bölüm Sayı Sistemleri

BILGISAYAR ARITMETIGI

Bilgisayarların Gelişimi

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

3. Bölüm Algoritmalar

Algoritma ve Akış Diyagramları

/ / _ \ ' ' / _` '_ \ / / / / _ (_) _ (_ / / / / _ \ / _ \ _ \, _ /_/ /_/ EK ================================================== Hazirlayan : Aras.

Elektronik sistemlerde dört farklı sayı sistemi kullanılır. Bunlar;

BLM221 MANTIK DEVRELERİ

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

KODLAMA VE HATA BULMA TEKNİKLERİ

MAK 210 SAYISAL ANALİZ

Algoritmalar ve Programlama. DERS - 2 Yrd. Doç. Dr. Ahmet SERBES

Bir işaretli büyüklük sayısında en soldaki basamak bir işaret içerir. Diğer basamaklarda ise sayısal değerin büyüklüğü (mutlak değeri) gösterilir.

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI

SAYISAL ELEKTRONİK DERS NOTLARI:

SAYI SİSTEMLERİ ve BOOLE CEBİRİ 1+1=1 ÖĞR.GÖR. GÜNAY TEMÜR - TEKNOLOJİ F. / BİLGİSAYAR MÜH.

MANTIK DEVRELERİ HALL, 2002) (SAYISAL TASARIM, ÇEVİRİ, LITERATUR YAYINCILIK) DIGITAL DESIGN PRICIPLES & PRACTICES (3. EDITION, PRENTICE HALL, 2001)

PASCAL PROGRAMLAMA DİLİ YAPISI

C Dersi Bölüm 1. Bilgisayar Donanımı

Konular MİKROİŞLEMCİ SİSTEMLERİ. Giriş. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Öncesi Kuşak

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Sayıtlama Dizgeleri. (a n a n-1 a n1 a n0. b 1 b 2 b m )r. simgesi şu sayıyı temsil eder.

BLM221 MANTIK DEVRELERİ

BM-311 Bilgisayar Mimarisi

SAYILAR DOĞAL VE TAM SAYILAR

BÖLÜM 2 SAYI SİSTEMLERİ

Her bir kapının girişine sinyal verilmesi zamanı ile çıkışın alınması zamanı arasında çok kısa da olsa fark bulunmaktadır -> kapı gecikmesi

Bilgisayar Programlama MATLAB


Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

25. Aşağıdaki çıkarma işlemlerini doğrudan çıkarma yöntemi ile yapınız.

Bilgisayar Bilimlerine Giriş 1

KMU MÜHENDİSLİK FAKÜLTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ SAYISAL DEVRELER II LABORATUVARI DENEY 1 TOPLAYICILAR - ÇIKARICILAR

n. basamak basamak 3. basamak 2. basamak 1. basamak Üstel değer 10 n Ağırlık 10 n-1...

B.Ç. / E.B. MİKROİŞLEMCİLER

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

DSP DONANIMI. Pek çok DSP için temel elemanlar aşağıdaki gibidir.

1. Sabit Noktal Say Sistemleri

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

2. SAYI SİSTEMLERİ. M.İLKUÇAR - imuammer@yahoo.com

PROGRAMLANAB L R DENETLEY C LER. DERS 02 Sayı Sistemleri

PROGRAMLAMAYA GİRİŞ DERS 2

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

Algoritma ve Akış Diyagramları

1. PROGRAMLAMAYA GİRİŞ

DENEY 3a- Yarım Toplayıcı ve Tam Toplayıcı Devresi

BÖLÜM 2 SAYI SĐSTEMLERĐ (NUMBER SYSTEMS)

Atatürk Anadolu. Temel Kavramlar Üzerine Kısa Çalışmalar

SAYILAR SAYI KÜMELERİ

SAYI SİSTEMLERİ. 1. Sayı Sistemleri. Sayı Sistemlerinde Rakamlar

OCTAL (SEKİZLİ) SAYI SİSTEMİ:

Nesne Yönelimli Programlama

SAYILAR SAYI KÜMELERİ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Kodlama ve Kodlar - (Coding and Codes) Sakarya Üniversitesi

BILGISAYAR ARITMETIGI

MATLAB/Değişkene Değer Atamak

ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERI

HSancak Nesne Tabanlı Programlama I Ders Notları

BM-311 Bilgisayar Mimarisi

Rakam : Sayıları yazmaya yarayan sembollere rakam denir.

İKİLİ SAYILAR VE ARİTMETİK İŞLEMLER

Karakter Değişkenlere İlişkin Komutlar

BÖLÜM 3 OPERAT A ÖRLER

Bölüm 3 Toplama ve Çıkarma Devreleri

Mikroişlemcilerde Aritmetik

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

Bölüm 4 Ardışıl Lojik Devre Deneyleri

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

İleri Düzey Programlama Kılavuzu

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

Transkript:

BÖLÜM 1 GİRİŞ 1.1 SAYI SİSTEMLERİ 1.1.1 Konumsal Sayı Sistemleri İkili sayı sistemi, sayısal bilgisayarlarda kullanılan en geleneksel ve kolay gerçeklenebilen bir sayı sistemidir. Bu gösterimde bir sayı n-bitlik bir vektör olarak kodlanır. Bu vektördeki her bit kendi konumuna göre ağırlıklandırılır. Her sayı sisteminde bir taban (radix veya base) r vardır. Her bit 0 ile (r-1) arasında bir tam değere sahiptir. İkili sayı sisteminde r = 2 dir. Bu yüzden her bit yalnız 0 veya 1 değerini alabilir. (1.1) bağıntısıyla verilen n-bitlik bir vektörü inceleyelim. A = a a K a a (1.1) n 1 n 2 1 0 n Burada 0 i n 1 için a i = 0 veya 1 dir. Bu vektör, V tamsayı değerlerini 0 ( 2 1) arasında gösterebilir. V = a n-1 2 n-1 +... + a 1 2 1 + a 0 2 0 (1.2) Bu yüzden genellikle A ile gösterilen A vektörünün değeri A = n 1 i= 0 a r i i (1.3) bağıntısıyla tanımlanabilir. (1.3) bağıntısı pozitif tamsayıları göstermek içindir. Bu gösterim kesirli sayıları kapsayacak şekilde (1.4) bağıntısındaki gibi genişletilebilir. n 1 m i i= 0 i= 1 i A = ar + ar i = a n-1 2 n-1 +... +a 1 2 1 + a 0 2 0 + a -1 2-1 + a -2 2-2 +... + a -m 2 -m (1.4) 101101.1101 bit dizisi (taban noktası ile birlikte) aşağıdaki değeri göstermektedir. 1x2 5 + 0x2 4 + 1x2 3 + 1x2 2 +0x2 1 + 1x2 0 + 1

+1x2-1 + 1x2-2 + 0x2-3 + 1x2-4 = 45 13 16 Bir sayı sisteminde her bit 0 ile (r-1) arasında bir değer alır. Bu durum hanelerden oluşan bir S kümesi oluşturur. S = {0,1,2,...,r-1} (1.5) Bu takımdaki bütün haneler pozitif olarak ağırlıklanmıştır. Ayrıca hem pozitif ve hem de negatif ağırlıklı hanelerin bulunduğu bir küme kurmak mümkündür, örneğin T = {-l,..., -1,0,1,..., l} (1.6) Burada l, kümenin alçak ve yüksek sınırını gösteren bir pozitif tamsayıdır. Bu artık (redundant) sayı sistemi olarak düşünülür, çünkü verilen bir sayıyı göstermek için birden çok yol olabilir. Örneğin n = 4 ve r = 2 için A = -5 sayısı aşağıda verilen dört gösterime sahip olur. Artık sayı sisteminin, aritmetik işlemlerde kullanılmasını zorlaştıran işte bu çok gösterimdir. Ayrıca her işaretli hane, bu haneyi göstermek için birden çok bit gerektirdiğinden, saklayıcı gereklerini ve saklama yolunun genişliğini arttırabilir. 2 3 2 2 2 1 2 0 A = -5 0-1 0-1 0-1 -1 1-1 0 1 1-1 1 0-1 1.1.1.1 Sekizli (Octal) Sayı Sistemi Sekizli sayı sistemi tabanı 8 olan bir sistem olup birçok bilgisayarda yaygın olarak kullanılmıştır. IBM 7090, DEC PDP-8 bilgisayarlarında ve birçok mikrobilgisayar yongalarında kolay ve doğrudan giriş/çıkış işlemi için sekizli sayılar kullanılmıştır. Bu sistemde haneler 0-7 arasındaki değerleri alır. Herhangi bir sayı (1.7) bağıntısı ile verilebilir. A = a n-1 8 n-1 +... + a 2 8 2 + a 1 8 1 + a 0 8 0 (1.7) Burada a n-1,..., a 2, a 1, a 0 haneleri 0,1,2,3,4,5,6,7 değerlerini alabilir. Sekizliden Onluya Dönüşüm. (1.7) bağıntısı kullanılarak öğneğin (37) 8 sayısını onluya dönüştürelim. 2

(37) 8 = 3x8 1 + 7x8 0 = 3x8 + 7x1 = (31) 10 Onludan Sekizliye Dönüşüm. Onludan sekizliye dönüşüm, onlu sayının tamsayı kısmı için tekrarlı bölme ve kesirli kısmı için tekrarlı çarpma kullanılarak yapılır. Örnek olarak (127) 10 sayısını dönüştürelim. 127 = 15 + 7 8 15 = 1+ 7 8 1 8 = 0 + 1 177 (127) 10 = (177) 8 bulunur. Kesirli onlu sayının sekizliye dönüşümü için (49.21875) 10 sayısını ele alalım. Tam Kısım Kesirli Kısım Sonuç 49 8 6 = 6 + 1 0. 21875 x 8 0. 75 x 8 = 0 + 6 1.75000 6.00 8 61 1 6 1.1.1.2 Onaltılı (Hexadecimal) Sayı Sistemi (49.21875) 10 = (61.16) 8 Onaltılı sayı sistemi IBM 360, IBM 370, IBM 1130, Honeywell 200, ve RCA spectra 70 gibi birçok bilgisayarda kullanılmaktadır. Bu sistem, 10, 11, 12, 13, 14, 15 hane değerlerini temsil edebilmek için ilave sayı sembollerine ihtiyaç göstermektedir. Bu sistemde haneler 0-15 arasında değerler alır; Şekil 1.1. Onaltılı Tamsayılar. Herhangi bir onaltılı tamsayı (1.8) bağıntısıyla verilebilir. A = a n-1 16 n-1 +...+ a 2 16 2 + a 1 16 1 + a 0 16 0 (1.8) Burada a n-1... a 1,a 0 haneleri 0, 1, 2,... 14,15, değerlerini alabilir. Örneğin (23) 16 sayısının (35) 10 sayısına eşit olduğunu gösterelim. (23) 16 = 2x16 1 + 3x16 0 = 2x16 + 3x1 3

veya = (35) 10 (1FF) 16 = 1x16 2 + Fx16 1 + Fx16 0 = 1x256 + 15x16 + 15x1 = (511) 10 Onlu Onaltılı Onlu Onaltılı 0 0 8 8 1 1 9 9 2 2 10 A 3 3 11 B 4 4 12 C 5 5 13 D 6 6 14 E 7 7 15 F Şekil 1.1. Onaltılı sayı sistemindeki haneler. Kesirli onaltılı sayıların onlu karşılığını bulmak için, kesir haneleri, konumlarına bağlı olarak 16 nın kuvvetlerine bölünür. (3B.8) 16 = 3x16 1 + Bx16 0 + 0.8x16-1 = (59.5) 10 Onlu Sayının Onaltıya Dönüşümü. Onludan onaltıya dönüşüm, tam kısmını tekrarlı olarak 16 ya bölerek ve kesirli kısmını tekrarlı olarak 16 ile çarparak yapılır. Aşağıdaki örnekte bu yöntem gösterilmiştir. (567.1875) 10 = (?) 16 Tam Kısım Kesirli Kısım Sonuç 567 16 35 16 2 16 = 35 + 7 0. 1875 x 16 = 2 + 3 3. 000 = 0 + 2 237 (567.1875) 10 = (237.3) 16 İkilinin Onaltıya Dönüşümü. İkili hanelerden dörtlü gruplar yaparak onaltıya dönüşüm sağlanabilir. Gruplamaya sağdan başlanır ve her dörtlü grubun yerine onaltılı eşdeğeri koyulur. Aşağıdaki örneklerle bu işlem gösterilmiştir. 4

(0110 1111 0101) 2 = (?) 16 0110 1111 0101 olduğundan 6 F 5 (0110 1111 0101) 2 = 6F5 bulunur. 1.1.2 Sayı Gösterimleri Tüm matematik fonksiyonlar dört ana aritmetik işlem cinsinden ifade edilebilir: Toplama, çıkarma, çarpma ve böime. Bu işlemler üç tür sayı gösterimine karşı düşen üç çalışma modunda icra edilebilir: Sabit-noktalı (fixed point), kayan-noktalı (floating point,) ve onlu (binary coded decimal). Sabit-noktalı aritmetik basit olarak verinin sabit taban noktası ile gösterildiği problemlerde kullanılır, yani taban noktası sayıda sabit bir konumda kalır. Sabit noktalı işlemler iki sınıfa bölünebilir. Tamsayı aritmetiğinde kesir (radix) noktası sayının sağındadır. Bundan dolayı sabit-noktalı notasyonda gösterilmiş bir tamsayı, bu sayının tutulduğu kaydedicinin sağında imalı bir kesir noktasına sahiptir, Şekil 1.2. Kesirli aritmetikte, kesir noktası sayının solundadır. Bilgisayar tasarımcıların çoğu tamsayı biçimini benimser. X X X..... X. Tamsayı biçimi. X X X..... X Kesirli sayı biçimi Şekil 1.2. Sabit-noktalı sayı gösterim biçimleri Kayan-noktalı aritmetik, genlik ölçeklemesinin çok sık gerekli olduğu bilimsel ve mühendislik hesaplarında kullanılır. Kayan-noktalı işlemler de iki sınıfa ayrılır. Normalize edilmiş işlemler, hesaplamaya giren verilerin normalize edilmesini gerektirir. Bu gösterimde kesir noktasının hemen sağındaki bit 1 dir. Normalize edilmemiş işlemlerde sayılar kesirli biçimde gösterilir, ama kesir noktasının hemen sağındaki bit 1 veya 0 olabilir. Bilgisayarların çoğu normalize edilmiş sayıları kullanmaktadır. Her iki biçim Şekil 1.3 te gösterilmiştir, burada X = 0/1 dir.. 1 X X..... X Normalizeli biçim. X X X..... X Normalizesiz biçim 5

Şekil 1.3. Kayan-noktalı sayı biçimleri Kayan-noktalı aritmetik öiçekleme faktörü problemini ortadan kaldırır, ve sayı alanını sabit-noktalı aritmetiğin üstüne çıkarır. Kayan-noktalı bir sayı, f kesir (fraction) kısmı ve e üs (exponent) kısmı olmak üzere iki kısımdan meydana gelir. Bu iki kısım e inci kuvveti alınmış bir tabanın f ile çarpımından elde edilen bir sayıyı gösterir, yani A kayan noktalı sayısı A = fxr e (1.9) biçimde ifade edilir. Burada f ve e işaretli sabit noktalı sayılar ve r ise tabandır. Bazen kesir kısmına mantissa ve üs kısmına da karakteristik adı da verilebilir. Kesir kısmı genellikle işaretli genlik, üs ise 2 li tümlenmiş veya kutuplu biçimde temsil edilir. Doğruluk önemli olduğundan kesirde mümkün olduğu kadar çok anlamlı bit bulunmalıdır. Bu iş sayı normalize yapılarak başarılır. 2 tabanında normalizasyon, taban noktasının hemen sağındaki bit 1 oluncaya kadar kesirin sola doğru kaydırılması ve üssün de bu kaydırmaya uygun olarak azaltılması ile yapılır. Normalize edilmiş kesirin genliği (1.10) bağıntısıyla verilen mutlak değere sahiptir. (1/r) f <1 (1.10) Burada r tabanı göstermektedir. 32-bitlik kayan-noktalı bir ikili sayı biçimi Şekil 1.4 te gösterilmiştir. Sayının işareti her zaman en anlamlı hanede bulunur. Bu bit pozitif sayılar için 0 ve negatif sayılar için 1 olur. 31 30 24 23 0 S e f 24 - bitlik kesir 7- bitlik işaretli üs sayının işareti Şekil 1.4. 32-bitlik ikili kayan-noktalı sayının biçimi. e üssü pozitif veya negatif tamsayı olabilir. Negatif üsler 2 li tümlenmiş biçimde tutulur. Kayan-noktalı sayıların toplanması ve çıkarılması işlemlerinde üslerin 6

karşılaştırılması gerektiğinden, üslerin işaretlerinin kullanılması gerekir. Halbuki karşılaştırma işlemi üslerin işaretlerini gerektirmeden yapılabilir. Bunun için kayan-noktalı sayı oluşturulurken her üsse pozitif bir değer eklenerek tüm üsler pozitif sayılara dönüştürülür. Bu pozitif değere kutuplama sabiti denir ve en negatif üssün genliğine eşittir. Eğer üs alanı m bitlik uzunluğa sahipse, o zaman kutuplama sabiti +2 m-1 olur ve tüm e üsleri 2 m-1 kadar kutuplanır, yani bu üsler e kutuplu = e + 2 m-1 (1.11) ile gösterilir. Bu kutuplama sayesinde 0 değerli kayan-noktalı bir sayının hem mantissası hem de üs kısmı tamamen sıfır olur. 2 li tümlenmiş gösterimde sıfır değerli sayı için üs en büyük negatif değerini alır. Onlu aritmetik onlu veriler üzerinde yapılan aritmetik,kaydırma ve düzenleme işlemleri için kullanılır. Onlu haneler paketli veya paketsiz biçimde gösterilebilir. Paketli biçimde her bayt, iki onlu hane içerir. İşaret hanesi de 4-bitlik olmalıdır. Paketsiz biçimde bir baytın en sağdaki 4-biti bir onlu hane oluşturur; en soldaki 4-bit ise onlu veriyi temsil etmek için kullanılmaz. Bu iki onlu sayı biçimi Şekil 1.5 te gösterilmiştir. 7 4 3 0 Hane Hane Hane İşaret Paketli biçim Bölge İşaret Hane Hane Paketsiz biçim Şekil 1.5. Onlu sayı biçimleri. İkili işlem yapan bir işlemci onlu sayıları alır, ikili biçime dönüştürür, işlemleri yapar, ve sonuçları tekrar onlu biçime dönüştürebilir. Bu durum az sayıda giriş/çıkış ve çok miktarda hesaplama için yeterlidir. Ama eğer bunun tersi geçerli ise, yani çok sayıda giriş/çıkış işlemi ve buna nispeten az miktarda hesaplama gerekiyorsa, o zaman onlu aritmetik kullanarak hesapları yapmak daha verimlidir. Bir onlu hane 4-bitten oluşur. 4-bitle 15 e kadar sayılar temsil edilebildiği halde, onlu hane 9 dan büyük değer alamayacağından 10-15 arasındaki değerler geçersiz onlu 7

hanelerdir. Bu yüzden onlu sayılarla işlem yapıldığı zaman her onlu hanenin geçerli olup olmadığı test edilmeli ve eğer geçersiz ise o haneye 6 eklenerek düzeltilmelidir. 1.1.3 Tamsayı Gösterimleri Eğer yalnız pozitif tamsayılar sabit-noktalı notasyonda gösterilecekse, o zaman n- bitlik bir kelime 0-(2 n -1) değerine kadar tüm sayıları gösterebilir. Ama hesaplamalarda hem pozitif hem de negatif tamsayılar kullanıldığından, pozitif ve negatif sayıların mümkün olduğunca eşit dağılabileceği bir kodlama biçimi bulunmalıdır. Bu kodlamada işaret denetimi kolay yapılabilmeli, 0 ların algılanması basit olmalı, ve dört işlemin icrası rahatça yapılabilmelidir. Konumlu sayı sisteminde pozitif ve negatif sayıları göstermek için kullanılan üç yöntem vardır: İşaretli genlik (sign magnitude), küçültülmüş tabanlı tümleme (diminished radix complement), ve tabanlı tümleme (radix complement). 1.1.3.1 İşaretli Genlik Bu gösterimde en anlamlı bit tamsayısının işaretini gösterir ve pozitif sayılar için 0, negatif sayılar için 1 dir. Pozitif sayı 0-(2 n-1-1) arasında ve negatif sayı ise 0-[-(2 n-1-1)] arasında değerler alabilmektedir. Bu yüzden pozitif bir sayı A = (0a n-2 a n-3... a 1 a 0 ) r (1.12) ve negatif bir sayı -A = [(r-1)a n-2 a n-3... a 1 a 0 ] r (1.13) ile gösterilebilir. r = 2 için (1.12) ve (1.13) bağıntıları sırasıyla A = 0n n-2 a n-3... a 1 a 0 -A = 1a n-2 a n-3... a 1 a 0 (1.14) haline gelir. İşaretli genlik notasyonunda pozitif sayı negatif sayıdan yalnız işaret hanesinde farklılık gösterir. a n-2 a n-3... a 1 a 0 genlik kısmı hem pozitif hemde negatif sayılar için aynıdır. İşaretli genlik gösteriminde var olan bir problem 0 sayısının iki farklı biçimde gösterilebilmesidir, yani +0 ve -0. İkinci problem zıt işaretli iki sayı toplanırken meydana gelir; sonucun işaretini belirlemek için genlikler karşılaştırılmalıdır. Diğer iki yöntemde bu durum gerekli değildir. İşaretli genlik gösterimi kayan-noktalı sayıların kesir kısmının gösterimi için sık sık kullanılmaktadır. 8

1.1.3.2.Küçültülmüş Tabanlı Tümleme İkili notasyonda küçültülmüş tabanlı (r-1) tümleme 1 li tümleme olarak bilinir. 0 - (2 n-1-1) arasındaki pozitif tamsayılar, ikili konumsal sayı sistemindeki gibi gösterilir, yani A = 0 a n-2 a n-3... a 1 a 0 (1.15) biçimindedir. 0 - [-(2 n-1-1)] arasındaki negatif sayılar ise, sayının pozitif eşdeğerlerindeki bitlerin tümleyenleri alındıktan sonra işaret hanesine 1 koyularak elde edilir. Bu yüzden pozitif bir sayı A = 0a n-2 a n-3... a 1 a 0 (1.16) ile ve aynı mutlak değere sahip negatif bir sayı ise A= 1a n 2a 3Ka1a0 1a 0 (1.17) n ile gösterilir. Veya daha genel biçimde A = [( r 1) a 2a 3K a1a0 ] (1.18) n n r ile gösterilebilir. Burada a = ( r 1 ) a dir. i i Bu gösterimde iki sayının işaretlerinin karşılaştırılması çok açıktır, çünkü en soldaki bit pozitif sayılar için 0 ve negatif sayılar için 1 dir. Ama 0 için çift gösterim halen daha devam etmektedir. Çünkü tamamen 0 lardan oluşan bir kelime (+0) tümlendiği zaman, tamamen 1 lerden oluşan bir kelime (-0) haline gelir. 1.1.3.3 Tabanlı Tümleme İkili notasyonda tabanlı tümleme 2 li tümlemedir. 0-(2 n-1-1) sayılar, ikili konumsal sistemde arasındaki pozitif A = 0a n-2 a n-3... a 1 a 0 (1.19) bağıntısıyla gösterilir. Negatif sayılar, negatif değeri arzu edilen sayının 1 li tümleyenine 1 eklenerek bulunur. Bu yüzden negatif bir sayı ( A) ( a a a a ) = 1 K + 1 (1.20) + 1 n 2 n 3 1 0 bağıntısıyla gösterilir. Genellikle negatif bir sayının tabanlı tümleyeni 9

{ 1 1} ( ) [( ) n n ] A = r a a K a a + r (1.21) + 1 2 3 1 0 biçiminde veya ( ) A = r n A + 1 ile gösterilir. İşaret denetimi yine yalnız iki bitin karşılaştırılmasına dayanır. 0 değerli sayının tek bir gösterimi vardır, çünkü bir 0 dizisinin negatifi alındığı zaman yine 0 dizisi elde edilir (anlamlı bit konumundan çıkan elde gözardı edilir). Sayı alanı (-2 n-1 ) - (2 n-1-1) arasındadır. Burada -2 n-1 sayısı 1 ve bunu izleyen (n-1) adet 0 ile gösterilir. Toplama ve çıkarma küçültülmüş tabanlı tümlemedekinden daha kolay yapılır, ve sonuç daima doğru 2 li tümlenmiş biçimdedir. 1.1.4 Alfasayısal Kodlar Sayısal bilgisayarların çoğu uygulamalarında yalnız sayısal veriler değil aynı zamanda harfler de kullanılır. Örneğin binlerce poliçe hamili olan bir sigorta şirketi, kütüklerini işlemek için bilgisayar kullanmak zorundadır. Adları ve diğer ilgili bilgileri temsil edebilmek için, alfabedeki harflerin kodlanabilmesi gerekir. Ayrıca aynı ikili kod, sayıları ve $ gibi diğer özel karakterleri de temsil edebilmelidir. Alfasayısal karakter takımı, 10 tane onlu haneyi (rakamları), alfabedeki 26 harfi, ve bir çok özel karakteri içeren bir elemanlar takımıdır. Böyle bir takım yalnız büyük harfleri kapsarsa 36-64 arasında, veya hem büyük hem de küçük harfleri kapsarsa 64-128 arasında eleman içerir. İlk durumda 6-bitlik ikinci durumda ise 7-bitlik ikili koda ihtiyaç vardır. İkili kodlar bilgisayarlarda önemli rol oynar. Bu kodlar ikili kod olmalıdır, çünkü bilgisayarlar yalnız 1 ve 0 ları saklayabilir. Bilinmelidir ki, ikili kodlar yalnız sembolleri değiştirir, onların temsil ettikleri bilgilere ait elemanların anlamını değiştirmez. Bilgisayardaki bitleri rastgele incelediğimiz zaman çoğu kez ikili sayılardan ziyade bir tür kodlanmış bilgiyi temsil ettiklerine rastlarız. 1.1.4.1 ASCII Karakter Kod Alfasayısal karakterler için standart ikili kod ASCII (American Standart Code for Information Interdange) koddur. Tablo 1.1 de gösterilen 128 karakteri kodlamak için 7-bit kullanır. Kod bitleri B 1 anlamsız ve B 7 en anlamlı olacak şekilde atanmıştır. Örneğin A harfi 1000001 bit dizisiyle (sütun 100, satır 0001) temsil edilir. ASCII kod, basılabilen 94 grafik karakter ve çeşitli denetleme fonksiyonları için kullanılan 34 basılamayan karakter 10

içerir. Grafik karakterler A dan Z ye 26 büyük harf, 0 dan 9 a 10 rakkam, ve %, *,ve $ gibi 32 özel karakterden ibarettir. Tablo1.1 American Standard Coode for Information Interchange (ASCII) B 7 B 6 B 5 B 4 B 3 B 2 B 1 000 001 010 011 100 101 110 111 0000 NUL DLE SP 0 @ P P 0001 SOH DC1! 1 A Q a q 0010 STX DC2 2 B R b r 0011 ETX DC3 # 3 C S c s 0100 EOT DC4 $ 4 D T d t 0101 ENQ NAK % 5 E U e u 0110 ACK SYN & 6 F V f v 0111 BEL ETB 7 G W g w 1000 BS CAN ( 8 H X h x 1001 HT EM ) 9 I Y i y 1010 LF SUB * : J Z j z 1011 VT ESC + ; K [ k { 1100 FF FS < L \ ı 1101 CR GS = M ] m } 1110 SO RS. > N ^ n ~ 1111 SI US /? O _ o DEL Kontrol karakterleri NUL Null DLE Data link escape SOH Start of heading DC1 Device control 1 STX Start of text DC2 Device control 2 ETX End of text DC3 Device control 3 EOT End of transmission DC4 Device control 4 ENQ Enquiry NAK Negative acknowledge ACK Acknowledge SYN Synchronous idle BEL Bell ETB End of transmission block BS Backspace CAN Cancel HT Horizontal tab EM End of medium LF Line feed SUB Substitute VT Vertical tab ESC Escape FF Form feed FS File separator CR Carriage return GS Group separator SO Shift out RS Record separator SI Shift in US Unit separator SP Space DEL Delete 34 denetim karakteri, ASCII tabloda kısaltılmış adlarıyla gösterilmiştir. Bu karakterler tablonun aşağısında tam fonksiyonel adlarıyla yeniden listelenmiştir. Denetim 11

karakterleri, verilerin yolunu çizmek ve önceden belirlenmiş biçimde bir metnin basımını düzenlemek için kullanılır. Biçim etkileyiciler, bilgi ayırıcılar, ve haberleşme denetim karakterleri olmak üzere üç çeşit denetim karakteri vardır. Biçim etkileyiciler, baskının yerleşimini denetleyen karakterlerdir. Bunlara örnek olarak BS geri-alma (backspace), HT yatay tablolama (horizontal tabulation), ve CR geri-dönüş (carriage return) karakterleri verilebilir. Bilgi ayırıcılar, verileri paragraf ve sayfalar gibi bölümlere ayırmak için kullanılır. Bunlara RS kayıt ayırıcı (record separator) ve FS kütük ayırıcı (file separator) karakteri örnek olarak verilebilir. Haberleşme denetim karakterleri, uzak terminaller arasında metnin iletimi için yararlıdır. Telefon hatları üzerinden iletişim yapıldığı zaman metni çerçevelemek için kullanılan STX metni başlatma (start of text ) ve ETX metni sonlandırma (end of text) karakterleri bu sınıfa örnek olarak verilebilir. ASCII, 7-bitlik bir koddur, ama çoğu bilgisayarlar bayt adı verilen 8-bitlik büyüklüğü tek bir birim olarak kullanır. Bundan dolayı ASCII karakterler çoğunlukla en anlamlı biti 0 olmak üzere bayt başına bir karakter düşecek şekilde saklanır. Bu ilave bit uygulamaya bağlı olarak bazen özel amaçlar için kullanılır. Örneğin bazı yazıcılar (printer), en anlamlı biti 1 olan 8-bitlik ilave 128 ASCII karakter kullanılır. Bu sayede Greek karakterler ve italik biçimler üretilebilmektedir. IBM cihazlarda kullanılan diğer alfasayısal kod EBCDIC (Extended BCD Interchange Code) koddur. Bu kod her karakter için 8-bit kullanır. EBCDIC ile ASCII aynı karakter sembollerini kullanır, ama karakterlerin bit atamaları farklıdır. Adından da anlaşılacağı gibi; harfler ve rakamların ikili kodu, BCD kodun bir uzatımıdır. Bunun anlamı şudur: Kodun ilk ve son dört biti, BCD kodda olduğu gibi 0000-1001 arasında değişir. 1.2 LOJİK İŞLEMLER İkili lojik, iki ayrı değer alan değişkenler ve lojik anlam taşıyan işlemlerle uğraşır. Değişkenlerin aldığı bu iki değer farklı şekillerde adlandırılabilir, ama buradaki amaca uygun olması açısından ikili değer cinsinden düşünülmeleri ve her değişkene 1 veya 0 atanması uygundur. Değişkenler alfabedeki harflerle adlandırılır (örneğin A, B, C,... gibi). İkili değişkenlere ilişkin üç temel lojik işlem vardır: AND, OR, NOT işlemleri. 12

1. AND İşlemi. Bu bir Boole çarpma işlemidir. A ve B Boole değişkenleri olmak üzere A AND B = AB şeklinde gösterilir. Bu işlemi gerçekleyen lojik kapının sembolik gösterimi ve bu işlemin doğruluk (truth) tablosu Şekil 1.6 da gösterilmiştir. Tablodan da görüleceği üzere AND işlemi iki değişkenin 1 olması durumunda 1 sonucunu verir. (a) (b) Şekil 1.6. (a) AND kapısının sembolik gösterimi, (b) doğruluk tablosu. 2. OR İşlemi. Bu bir Boole toplama işlemidir. A ve B Boole değişkenleri olmak üzere A OR B = A + B şeklinde gösterilir. Bu işlemi gerçekleyen lojik kapının sembolik gösterimi ve bu işlemin doğruluk tablosu Şekil 1.7 de gösterilmiştir. Her iki değişkenin aynı anda 0 olması durumunda OR işlemi 0 sonucunu doğurur. (a) (b) Şekil 1.7. (a) OR kapısının sembolik gösterimi, (b) doğruluk tablosu. 3. NOT İşlemi. Bu bir tümleme işlemidir. A bir Boole değişkenini veya fonksiyonunu göstermek üzere NOT A = A ile gösterilir. Bu işlemi gerçekleyen lojik kapının sembolik gösterimi ve doğruluk tablosu Şekil 1.8 de gösterilmiştir. (a) (b) Şekil 1.8. (a) NOT kapısının sembolik gösterimi, (b) doğruluk tablosu. Bu işlemler temel işlemler olup, bunlardan türetilen türev işlemler vardır. Türev işlemler XOR, NAND, NOR gibi işlemlerdir. NAND ve NOR işlemleri sırasıyla AND ve 13

OR işlemlerinin değillerine karşılık düşer, bu yüzden burada verilmeyeceklerdir. Ama XOR işlemi aritmetik işlemlerde ve eşitlik karşılaştırmada çok kullanıldığından burada açıklanması uygun olacaktır. 4. XOR İşlemi. Denetimli tümleme işlemidir. A ve B Boole değişkenleri olmak üzere A XOR B = A + B ile gösterilir. Bu işlemi gerçekleyen kapının sembolik gösterimi ve doğruluk tablosu Şekil 1.9 da verilmiştir. Doğruluk tablosundan görülebileceği üzere, A = 0 iken çıkış A + B = B dir, tersine A=1 iken A + B = B dir. Buradan A değişkeni sayesinde B değişkeninin tersinin alınıp alınmayacağı denetlenebilmektedir. (a) (b) Şekil 1.9. (a) XOR kapısının sembolik gösterimi, (b) doğruluk tablosu. XOR işlemi 1-bitlik iki sayının toplanmasında kullanılabilir. Doğruluk tablosundan görülebileceği üzere, A = B = 1 olduğu zaman toplam 2 etmesine rağmen a+b = 0 olmuştur. Bu sonuç sayı tabanı çıkarılarak bulunmuştur ve elde doğurur. Diğer durumlarda A+B değeri çıkış olarak alındığından, toplamı tam doğru olarak temsil etmektedir. XOR kapısı aynı zamanda eşitlik karşılaştırıcıdır. Doğruluk tablosundan görüleceği üzere, A ve B değişkenleri aynı değerli olduğu zaman çıkış 0, farklı olduğu zaman çıkış 1 dir. 1.3 BİLGİSAYARIN GENEL YAPISI Basit bir sayısal bilgasayarın blok dyagramı Şekil 1.10 da gösterilmiştir. Merkezi işlem birimi (CPU) çoğunlukla insan beynine benzetilir, çünkü burası tüm kararların alındığı ve sistem zamanlamasının üretildiği yerdir. CPU da bir aritmetik lojik birim (ALU) vardır ve tüm matematiksel işlemler orada yapılır. Bu hesapların sonuçları akumülatör adı verilen CPU içindeki özel bir kaydedicide saklanır. Bu işi gerçeklemek için CPU ya emretmek amacıyla kullanılan belirli bir komut dizisini saklayacak bir bellek birimi kullanılmalıdır. Bu emirlere bilgisayar programı adı verilir. Emirlerin işleyeceği veriler için bellekte yer ayrılır. Bu belleğe veri bellek adı verilir. 14

Giriş/çıkış cihazları olmadan bilgisayarın çok yararlı iş yapması mümkün değildir. Yapılacak işe ilişkin emirleri veya komutları bilgisayara girebileceğimiz cihaz klavyedir. Sonuçları ise yazıcı veya CRT ekran üzerinde gözleriz. Şekil 1.10. Basit bir bilgisayarın blok yapısı. Program belleğin içeriği incelendiği zaman, bizim için anlamı olmayan bir sayılar kümesi ile karşılaşırız. Ama CPU için bu sayıların anlamı büyüktür ve CPU nun yürüteceği işlemleri gösteren bir komut takımını temsil eder. Bu sayılar, CPU nun emir takımındaki çeşitli emirlere ilişkin işlem kodlarını (opcode) gösterir. CPU, bellek, ve giriş/çıkış cihazlar birbirleriyle haberleşebilmelidir. Örneğin CPU seçilecek bellek alanını belirleyebilmeli ve bu alana bilginin yazılacağını veya okunacağını tanımlayabilmelidir. Bu iş adres, veri, ve denetim hatları sayesinde yapılır. CPU belirli bir bellek alanının içeriğini okuyacağı zaman, ilk olarak o yerin adresini adres yoluna koyar. Bu adres program sayıcının içeriğidir. Denetim hatları belleğe erişileceğini ve bellek üzerinde örneğin okuma işleminin yapılacağını tanımlar. Bunun sonucunda seçilen bellek alanın içeriği veri yolu üzerinden CPU ya taşınır. Bu üç yola sahip bilgisayar mimarisinin çalışmasına örnek olarak akumülatör içeriğini dış cihaza (örneğin yazıcıya) gönderen bir emiri inceleyelim. Bu emirin icrasi, yazıcı adresinin CPU tarafından adres yoluna koyulmasını gerektirir. Yazıcıya ait olan adres kodçözücü bu adresi değerlendirerek CS hattını aktif yapar. Daha sonra akumülatör içeriği veri yoluna koyulur, ve ardından yazma denetim işareti aktif yapılarak veri yolu 15

üzerindeki bilgi arayüz cihazına yazılmış olur. Arayüzün çıkışı aynı zamanda yazıcının girişine uygulanmış olduğundan, bilgi yazıcıya iletilmiş demektir. Adres, veri, ve denetim yollarının genişliği kullanılan CPU ya bağlıdır. Emirleri 8- bitlik verileri işleyebilen bir CPU nun veri yolu genellikle 8-hatlı ve adres yolu 16-hatlı olmaktadır. Denetim yolunun genişliği 8-bitlik CPU larda bile değişik olabilir. Bu yol CPU yu tanımlayan bazı özel hatlar içerebilir. Ama her CPU da ortak olan denetim hatları vardır, örneğin okuma, yazma,...vs hatları gibi. Denetim hatlarının bir kısmı CPU ya giriş bir kısmı çıkıştır. Halbuki adres yolu sadece çıkış, veri yolu ise hem giriş hem de çıkış olabilmektedir. 1.4 MİKROBİLGİSAYARIN PROGRAMLANMASI 1. Makina ve Asembli Dili Programlama. Bütün bilgisayarlar ikili sayılar kullanılarak programlanmalıdır. Ama bu programlama biçimi programcı açısından çok hantaldır. Klavyeden girilen iki sayıyı toplayan bir Z80 mikroişlemci programı incelensin. 11011011 00000000 01000111 11011011 00000000 10000000 11010011 01000000 01110110 Bu programın çok açık olmadığı aşikardır. Ama Z80 işlemci için oldukça açıktır. Bu tüm programa amaç kodu (object kodu) denir ve CPU nun icra edebileceği yegane kodu içerir. Ama programcının bu kodu kullanabilmesi hemen hemen imkansızdır. Şimdi bu programın onaltılı tabanda kodlandığı düşünülsün. DB 00 47 DB 00 80 D3 40 76 16

Elbette bu program daha okunabilir biçimdedir, ama programın görevi halen daha açık değildir. Şimdi de bu onaltılı kodlara karşı düşen mnemonic biçimler (emir işlem kodlarının kısaltımı) kullanılsın. İkili Onaltılı Mnenonic Açıklama 11011011 DB IN A,(OOH) ; 00 adresinden birinci 00000000 00 ; sayıyı A kaydedicisine gir. 01000111 47 LD B,A ; A nın B de kopyasını oluştur. 11011011 DB IN A,(00H) ; 00 adresinden ikinci sayıyı 00000000 00 ; A kaydedicisine gir. 10000000 80 ADD A,B ; A ve B kaydedicilerini topla ve sonucu A da sakla 11010011 D3 OUT (40H),A ; A nın içeriğini kırk adresine 01000000 40 yaz 01110110 76 HALT ; Dur. Bu programın görevi şimdi oldukça açıktır. Birinci sayı 00 adresinden A kaydedicisine girilir. Klavye bu 00 adresine bağlanmıştır. Üstüne yazma yapılmasın diye birinci sayı A dan B kaydedicisine taşınır. Daha sonra ikinci sayı klavyeden A kaydedicisine girilir ve A ve B kaydedicilerinin içerikleri toplanır. Sonuç, monitörün bağlı olduğu varsayılan 40 adresine gönderilir. En son emirle mikroişlemci durdurulur. Mikroişlemci emirleri ikili, onaltılı, ve mnomonic biçimde gösterilebilir. Kullanılan açıklamalar, programın yaptığı işi daha da netleştirir. Emirleri onaltılı biçimde girerek bilgisayarın programlanması makina dili programlama olarak bilinir. Bazı bilgisayarlar mnomonic biçimli emirler kullanılarak programlamaya izin verir. Buna da Assembli dili programlama denir. Assembli dili program kullanıldığı zaman Assembler adı verilen özel bir programa ihtiyaç vardır. Assembler programı, Assembli dili kütüğün oluşumunu kolaylaştıran bir cins editör ile birlikte verilir. Assembli dili kütüğe kaynak (source) kodu denir. Programın kaynak kod uyarlaması tamamlanınca, mnemoniclerin ikili kod karşılıklarını bulmak için assembler çağrılır ve amaç kod adı verilen yeni bir kütük oluşturulur. Bu kütük, belleğe yüklenip icra edilebilecek ikili kod içerir. 17

Tuş takımından programın onaltılı biçimde girilmesine izin veren mikroişlemci eğitici (trainer) sistemleri kullanıldığı zaman, girilen onaltılı sayıları mikroişlemcinin değerlendirmesi nasıl mümkün olmaktadır sorusu akla gelebilir. Bunun cevabı Şekil 1.11 yardımıyla açıklanabilir. Bu devre 16-den -4 e kodlayıcıdır. Bu devre 16 farklı girişi (0 dan F ye kadar) alır ve bunların karşılığı olarak 0000-1111 arasında değişen 4-bitlik çıkışlar üretir. Bu sayede veriler onaltılı biçimde bilgisayara girilse de, bilgisayar bu verileri ikili biçimde almış olur. Şekil 1.11. 16-dan-4 e kodlayıcı devre. 2.Yüksek-Seviyeli Diller. BASIC programlama dili en basit yüksek- seviyeli programlama dilidir, ve bilgisayarlar ile birlikte verilmektedir. İki sayıyı toplayan program BASIC dilinde yazılırsa, 10 INPUT N1,N2 20 PRINT SUM = ; N1 + N2 30 END 18

elde edilir. Orijinal ikili programla karşılaştırılışı çarpıcıdır. Elbette bu durum tüm yüksekseviyeli dillerin amacıdır. Programcının kendi diline mümkün olduğunca benzeyen bir dille bilgisayarla konuşması en arzulanan şeydir. BASIC dilinde programlama, BASIC yorumlayıcı veya derleyici gerektirir. Yorumlayan BASIC kullanıldığı zaman, uygulama programı, editör gerektirmeden belleğe sokulabilir. Daha sonra RUN komutu verilmesi, BASIC deyimlerini yorumlayıcının incelemesini ve ardından görevi gerçekleyecek makina kod dizisini icra etmesini sağlar. Yorumlayıcı kullanmak çok yavaş program icrası ile sonuçlanabilir. Eğer bilgisayar bir döngüye girerse, yorumlayıcı o döngüdeki emirleri defalarca yorumlamaya devam edecektir. Bilgisayar çok hızlı olduğundan bu gecikme programcı tarafından farkedilmeyebilir. Yüksek-seviyeli dildeki programları amaç koda dönüştürmek için derleyici kullanılabilir. Derleyici kullanmak assembler kullanmaya benzer, çünkü uygulama program kütüğünü oluşturmak için bir editör kullanılmalıdır. Yüksek seviyeli diller, bilgisayar donanımını ve emir takımını programcının bilmesini gerektirmez, ve böylece bu yükten programcıyı kurtarır. 19