Bilg.Mimarisi-I 4.HAFTA VERI AKTARIMI VE ISLEME. Bilgisayar buyrukları 3 kategoride sınıflandırılabilir.

Benzer belgeler
Şekil. 64 Kelimelik Yığıtın Blok Şeması

BILGISAYAR ARITMETIGI

BILGISAYAR ARITMETIGI

KASIRGA -4 Buyruk Tasarımı Belgesi Ankara

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı

AND Komutu. and hedef, kaynak

İşlem Buyrukları MİKROİŞLEMCİ SİSTEMLERİ. İşlem Buyrukları. İşlem Buyrukları. İşlem Buyrukları. İşlem Buyrukları

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

Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler

ASENKRON (Eş Zamanlı Olmayan) HABERLEŞME ARA YÜZEYİ

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

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

KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR:

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

MTM 305 MİKROİŞLEMCİLER

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

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

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

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

Bölüm 5: ARITMETIK VE MANTIK IŞLEM YAPAN KOMUTLAR

MTM 305 MĠKROĠġLEMCĠLER

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

(ReduceD INSTRUCTION SET COMPUTER-RISC)

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

Elektroniğe Giriş 1.1

Özet DERS 5. Şu ana kadar bilmeniz gerekenler... İşaretsiz Çarpma. Bayraklardaki Durumlar. İşaretli Çarpma

Yrd. Doç. Dr. Caner ÖZCAN

Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. İşlenenin Yeri. Örnek MİB Buyruk Yapısı. İvedi Adresleme. Adresleme Yöntemleri. Bellek. Kütükler.

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi

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

İşletim Sistemlerine Giriş

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

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.

TBİL-405 Mikroişlemci Sistemleri Bölüm 2 1- % %01010 işleminin sonucu hangisidir? % %11000 %10001 %10101 %00011

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

Yığın MİKROİŞLEMCİ SİSTEMLERİ. Yığın. Örnek MİB için Yığın. Yığma İşlemi. Çekme İşlemi

8086 Mikroişlemcisi Komut Seti

Aritmetiksel Komutlar

Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. Örnek MİB ile Adresleme. Adresleme Yöntemleri. Doğal Adresleme. İvedi Adresleme

BÖLÜM 3 OPERAT A ÖRLER

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.

BM-311 Bilgisayar Mimarisi

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

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

Nesne Yönelimli Programlama

SAYILAR DOĞAL VE TAM SAYILAR

GİRİŞ-ÇIKIŞ (INPUT / OUTPUT) ORGANİZASYONU

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU

8086 Mikroişlemcisi Komut Seti

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

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

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

Çalışma Açısından Bilgisayarlar

Yrd. Doç. Dr. Caner ÖZCAN

Komutların Yürütülmesi

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

FORMÜLLER VE FONKSİYONLAR

Algoritma ve Programlamaya Giriş

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

TAM SAYILAR. Tam Sayılarda Dört İşlem

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

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

BİL 201 Birleşimsel Mantık (Combinational Logic) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

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

Bilgisayar Mühendisliğine Giriş

NESNEYE YÖNELİK PROGRAMLAMA

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

BM-311 Bilgisayar Mimarisi

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

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

Algoritma ve Akış Diyagramları

BM-311 Bilgisayar Mimarisi

1. Bölüm Sayı Sistemleri

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

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

Mikrobilgisayarda Aritmetik

K uark projesi. Temel Özellikler :

KASIRGA 4. GELİŞME RAPORU

Bilgisayar İşletim Sistemleri BLG 312

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

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

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

Ünite-2 Bilgisayar Organizasyonu.

Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

ÜNİTE 1: TEMEL KAVRAMLAR

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

İÇ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

ECEM ERDURU GAMZE SERİN ZEHRA SABUR EMİNE ÖLMEZ. o TAMSAYILAR KONUSU ANLATILMAKTADIR

C Programlama. C Programlama. Alper Bayrak Abant İzzet Baysal Üniversitesi Bolu

PASCAL PROGRAMLAMA DİLİ YAPISI

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

Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR

Düşünelim? Günlük hayatta bilgisayar hangi alanlarda kullanılmaktadır? Bilgisayarın farklı tip ve özellikte olmasının sebepleri neler olabilir?

BÖLÜM 7 Kesmeler.

SAYILAR SAYI KÜMELERİ

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

TAMSAYILAR. 9www.unkapani.com.tr. Z = {.., -3, -2, -1, 0, 1, 2, 3, } kümesinin her bir elemanına. a, b, c birer tamsayı olmak üzere, Burada,

Transkript:

1 VERI AKTARIMI VE ISLEME Bilgisayar buyrukları 3 kategoride sınıflandırılabilir. 1. Veri aktarım buyrukları 2. Veri işleme buyrukları 3. Program denetim buyrukları 1. Veri Aktarım Buyrukları Veri aktarım buyrukları verileri bir yerden başka bir yere içeriğini değiştirmeden gönderirler. Veri aktarım buyrukları İsim Birleştirici dil İşlevi sembolleri Yükle LD Bellekten işlemci yazacına (genellikle AC ye) aktarım için kullanılır. Aktar ST İşlemci yazacından belleğe aktarım için kullanılır. Taşı MOV Bir yazaçtan başka yazaca aktarımı sağlar. Yer değiştir XCH İki yazaç veya bir yazaç ile bir bellek kelimesinin içeriklerini yer değiştirir. Giriş IN İşlemci yazacı ile giriş uçları arasında veri aktarır. Çıkış OUT İşlemci yazacı ile çıkıç uçları arasında veri aktarır. İtme PUSH İşlemci yazacı ile bellek yığıtı arasında veri aktarır. Çekme POP İşlemci yazacı ile bellek yığıtı arasında veri aktarır. 2. Veri İşleme Buyrukları Bunlar veriler üzerine işlem yapar ve bilgisayarda 3 tipe ayrılırlar. a) Aritmetik buyruklar b) Mantıksal ve bit işleme buyrukları c) Kaydırma buyrukları a) Aritmetik Buyruklar Tipik aritmetik buyruklar İsim Birleştirici dil sembolleri Arttır INC Azalt REC Topla ADD Çıkar SUB Çarp MUL Böl DIV Elde ile topla ADD C Borç ile çıkar SUB B 2 ye göre tümleyen al NEG

2 Veri Tipi; Topla, çıkar, çarp ve böl buyrukları değişik veri tipleri için mevcuttur. Veri tipinin buyruğun icrası sırasında işlemci yazacında mevcut olduğu ve OPR kodunun tanımında belirtildiği varsayılır. Aritmetik ve buyruğun gösterdiği işlem sabit noktalı veya kayan noktalı, ikili veya onlu, tek duyarlıklı veya çift duyarlıklı olabilir. Örneğin; ADD I 2 ikili tamsayıyı toplar ADD F 2 kayan noktalı sayıyı toplar ADD D 2 ondalık sayıyı toplar Bir yazaç içindeki bitlerin sayısı sınırlıdır. Bu yüzden aritmetik işlemlerin sonuçları sınırlı duyarlıktadır. Bir çok küçük bilgisayar çift duyarlıklı aritmetik için özel buyruklar içerir. Özel bir elde yaz-bozu son elde yi tutar. Elde ile topla buyruğu iki veriyi topladığı gibi bir önceki buyruktan gelen elde değerini de bunlara toplar. Benzer şekilde borç ile çıkar buyruğu iki kelimeden birini diğerinden çıkarır. Aynı zamanda bir önceki buyruktaki ödünç almayı da hesaba katar. b) Mantıksal ve Bit İşleme Buyrukları Mantıksal buyruklar yazaçlara yüklenmiş bitler üzerine işlem yaparlar. Tek tek bitler üzerine veya grup halindeki bitleri işlemekte kullanılırlar. Mantıksal buyruklar verinin her bitini ayrı ayrı ele alıp bir Boole değişkeni olarak işleme sokar. Mantıksal ve bit işleme buyrukları İsim Birleştirici dil sembolleri Silme CLR Tümleme COM VE AND VEYA OR ÖZEL-VEYA XOR Elde yi silme CLRC Elde yi 1 yapma SETC Elde yi tümleme COMC Kesmeyi açma EI Kesmeyi kapatma DI Tümleme buyruğu verinin 1 e göre tümleyenini alır. Yani bitleri ters çevirir. Ve, veya, özelveya buyrukları gösterdikleri işlemi verinin bitlerine uygular. Seçilen Bitlerin Silinmesi; VE (AND) buyruğu bir bit veya bir grup bitin temizlenmesi (sıfırlanması) için kullanılır. x.0 = 0 ve x.1 = x tir. Bir ikili değişken 0 ile VE lendiğinde sonuç 0, 1 ile

3 VE lendiğinde sonuç 1 dir. VE (AND) buyruğu seçilen bitlerin silinmesi için kullanılır. AND buyruğuna aynı zamanda maske de denir. Seçilen Bitlerin 1 Yapılması; OR buyruğu bir veya bir grup bitin 1 yapılması için kullanılır. x + 1 = 1 ve x + 0 = x tir. Seçilen bir ikili değişken 0 ile VEYA landığında değer değiştirmez, 1 ile VEYA landığında değeri 1 olur. Bu yüzden OR buyruğu bir grup bitin değerini 1 yapmak için kullanılır. Seçilen Bitlerin Tümlenmesi; XOR buyruğu bir veya bir grup bitin tümlerinin alınması için kullanılır. x 1 = x x 0 = x tir. İkili değişken 0 ile ÖZEL-VEYA landığında değer değiştirmez, 1 ile ÖZEL-VEYA landığında değeri 1 olur. c) Kaydırma Buyrukları Bir kelimenin sonuna gelen bit kaydırmanın tipini belirler. Kaydırma buyrukları mantıksal, aritmetik veya dairesel olabilir. Mantıksal kaydırmada sondaki bitlere 0 konur. Mantıksal sağa kaydırma için en sol bit mantıksal sola kaydırma için en sağ bit son pozisyondur. Aritmetik kaydırmalar işaretli sayıların 2 ye göre tümleyeni için kullanılan kuralları uygular. Aritmetik sağa kaydırma buyruğu en soldaki işaret bitini muhafaza etmelidir. İşaret biti sayının diğer bitleri ile birlikte sağa kaydırılır fakat işaret bitinin kendisi değişmeksizin kalır. Bu son bitin aynı kaldığı sağa kaydırma işlemidir. Aritmetik sola kaydırma işlemi son pozisyona 0 koyar ve mantıksal sola kaydırma buyruğu ile aynıdır. Bu nedenle bir çok bilgisayar eğer mantıksal sola kaydırma buyruğu varsa ayrıca farklı bir aritmetik sola kaydırma buyruğuna sahip değildir. Döndürme buyrukları dairesel kaydırmalar üretirler. Sözcüğün sonundan kaydırılan bitler mantıksal kaydırmadaki gibi kaybolmaz, bunun yerine tekrardan diğer uca girerler. Elde buyruğu aracılığıyla döndürme, elde bitini sözcüğü döndürülen yazacın bir uzantısı olarak görür. Dolayısıyla elde buyruğu aracılığıyla bir sola döndürme elde bitini yazacın en sağ bit pozisyonuna, en sol bit pozisyonunu ise elde ye aktararak bütün yazacı sola kaydırır. Kaydırma buyrukları İsim Birleştirici dil sembolleri Mantıksal sağa kaydırma SHR Mantıksal sola kaydırma SHL Aritmetik sağa kaydırma SHRA Aritmetik sola kaydırma SHLA Dairesel sağa kaydırma ROR Dairesel sola kaydırma ROL Elde ile dairesel sağa kaydırma RORC Elde ile dairesel sola kaydırma ROLC

4 3. Program Denetimi Buyrukları Buyruklar daima ardışık bellek adreslerinde bulunurlar. MİB içinde işlenmek için bu buyruklar ardışık adreslerden alınıp getirilirler ve sonra icra edilirler. Program denetim buyruklarının icrasıyla programın akış sırası değişebilir, veri aktarım ve işleme işlemleri için bazı şartlar olabilir. Program sayıcıda bir değişme olunca programın akışında bir kesiklik olabilir. Bu durum farklı program parçalarına geçişi mümkün kılar. Program denetim buyrukları İsim Birleştirici dil sembolleri Dallan BR Atla JMP Atla SKP Çağır CALL Geri dön RET Çıkarma ile kıyaslama CMP VE işlemi ile kontrol TST Dallan ve Atla buyrukları şartlı veya şartsız olabilir. Şartlı dallanma buyruğu şart pozitifse dallan veya şart 0 ise dallan şeklindedir. Şart sağlanırsa sağlanan şartın adresi PC ye yerleştirilir ve bir sonraki buyruk bu adresten başlar. Şart sağlanmazsa PC değiştirilmez. Bir sonraki buyruk aynı sırada devam eder. SKP buyruğunun adres alanına ihtiyacı yoktur. Dolayısıyla sıfır adresli buyruktur. Şartlı bir SKP buyruğu, eğer şart sağlanıyorsa bir sonraki buyruğa atlar. Bunu sağlamak için al-getir evresi dışında icra evresi sırasında da PC arttırılır. Eğer şart sağlanmaz ise PC arttırılmaz ve bir sonraki buyruk ile program sürer. Çağırma ve Geri dön buyrukları alt programlarla beraber kullanılır. Kıyaslama ve kontrol buyrukları program akışını doğrudan doğruya değiştirmezler. CMP buyruğu bir çıkarma işlemi gerçekleştirir. Fakat çıkarma işleminin sonucu geri dönmez bazı durum bit şartları işlemin sonucu olarak 1 yapılır. Benzer şekilde TST buyruğu mantıksal VE işlemini iki veri arasında gerçekleştirir. Sonucu saklamadan veya verileri değiştirmeden bazı durum bitlerini 1 yapar. İşe yarayan durum bitleri elde biti, işaret biti, sıfır belirticisi ve taşma şartıdır. Durum Bit Şartları bitleri de denir. Durum bit şartları durum yazacının bitlerine yazılır. Durum bitlerine şart kodu ya da bayrak

5 Şekil. 8 bit ALU ile 4 bit Durum Yazacı 4 bit durum yazaçları C, S, Z ve V ile gösterilir. Durum bitleri ALU içindeki bir işlemin sonucuna göre 1 veya 0 yapılır. 1. Eğer C 8 yani son elde 1 ise C(elde) = 1 yapılır. Eğer C 8 = 0 ise C = 0 yapılır. 2. Eğer en yüksek mertebeli bit F 7 = 1 ise S (işaret) biti 1 yapılır. F 7 = 0 ise S = 0 dır. 3. ALU nun bütün bitleri 0 ise (ALU nun bütün çıkışları = 0) Z = 1 yapılır. Eğer çıkış sıfır değil ise Z = 0 dır. 4. Son iki elde nin XOR u 1 ise V(taşma) = 1 yapılır. Yani taşma vardır. Aksi halde 0 dır. Eğer negatif sayılar 2 nin tümleyeni biçiminde verilmişse bu taşma şartıdır. 8 bit ALU için çıkış +127 den büyük veya 128 den küçük olunca V = 1 olur. Eğer iki işaretli sayının toplama işleminden sonra V = 1 ise bir taşma vardır. Bir XOR işleminden sonra Z = 1 olmuşsa buradan A = B çıkar. Çünkü eşit iki sayının XOR lanması sonucu çıkışlar 0 olur. Z = 1 yapılır. Tek bir bitin 0 mı yoksa 1 mi olduğu maskeleme işlemi sonucu, çıkışların hepsinin 0 olması yani Z = 1 ile anlaşılır. Örneğin A = 101x1100 olsun x aranılan bittir. A nın B = 00010000 ile maskelenmesi sonucu x = 0 ise bütün çıkışlar 0 olur ve Z = 1 olur. Eğer x = 1 ise tüm çıkışlar 0

6 olmadığından Z = 0 olur. VE işlemi TST buyruğu yardımıyla elde edilebilir. Böylece A nın ilk şekli korunmuş olur. Şartlı Dallanma Buyrukları Aşağıdaki çizelge çoğunlukla kullanılan dallanma buyruklarını göstermektedir. Her bir birleştirici dil sembolü buyruk B ile (Dallan) başlar. Sonra şartın kısaltılmışı gelir. Eğer şart ters olarak kullanılacak ise N (No) harfi konulur. Dolayısıyla BC elde ile dallan ve BNC eldesiz dallan anlamına gelir. Eğer şart doğru ise program buyruk tarafından verilen adrese gider. Eğer şart yanlış ise program bir sonraki buyruk ile devam eder. Şartlı buyruklar JMP, SKP, CALL ve RET tipi program denetim buyrukları ile birleştirilebilir. Çizelge Şartlı dallanma buyrukları Birleştirici dil sembolleri Dallanma Şartları Test Şartları BZ sıfır ise dallan Z = 1 BNC sıfır değilse dallan Z = 0 BC elde varsa dallan C = 1 BNC elde yoksa dallan C = 0 BP sayı pozitifse dallan S = 0 BM sayı negatifse dallan S = 1 BV taşma varsa dallan V = 1 BNV taşma yoksa dallan V = 0 İşaretsiz karşılaştırma şartları (A - B) BHT yüksek ise dallan A > B BHE yüksek veya eşit ise dallan A B BLO düşük ise dallan A < B BLOE düşük veya eşit ise dallan A B BE eşit ise dallan A = B BNE eşit değil ise dallan A B İşaretli karşılaştırma şartları (A - B) BGT büyük ise dallan A > B BGE büyük veya eşitse dallan A B BLT küçük ise dallan A < B BLE küçük veya eşitse dallan A B BE eşit ise dallan A = B BNE eşit değil ise dallan A B Z (sıfır) durum biti, ALU içindeki bir işlemin sonucu test için kullanılır ve sonucun 0 olup olmadığını belirtir. Taşma biti en önemli bitten elde ye bir aktarma (taşma) olup olmadığını kontrol için kullanılır. Taşma biti dönme işleminde sondaki bitin elde ye gelip gelmediğini anlamak

7 için kullanılabilir. İşaret biti en önemli bitin durumunu gösterir. Eğer S = 0 ise çıktı pozitif, 1 ise negatiftir. O halde pozitif üzerine bir dallanma S = 0 a, negatif üzerine bir dallanma S = 1 e bakar. Doğal olarak bu iki şartlı dallan buyruğu sadece işareti değil, ALU çıktısının en önemli bitini denetim için kullanabilir. Taşma biti 2 nin tümleyeni şeklindeki işaretli sayılarda aritmetik işlemler için kullanılır. CMP buyruğu iki verinin (örneğin A, B) farkını alır. Sonuç, sonuç yazacına aktarılmaz. Fakat durum bitleri etkilenir. Durum yazacı A ve B nin göreceli büyüklükleri için bilgi verir. Bazı bilgisayarlar bazı şartlı dallanma buyruklarının kıyaslama buyruğunun hemen arkasından uygulanmasına imkan verirler. Özel şartlar, karşılaştırılan iki sayının, yani A ve B nin işaretli veya işaretsiz olmasına bağlı olarak test edilmelidir. Yüksek ve düşük kelimeleri işaretsiz sayılar için, büyüktür ve küçüktür kelimeleri işaretli sayılar için kullanılmıştır. Göreceli büyüklük test şartının yanına yazılmıştır. İşaretli ve işaretsiz sayılar için aynı gibi görünmesine rağmen her biri ayrı ayrı düşünülmelidir. Aşağıda buna bir örnek verilmektedir. Sayısal Örnek: Şekli daha önce verilen 8 bit ALU ya bakılırsa 8 bite sığabilecek en büyük işaretsiz sayı 255 tir. İşaretli sayıların tanım aralığı +127 ile 128 arasındadır. İki sayının farkı eğer negatif sayı 2 nin tümleyeni şeklinde verilmişse değişmez. Yani işarete bağlı olmadan aynı çıkar. A = 11110000 ve B = 00010100 olsun. A - B işlemini yapmak için ALU B nin 2 ye göre tümleyen alır ve onu A ile toplar. A : 11110000 B + 1: +11001100 A - B: 11011100 C = 1 S = 1 V = 0 Z = 0 Kıyaslama buyruğu durum bitlerini yukarıdaki gibi düzenler. C = 1 dir. Çünkü son elde de taşma mevcuttur. S = 1 dir çünkü en soldaki bit 1 dir. V = 0 dır. Çünkü son iki elde eşittir ve 1 dir. Z = 0 dır. Çünkü sonuç 0 değildir. Eğer işaretsiz sayılar düşünülürse A nın değeri 240 ve B nin değeri 20 dir. Çıkarma işleminin sonucu ondalık olarak 240 20 = 220 dir. İkili sonuç 11011100 gerçekten 220 ye eşittir ve biz A > B ve A B sonuçlarını alırız. Bu sonuç C = 1 ve Z = 0 dan da çıkarılabilirdi. Bu karşılaştırmadan sonraki dallanmalar BHI, BHE ve BNE dir. Eğer işaretli sayıları düşünürsek A = 16 dır çünkü 11110000 ikili sayısı 00010000 ikili sayısını 2 nin tümleridir. 00010000 ise +16 dır. B nin ondalık karşılığı +20 dir.

8 Çıkarma işlemi (-16) - (+20) = 36 ve ikili olarak 11011100 (yani 00100100 ın 2 nin tümleridir) yani 36 dır. (-16) < (+20) olduğundan A < B ve A B elde edilir. Bu sonuçlar durum bitinde S = 1, V = 0 ve Z = 0 sonuçlarından da çıkarılabilir. Bu mukayese işlemi sonucu dallanmalar BLT, BLE ve BNE dir. BNE ve BNZ buyrukları eşdeğerdir. Benzer şekilde BE ve BZ eşdeğerdirler. Bazı bilgisayarlar C bitini çıkarma işlemi sırasında ödünç alma biti olarak kullanırlar. Eğer A B ise ödünç alma olmaz. Eğer A < B ise bir bit daha önemli bitten ödünç alınmalıdır. Ödünç alma için şart çıkarma işleminin yapılmasından sonra elde nin tümleyeninin alınmasıdır. Tabi önce B nin 2 nin tümleri alınır. Bu sebepten C bitini ödünç alma biti olarak kabul eden bir işlemci çıkan sayının 2 nin tümlerini alıp diğer sayıyla toplayıp çıkarma işlemini tamamladıktan sonra C bitinin tümlerini alır ve bunu ödünç biti olarak kabul eder. Alt Program Çağırma ve Geri Dönüş Alt program belli bir işi yapan ayrı bir programdır. Bir icra sırasında alt program kendi fonksiyonunu icra için birçok farklı kısımdan birçok defa çağrılabilir. Bir alt program çağrılınca bir dallanma buyruğu çalışır. Alt programın icrasından sonra esas programa geri dönüş için tekrar dallanma yapılır. Program denetimini alt programa aktaran buyruğun birçok farklı adı vardır. Bir alt program çağıran buyrukta bir OPR kısmı ve alt programın başlangıcını gösteren bir adres vardır. Buyruk iki operasyonun icrasıyla gerçekleşir: (1) PC içindeki adres (geri dönüş adresi) geçici olarak saklanır. Böylece alt programdan sonra nereye döneceği bilinir. (2) Denetim alt programın başlangıç adresine aktarılır. Her alt programın son buyruğu alt programdan geri dönüş olup geçici yerdeki adresi PC a yerleştirir. Bunun sonucu olarak program denetimi geçici olarak saklanan adrese geçmiş olur. Farklı bilgisayarlar farklı geçici adresler kullanırlar. Bazıları dönüş adresini alt programın ilk bellek adresinde tutar. Bazıları ise bir işlemci yazacında saklar. Bazıları da yığıta yazar. En etkin yol dönüş adresini yığıta yazmaktır. Çünkü ardışık rutinler çağrıldığında hepsinin dönüş adresleri ardışık olarak yığıta yazılabilir. Alt programdan dönüş buyruğu yığıtın tepesindeki adresi alır ve PC ye yerleştirir. Böylece daima son alt programı çağıran programa dönülür. Bir alt program çağrısı aşağıdaki mikro işlemler ile yapılır.

9 SP SP + 1 M[SP] PC PC etkin adres Yığıt göstergesini 1 arttır PC ın içeriğini yığıta yaz denetimi alt program aktar Eğer içinde bulunulan alt programdan başka bir alt program çağrılırsa bu sefer yeni dönüş adresi yığıta yazılır. Bulunulan alt programdan dönüş için kullanılan mikro işlemler PC M[SP] SP SP + 1 Yığıttan al ve PC a yaz Yığıt göstergesini 1 arttır Eğer bir alt program yığıtı kullanılırsa bütün adresler donanım tarafından otomatik olarak tek bir birim içine yazılır. Böylece programcı dönüş adreslerini nereye yazdığını düşünmek zorunda kalmaz. Özyineli Alt Programlar; Bu alt program kendini çağıran bir alt programdır. Eğer dönüş adresi için tek bir yazaç veya bellek adresi kullanılırsa ve özyineli alt program kendini çağırırsa bir önceki adres silinir. Bu istenmeyen bir durumdur. Çünkü en önemli bilgi silinmiş olur. Bu problem farklı saklama adresleri kullanıldığında çözülebilir. Eğer yığıt kullanılırsa her dönüş adresi önceki adresleri bozmadan yığıta yerleşebilir. Bu, özyineli alt program problemini çözer. Çünkü daima bir sonraki alt program bir öncekine döner. Program Kesme Program kesme programın normal akışı sırasında ortaya çıkan birtakım problemleri düzeltmek için kullanılır. Kesme programı prensip olarak bir alt program çağrısına benzerdir. Sadece 3 noktada farklılık vardır: (1) Kesme genellikle iç veya dış bir sinyal tarafından başlatılır. Alt program ise bir buyruğun icrasıyla ortaya çıkar. (2) Kesmede servis rutininin adresi buyruğun içinde bir adres alanından gelmez donanım tarafından belirlenir. (3) Kesme işlemi MİB nin durumunu belirleyecek bütün gerekli bilgileri depolar. Alt program ise sadece PC yi saklar.

10 Bir program bir kesme ile kesildikten sonra servis rutini devreye girer. Servis rutini işini bitirdikten sonra program, kesme geldiği andaki buyruğa geri döner. MİB de kesmeden önce bulunduğu aynı durumda olmalıdır. Ancak bu olduğu taktirde program sanki hiçbir şey olmamış gibi icraya devam eder. MİB nin durumu icra evresinin sonunda kesmenin haber alındığı durumdur. MİB in durumu şu şekildedir; 1. PC nin içeriği 2. Bütün işlemci yazaçlarının içerikleri 3. Bazı durum şartlarının içerikleri Program Durum Kelimesi ( Program Status Word ) Yönetici Kipi; MİB içindeki bütün durum bit şartlarına program durum kelimesi denir. PSW ayrı bir donanım yazacında saklanır. Bu yazacın içeriği MİB in durumunu karakterize eder. Tipik olarak son ALU işleminden sonraki durum bitlerini içerir. Bu aynı zamanda müsaade edilen kesmeleri ve MİB in yönetici mi yoksa kullanıcı kipinde mi çalışmakta olduğunu belirtir. Birçok bilgisayarlar yerleşik bir işletim sistemine sahiptir. Eğer MİB işletim sisteminin parçası olan bir programı icra ediyorsa, yönetici veya sistem kipindedir denir. Bazı buyruklar sadece bu kipte çalışabilirler ve icra edilebilirler. MİB normal olarak kullanıcı kipindedir. Kullanıcı programını bu kipte icra eder. MİB in içinde bulunduğu durum PSW içindeki özel durum bitlerinden anlaşılır. Bazı bilgisayarlar bir kesmeye cevap verirken sadece PC ı saklarlar. Dolayısıyla kesme servis programı; durumu ve yazaç içeriklerini saklamak için gerekli buyrukları içermelidir. Ancak bundan sonra öz kaynakları kullanabilir. Çok az sayıda bilgisayar PC yi ve durum bitlerini ve yazaç içeriklerini kesme gelince saklar. Bilgisayarların çoğu PC yi ve PSW yi saklar. Bazı durumlarda bilgisayar içinde iki farklı işlemci yazaç kümesi mevcuttur. Her biri bir MİB kipi için kullanılır. Böyle bir makinede kesme servisi için yönetici kipine geçtiğinde yazaçların içeriklerini saklamak gerekmez., Bir kesmeyi servis etmek için gerekli donanım alt program çağırma buyruğunun icrasına çok benzer. MİB in durumu yığıta yazılır. Servis rutininin başlangıç adresi PC a aktarılır. Bu adres donanım tarafından belirlenir. Bazı bilgisayarlar kesmelerin yazıldığı bellek bölgeleri ayırırlar. Servis rutini kesmeye neyin sebep olduğunu anlar ve sonra onu servis eder. Bazı bilgisayarlar her muhtemel kesme için bellekte yer ayırırlar. Bazen donanım kesmesi kendi adresini içerir ve MİB ini servis rutinine gönderir. Her ne olursa olsun MİB bir dallanma adresi seçmek ve kesmeyi servis etmek için bir donanıma sahip olmalıdır. Bir kesme geldiğinde, bir buyruk icra ediliyorsa buyruğun icrası bitene kadar MİB kesmeyi dikkate almaz. Bir sonraki al-getir evresine geçmeden önce denetim herhangi bir kesme sinyali olup almadığına bakar. Eğer bir kesme gelmiş ve beklemede ise denetim donanım kesme evresine gider. Bu evre sırasında PC ve PSW nin içirikleri yığıta yazılır. Gelen kesmeye ait servis rutininin adresi PC ye

11 yazılır ve PSW yeni bir duruma getirilir. Artık servis rutini icraya hazırdır. Servis rutininin icrası sırasında bilgisayar MİB kipindedir. Bu durum PSW ile belirlenmiştir. MİB kipi sistem kipi, yönetici kipi olarak ta isimlendirilir. Servis rutininin son buyruğu kesme alt programından geri dönüştür. Bu buyruk icra edilince yığıttaki PSW ve dönüş adresi yerlerine tekrar yazılır. MİB kipi biter program kullanıcı kipine döner. Program kaldığı yerden icraya devam eder. KESME ÇEŞİTLERİ Programın normal çalışmasını engelleyen 3 büyük tipte kesme vardır. 1. Dış kesmeler 2. İç kesmeler 3. Yazılım kesmeleri Dış kesmeler G/Ç aletlerinden, zaman aletinden, güç kaynağından veya herhangi bir dış kaynaktan olabilir. İç kesmeler bir verinin veya buyruğun yanlış veya illegal kullanımından doğar. Örneğin; sıfıra bölme gibi. Bu şartlarda bir buyruğun icrası tamamlanmadan icra durdurulur. Servis programı düzeltici önlemleri alabilir. Dış ve iç kesmeler arasındaki fark şudur. İç kesme programın neden olduğu olağandışı şartlardan dolayı meydana gelir. Dış bir olay buna neden olmaz.iç kesmeler programla aynı zamanlıdırlar. Dış kesmeler ise programla aynı zamanlı değildirler. Eğer program tekrar tekrar çalıştırılırsa aynı iç kesme aynı yer ve zamanda tekrar meydana gelir. Dış kesmeler dış olaylara bağlıdır, icra edilmekte olan programdan bağımsızdırlar. Yazılım Kesmeleri; İç ve dış kesmeler MİB nin donanımında meydana gelen sinyaller ile başlatılır. Yazılım kesmesi bir buyruğun icrasıyla başlatılır. Yazılım kesmesi özel bir CALL buyruğudur. Fakat çağrılan bir programdan çok bir kesme gibi davranır. Programın herhangi bir yerinde programcı tarafından kullanılabilir. Yazılım kesmesinin en çok kullanımı yönetici çağırma buyruğu iledir. Bu buyruk MİB nin kullanıcı kipinden yönetici kipine geçiş yapmasını sağlar. Bilgisayar içinde bazı işlemler ancak yönetici kipinde yapılabilir. Örneğin karışık bir G/Ç aktarım işlemi. Programcı tarafından yazılan program kullanıcı kipinde çalışmak zorundadır. Bir G veya Ç

12 aktarma işlemi gerektiğinde yönetici çağırma buyruğu ile yönetici kipi çağrılır. Bu buyruk bir yazılım kesmesi oluşturur ve MİB nin durumu saklanarak yönetici kipine ait PSW getirilir. Çağıran program bu işin gereken bilgilerini işletim sistemine vermelidir.