BILGISAYAR ARITMETIGI

Benzer belgeler
BILGISAYAR ARITMETIGI

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

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.

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi

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

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR

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

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

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

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

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

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

5. KARŞILAŞTIRICI VE ARİTMETİK İŞLEM DEVRELERİ (ARİTHMETİC LOGİC UNİT)

SAYILAR DOĞAL VE TAM SAYILAR

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

Mikrobilgisayarda Aritmetik

Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR

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

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR

KASIRGA -4 Buyruk Tasarımı Belgesi Ankara

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

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,

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

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

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

Elektroniğe Giriş 1.1

ÜSLÜ SAYILAR SİBEL BAŞ AKDENİZ ÜNİVERSİTESİ EĞİTİM FAK. İLKÖĞRT. MAT. ÖĞRT. 2. SINIF

Yrd. Doç. Dr. Caner ÖZCAN

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

EEM122SAYISAL MANTIK SAYICILAR. Elektrik Elektronik Mühendisliği Yrd. Doç. Dr. Hüseyin Sağkol

MATEMATİK ASAL ÇARPANLARA AYIRMA. ÖRNEK 120 sayısını asal çarpanlarına ayırınız. ÖRNEK 150 sayısının asal çarpanları toplamını bulunuz.

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

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

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

DENEY 2-5 Karşılaştırıcı Devre

MAK 210 SAYISAL ANALİZ

Algoritmanın Hazırlanması

FORMÜLLER VE FONKSİYONLAR

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

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.

SAYILAR SAYI KÜMELERİ

SAYILAR SAYI KÜMELERİ

2) Aşağıda verilen işlemleri yazınız. g) ( ) 3) Aşağıda verilen işlemleri yazınız. 4) Aşağıda verilen işlemleri yazınız.

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

Algoritmalar ve Programlama. Algoritma

1. BÖLÜM Mantık BÖLÜM Sayılar BÖLÜM Rasyonel Sayılar BÖLÜM I. Dereceden Denklemler ve Eşitsizlikler

Nesne Yönelimli Programlama

ÜNİTE: RASYONEL SAYILAR KONU: Rasyonel Sayılar Kümesinde Çıkarma İşlemi

BLM221 MANTIK DEVRELERİ

EXCEL 2007 ELEKTRONİK ÇİZELGE

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ı

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

(ReduceD INSTRUCTION SET COMPUTER-RISC)

KASIRGA 4. GELİŞME RAPORU

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

TAM SAYILARLA TOPLAMA ÇIKARMA

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

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

FAKTÖRİYEL. TANIM Pozitif ilk n tam sayının çarpımı n = n! biçiminde gösterilir. n Faktöriyel okunur.

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

Mustafa Sezer PEHLİVAN. Yüksek İhtisas Üniversitesi Beslenme ve Diyetetik Bölümü

ÜSLÜ SAYILAR. AMAÇ 1: 6 ve 7. Sınıflarda görmüş olduğumuz üslü ifadelerdeki temel kavramları hatırlama

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

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

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

TAM SAYILARDA ÇARPMA BÖLME İŞLEMLERİ ESRA ÇAKIR

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

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

MATEMATİK DERSİ UZAKTAN EĞİTİM DERS NOTLARI 3. HAFTA

Mikroişlemcilerde Aritmetik

1. BÖLÜM Polinomlar BÖLÜM II. Dereceden Denklemler BÖLÜM II. Dereceden Eşitsizlikler BÖLÜM Parabol

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

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

KILAVUZ SORU ÇÖZÜMLERİ Matematik

ÜNİTE: TAM SAYILAR KONU: Tam Sayılar Kümesinde Çıkarma İşlemi

UYGUN MATEMATİK 5 SORU BANKASI. HAZIRLAYANLAR Fatih KOCAMAN Meryem ER. : Sad k Uygun E itim Yay nlar. : Yaz n Matbaas / stanbul

BLM1011 Bilgisayar Bilimlerine Giriş I

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

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

SAYISAL ELEKTRONİK DERS NOTLARI:

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

Yrd. Doç. Dr. Caner ÖZCAN

3. ANUITE (TAKSİTLİ ÖDEME)


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

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

a = b ifadesine kareköklü ifade denir.

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır.

Bölüm 4 Aritmetik Devreler

MATEMATİK ÜSLÜ SAYILAR. Tam Sayıların Tam Sayı Kuvveti. Üslü sayı, bir sayının kendisi ile tekrarlı çarpımıdır.

sayısının binler bölüğündeki 5 rakamının basamak değeri kaçtır? Yukarıdaki toplama işlemine göre verilmeyen toplanan kaçtır?

Doğal Sayılarda Çarpma ve Bölme İşlemi. Yrd. Doç. Dr. Nuray Çalışkan-Dedeoğlu Matematik Eğitimi

2018 / 2019 EĞİTİM - ÖĞRETİM YILI DESTEKLEME VE YETİŞTİRME KURSLARI 6. SINIF MATEMATİK DERSİ YILLIK PLAN ÖRNEĞİ. Konu Adı Kazanımlar Test No Test Adı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

Hatalar ve Bilgisayar Aritmetiği

TAM SAYILARLA TOPLAMA İŞLEMİ

BÖLME ve BÖLÜNEBİLME

Algoritma ve Akış Şemaları

DÖRDÜNCÜ BÖLÜM Aritmetik işlemler

Transkript:

1 BILGISAYAR ARITMETIGI Sayısal bilgisayarlarda hesaplama problemlerinin sonuçlandırılması için verileri işleyen aritmetik buyruklar vardır. Bu buyruklar aritmetik hesaplamaları yaparlar ve bilgisayar içindeki tüm veri işlemlerinden sorumludurlar. 4 temel işlem toplama, çıkarma, çarpma ve bölmedir. Bu dört temel işlemden aritmetik fonksiyonları elde etmek ve sayısal hesaplamalarla bilimsel problemleri çözmek mümkündür. Aritmetik işlemci, işlem biriminin bir parçası olup aritmetik işlemleri icra eder. Aritmetik işlemlerin icrası sırasında işlemci yazaçlarında bulunan veri tipleri buyruğun içinde belirtilmiştir. Bir aritmetik buyruk ikili veya ondalık veriyi belirler. Her iki durumda da veri sabit noktalı veya kayan noktalı olabilir. Sabit noktalı sayılar tamsayıları veya kesirli sayıları gösterebilirler. Negatif sayılar işaretli veya tümleyen gösterimiyle verilebilir. 4 aritmetik işlem için geliştirilecek algoritmalar aşağıdaki veriler için düşünülecektir. 1. Sabit noktalı ikili veri işaretli gösteriminde 2. Sabit noktalı ikili veri 2 ye göre tümleyen gösteriminde 3. Kayan noktalı ikili veri 4. İkili kodlanmış ondalık veri TOPLAMA VE ÇIKARMA Negatif sabit nokta sayıları göstermek için üç yol vardır. İşaretli, 1 in tümleyeni, 2 ye göre tümleyen. Çoğu bilgisayarlar 2 ye göre tümleyen gösterimini kullanırlar. Ancak kayan noktalı işlemler için çoğu bilgisayarlar işaretli gösterimi kesir kısmı için kullanırlar. Burada işaretli sayılar ve 2 ye göre tümleyene göre sayılarda toplama ve çıkarma algoritmaları elde edilecektir. Kabul edilen gösterim aritmetik işlemden önce ve sonra yazaçta bulunacak gösterimdir. Dolayısıyla ancak ara hesaplarda, örneğin çıkarma işlemi yapılırken sayıların 2 ye göre tümleyeni şeklinde kullanılıp sonucun aynı biçimde alınması uygundur. Sonuç işaretli sayıya dönüştürülür. İşaretli Sayılarda Toplama ve Çıkarma Büyüklük; İki sayının büyüklüğü A ve B ile gösterilsin. İşaretli sayılar toplandığında veya çıkarıldığında 8 farklı durum ortaya çıkar. Bunlar sayıların işaretlerine ve yapılan işleme bağlıdır. Bu durumlar çizelgenin ilk sütununda verilmiştir. Diğer sütunlar sayıların gerçek değerleri ve işaretleri üzerine yapılan gerçek işlemleri gösterir. Son sütun negatif sıfırı engellemek içindir. Yani iki eşit sayı

2 çıkarıldığında kalan +0 dır 0 değildir. Toplama ve çıkarma algoritması bu çizelgeden türetilebilir. Parantezler çıkarma algoritmasında kullanılacaktır. Çizelge. İşaretli sayıların toplanması ve çıkarılması İşaretli İşaretli çıkarma İşlem toplama A > B ise A < B A = B (+A) + (+B) +(A + B) (+A) + (-B) +(A - B) -(B - A) +(A - B) (-A) + (+B) -(A - B) +(B - A) +(A - B) (-A) + (-B) -(A + B) (+A) - (+B) +(A - B) -(B - A) +(A - B) (+A) - (-B) +(A + B) (-A) - (+B) -(A + B) (-A) - (-B) -(A - B) +(B - A) +(A - B) Toplama ve Çıkarma Algoritması A ve B nin işaretleri aynı olduğunda farklı iki sayı işaretsiz olarak toplanır ve A nın işareti sonuca işaret olarak verilir. Eğer A ve B nin işaretleri farklı ise işaretsiz değerlerini veya mutlak değerlerini karşılaştır ve küçük olanı büyük olandan çıkar. Eğer A büyükse A nın işaretini, tersi ise tümleyenini işaret olarak ver. Eğer değerler eşit ise B yi A dan çıkar ve sonucu pozitif yap. İki algoritma işaret karşılaştırması hariç aynıdır. Aynı işaretli iki sayının toplamı için uygulanan algoritma, farklı işaretli sayıların çıkarması için olanın aynıdır ve tersi de doğrudur. Donanımın Kurulması İki aritmetik işlemin donanım yoluyla kurulması için iki sayının önce yazaçlarda saklanması gerekir. A ve B sayılarının işaretsiz (mutlak) değerlerini tutan iki yazaç ve A S ve B S de bunların işaretlerini tutan yaz-bozlar (flip-flop) olsun. İşlemin sonucu üçüncü bir yazaca gönderilir. Eğer sonuç A ve A s de tutulursa donanımdan kar edilir. Dolayısıyla A ve A s beraber işlemci yazacını oluşturmuş olur. Yukarıdaki algoritmanın donanımının kurulması için, önce A + B mikro işlemini yapacak bir paralel toplayıcıya gerek vardır. Sonrada karşılaştırma işlemi yani A > B, A = B, veya A < B olduğunu bulmak için karşılaştırıcıya gerek vardır. A - B ve B - A mikro işlemlerini yapmak için iki paralel çıkarma devresine, ihtiyaç vardır. İşaretin durumu A S ve B S girişleri olan bir ÖZEL-VEYA kapısı ile bulunabilir. Yukarıdaki işlemler için bir karşılaştırıcı, bir toplayıcı ve iki çıkarıcıya gerek var. Fakat işlemin değişik biçimde yapılmasıyla daha az parça gerekebilir. Çıkarma işlemi, tümleme ve toplama işlemleriyle gerçekleşebiliyordu. Karşılaştırma işlemi ise çıkarma işleminin sonunda son eldeden elde

3 edilebilir. Bu olasılıkların karşılaştırılması tümleme yoluyla çıkarma işleminin ve çıkarma yoluyla karşılaştırmanın daha etkili olduğunu göstermektedir. Bu yöntemde bir toplayıcı ve bir tümleyiciye gerek vardır. Aşağıdaki şekil toplama ve çıkarma işlemleri için kurulacak donanımın blok şemasını göstermektedir. Şekil. İşaretli sayıların toplam ve çıkarılma donanımı Donanımda (şekilde görüldüğü gibi) A ve B yazaçları ile A S ve B S yaz-bozları bulunuyor. Çıkarma işlemi, A ile B nin 2 ye göre tümleyeninin toplanmasıyla gerçekleşmektedir. Çıkış elde si E yaz-bozuna aktarılmaktadır. E yaz-bozundan da iki sayının göreceli durumu anlaşılır. Toplamada taşma yaz-bozu AVF, A ve B toplandığında taşma bitini tutar. A yazacı algoritmada yer alan diğer adımlardaki işlemleri yapar. A + B işlemi paralel toplayıcıda yapılır. Toplayıcının S (toplam) çıkışı A yazacına yollanır. Tümleyici, kip denetimi M in durumuna göre B nin çıkışının tümlerini alır ve B yi doğrudan çıkışa yollar. Tümleyici içinde ÖZEL-VEYA kapıları ve paralel toplayıcı içinde tam toplayıcılar vardır. M sinyali aynı zamanda toplayıcının giriş elde sine de yollanır. M = 0 iken B nin çıkışı toplayıcıya yollanır. Giriş elde si sıfırdır, toplayıcının çıktısı A + B olur. M = 1 iken, B nin 2 ye göre tümleyen toplayıcıya gönderilir. Giriş elde si 1 dir. Çıktısı A + B + 1 dir. Buda A - B dir. Donanım Algoritması Donanım algoritmasının akış şeması aşağıdaki şekilde verilmiştir. İki işaret A S ve B S bir ÖZEL-VEYA kapısı ile karşılaştırılmıştır. Eğer kapının çıktısı 0 ise işaretler aynıdır, eğer çıktı 1 ise işaretler farklıdır. Bir toplama işlemi için aynı işaret mutlak değerlerin toplanacağını gösterir. Mutlak

4 değerler EA A + B mikro işlemiyle toplanır. (EA = ACC + Elde ). Eğer toplama işleminden sonra elde de 1 varsa toplamada taşma olmuştur. E nin değeri AVF yaz-boz una aktarılır. Şekil. Toplama ve çıkarma işlemleri için akış şeması. Tümleme ve Arttırma; Eğer toplama işlemi için işaretler farklı ise ve eğer çıkarma işlemi için işaretler aynı ise iki sayının mutlak değeri çıkarılır. Bunun için B nin 2 ye göre tümleyeni A ya toplanır. Sayılar çıkarıldığından taşma olmaz, AVF sıfır yapılır. E içinde 1 varsa A > B dir ve A sayısı doğru sonuçtur. Eğer bu sayı 0 ise negatif sıfırdan kaçınmak için A S pozitif yapılmalıdır. E içinde 0, A < B yi gösterir. Bu taktirde sonuç değeri A nın değerinin 2 ye göre tümleyeni alınır. Bu işlem tek bir A A + 1 mikro işlemi ile yapılabilir. Fakat A yazacının sadece tümleme ve arttırma işlemleri

5 yapabildiği kabul edildiğinden bu işlem 2 mikro işlemle yapılabilir. Akış şemasının sağ kısmında sonucun işareti A nın işaretinin aynı olduğundan A S nin değeri değiştirilmez. A < B olduğunda sonucun işareti A nın işaretinin tümleyenidir. Dolayısıyla A S yi tümlemek gerekir. Sonuç A yazacında işareti de A S de bulunur. AVF nin değeri taşmayı gösterir. E nin son değeri önemsizdir. İşaretli 2 ye Göre Tümleyen ile Toplama Çıkarma İkili sayının en sol biti işaret bitidir. 0 pozitif, 1 negatif sayıları gösterir. Eğer işaret biti 1 ise bütün sayı 2 ye göre tümleyen biçimindedir. Dolayısı ile +33 sayısı 00100001 ve 33 11011111 ile gösterilir. 11011111 sayısı 00100001 sayısının 2 ye göre tümleyendir. Toplamada 2 ye göre tümleyen biçiminde verilmiş iki sayıda işaret bitleri tıpkı diğer bitler gibi işlem görür. İşaret biti dışındaki elde ihmal edilir. Çıkarma işleminde önce çıkacak sayının 2 ye göre tümleyeni alınır sonra iki sayı toplanır. n basamaklı iki sayı toplandığında toplam n + 1 basamak yer kaplar. Bu durumda taşma oldu denir. Taşma durumu toplamdaki son iki elde nin ÖZEL-VEYA kapısına uygulanması ile bulunur. Kapının çıkışı 1 ise taşma vardır. Donanımın yazaç yapısı aşağıdaki şekilde verilmektedir. Şekil. 2 ye göre tümleyenli toplama ve çıkarma için donanım. A yazacını AC olarak ve B yazacını BR olarak isimlendiriyoruz. AC ve BR den en sol bitler sayıların işaret bitlerini gösterir. Tümleyici ve paralel toplayıcıda işaret bitleri diğer bitlerle beraber toplanır veya çıkarılır. Taşma yaz-bozu V eğer taşma varsa 1 olur. Bu durumda çıkış eldesi dikkate alınmaz. 2 ye göre tümleyen biçimindeki 2 ikili sayının toplama ve çıkarmasının algoritması aşağıdaki akış şemasında gösterilmektedir. Toplam AC ve BR nin içeriklerinin işaret bitleri dahil toplanmasıyla elde edilir. Son iki elde nin ÖZEL-VEYA sı 1 ise V =1 yapılır. Aksi halde 0 yazılır. Çıkarma işlemi için AC ye BR nin 2 ye göre tümleyeni eklenir. Yani pozitif sayı negatif hale getirilir veya tersi olur.

6 Negatif sayı pozitif hale getirilir. Taşma durumu işlem sırasında denetlenmelidir. İki sayı aynı işaretli olabilir. Eğer bir taşma olursa AC yazacındaki sonuç yanlıştır. Şekil. Toplama ve çıkarma algoritmaları (çıkan sayı 2 ye göre tümleyen şeklinde) ÇARPMA ALGORİTMALARI İki sabit noktalı ikili sayının işaretli gösterimde çarpımı, kalem kağıtla yapılırsa bir dizi ardışık kaydırma ve toplama işlemleriyle gerçekleşir. Bunu bir sayısal örnekle gösterelim. 23 10111 çarpılan 19 x 10011 çarpan 10111 10111 00000 00000 10111 437 110110101 sonuç İşlem çarpmanın en önemsiz bitinden başlayarak sırayla bütün bitlerine bakılarak yapılır. Eğer çarpanın biti 1 ise çarpılan aşağıya kopya edilir. Aksi halde aşağıya sıfır kopya edilir. Her kopya işleminde sola bir kaydırma yapılır. Son bit içinde kaydırma ve yazma yapıldıktan sonra bunlar toplanır. Toplam çarpımı verir. Çarpımın işareti çarpanla çarpılanın işaretlerinden bulunur. İşaretler aynı ise çarpım pozitif, farklı ise negatiftir.

7 İşaretli Sayılar İçin Donanımın Kurulması Sayısal bir bilgisayarda çarpma işlemi için ikili sayıları yazaçlara yazmak yerine, sadece iki sayının toplamını almak daha uygun olur. Daha sonra her sayı bu toplama eklenerek sonuca gidilir. Ayrıca çarpımı sola kaydırmak yerine, kısmi toplam sağa kaydırılır. Böylece çarpılan daima yerinde kalmış olur. Doğal olarak çarpan bit 0 ise, sıfırları toplamaya gerek kalmaz. Çarpım için gerekli donanım toplama-çıkarma için gerçekleştirilen donanıma 2 yazaç eklemekle elde edilir. Çarpan Q yazacında, işareti Q S dedir. Sıra sayıcıya çarpandaki bit sayısı daha önceden yazılır. Her kısmi toplam eldesinde bu sayı 1 azaltılır. Sayaç sıfır olunca çarpma işlemi bitmiştir, işlem durur. Şekil. Çarpma işlemi için donanım İşlemin başında çarpılan B yazacında, çarpan Q dadır. A ve B nin toplamı kısmi çarpımı oluşturur. Kısmi çarpım EA yazacına aktarılır. Kısmi çarpım ve çarpan sağa kaydırılır. Bu işlem shr EAQ ile gösterilmektedir. A nın en önemsiz biti Q nun en önemli bitine kaydırılır. E biti A nın en önemli bitine ve E ye de 0 kaydırılır. Kaydırma işleminden sonra kısmi çarpımın 1 biti Q ya kaymış ve çarpanın bitlerini 1 bit sağa doğru itmiştir. Bu durumda çarpanın en sağ biti Q n e kayar. Kayma işleminden sonra bu bitin 0 mı 1 mi olduğuna bakılır. Donanım Algoritması Şekil 10.6 da donanım algoritması verilmektedir. Baştan çarpılan B de ve çarpan Q dadır. Bunların işaretleri B S ve Q S dedir. Bunlar karşılaştırılır ve sonuç A S ve Q S ye yazılır. İşlemin sonucu

8 tek yazaca sığmaz. Sonuç A ve Q yazaçlarında olacaktır. A ve E temizlenir. (SC) Sıra sayıcıya çarpanın bit sayısı yazılır. Burada verilerin bellekten yazaçlara aktarıldığı ve n bit uzunlukta olduğu varsayılıyor. Bitin biri işaret olduğundan, verilerin sayı kısmı n - 1 bit olur. Yerleşmeler tamamlandıktan sonra çarpanın en önemsiz biti Q n dedir. Bu bit test edilir. Eğer 1 ise çarpılan sayı A daki kısmi çarpıma eklenir. Eğer 0 ise hiçbir şey yapılmaz. Her iki durumdan sonra EAQ yazacı 1 bit sağa kaydırılır. SC 1 azaltılır, sonra sıfır olup olmadığına bakılır. Eğer 0 değil ise işlem tekrarlanır. Eğer SC = 0 ise işlem durur. Kısmi çarpan her defasında Q nun içine 1 bit 1 bit girer ve çarpanın en önemsiz biti kaybolur. En sonunda çarpan kaybolur. Sonuç A ve Q dadır. Çizelge. İkili çarpma için sayısal örnek Çarpılan B = 10111 E A Q SC Çarpan Q da 0 00000 10011 101 Q n = 1; B yi topla 10111 İlk kısmi çarpım 0 10111 Mantıksal sağa kaydır EAQ yu 0 01011 11001 100 Q n = 1; B yi topla 10111 İkinci kısmi çarpım 1 00010 Mantıksal sağa kaydır EAQ yu 0 10001 01100 011 Q n = 0; Mantıksal sağa kaydır EAQ yu 0 01000 10110 010 Q n = 0; Mantıksal sağa kaydır EAQ yu 0 00100 01011 001 Q n = 1; B yi topla 10111 İlk kısmi çarpım 0 11011 Mantıksal sağa kaydır EAQ yu 0 01101 10101 000 Sonuç AQ = 0110110101

9 Şekil. Çarpma işlemi için akış şeması. Booth Çarpım Algoritması Booth algoritması 2 ye göre tümleyen biçiminde verilmiş olan ikili tam sayıların çarpımını belirler. Çarpandaki 0 lar üzerinde çalışılırsa toplama gerektirmez, sadece kaydırma gerekir. Eğer 1 ler üzerine çalışılırsa çıkarma ve kaydırma gerekir. Bu kısaca 1 lerin dizisinin en yüksek mertebesinden 0 ların dizisi atılır şeklinde ifade edilebilir. Örneğin 14 sayısı ikili olarak 001110 şeklinde gösterilir. Burada 1 lerin dizisi 2 3 ten 2 1 e kadar devam etmektedir. Yani 2 3 + 2 2 + 2 1 dir. Bunun yerine 2 4-2 1 yazılabilir. Genel olarak 1 lerin dizisi k dan m e kadar gidiyorsa sayı = 2 k + 1-2 m şeklinde yazılabilir. (k = 3, m = 1) Eğer 1 tek ise yani iki yanında sıfır varsa 2 k + 1-2 k = 2 yazılabilir. Bu durumda M x Sayı = M.2 k + 1 M x 2 m olur. Yani çarpılan sola kaydırılacak, m defa kaydırılınca ise çarpılan kısmi çarpımdan çıkarılacaktır. Bütün çarpım algoritmalarında olduğu gibi Booth algoritması da, çarpan bitin incelenmesini ve kısmi çarpımın kaydırılmasını gerektirir. Çarpılan sola kaydırılacağına kısmi çarpım sağa kaydırılır. Kaydırmadan önce çarpılan kısmi çarpıma eklenebilir, çıkarılabilir veya hiç bir işlem yapılmadan kaydırma yapılabilir. Bunun kuralları şunlardır.

10 1. Çarpılan ilk önemsiz 1 biti ile çarpılacağı zaman kısmi çarpımdan çıkarılır. 2. İlk 0 ın gelmesiyle, yani 1 çarpanından sonra 0 çarpanının gelmesiyle çarpılan kısmi çarpıma eklenir. 3. Eğer çarpan bit değişmez ise kısmi çarpım değiştirilmez sadece kaydırılır. Bu algoritma 2 ye göre tümleyenli pozitif veya negatif çarpanlar için çalışır. Örneğin bir çarpan 14 ikili olarak 110010 şeklinde 2 ye göre tümleyen olarak yazılır ve 2 4 + 2 2 2 1 = -14 olur. Booth algoritması şekil 10.7 de gösterilen donanıma gerek duyar. Bu donanım şekil 10.5 tekinin aynıdır. Sadece işaret bitleri yazaçlardan ayrılmamıştır. Ayrıca karşılaştırma için Q n+1 biti olarak bir yaz-boz ilave edilmiştir. A, B ve Q yazaç isimleri AC, BR ve QR ile yer değiştirmiştir. Booth algoritmasının akış şeması şekil 10.8 de gösterilmektedir. Taşma olmaz. Çünkü çarpılanın toplanması veya çıkarılması birbirini takip eder. Dolayısıyla toplanan sayılar daima ters işaretlidir. Bundan sonraki adım kısmi çarpımın sağ kaydırılmasıdır. Kaydırmaya Q n+1 dahildir. Kaydırma aritmetik kaydırmadır. AC ve QR yi beraberce kaydırır. Ancak işaret bitini olduğu gibi bırakır. SC yi bir azaltır. Bu döngü n defa devam eder. Şekil 10.7 Booth algoritması için donanım Booth algoritmasının sayısal örneği çizelge 10.3 te n = 5 için verilmiştir. 9 ile 13 ün çarpımı adım adım gösterilmektedir. Hem çarpan QR hem de çarpılan BR negatiftir. AC ve QR de elde edilen sonuç 10 bittir ve pozitiftir. Q da görünen bit çarpanın orijinal işaretidir ve sonuca dahil değildir.

11 Şekil 10.8. 2 ye göre tümleyenli sayıların çarpımı için Booth algoritması Çizelge 10.3 Booth algoritması için çarpma örneği BR =10111 Q n Q n+1 BR + 1 = 01001 AC QR Q n+1 SC Başlangıçta 00000 10011 0 101 1 0 BR yi çıkar 01001 01001 ashr 00100 11001 1 100 1 1 ashr 00010 01100 1 011 0 1 BR yi topla 10111 11001 ashr 11100 10110 0 010 0 0 ashr 11110 01011 0 001 1 0 BR yi çıkar 01001 00111 ashr 00011 10101 1 000

12 Dizi Çarpım Çarpmada çarpanın bitlerinin her seferinde denetlenmesi, kısmi çarpanların oluşturulması sıralı bir işlem olup toplama ve kaydırma mikro işlemlerini de gerektirir. İki ikili sayının çarpımının bir birleşik devre yardımı ile bir tek mikro işlemle yapılması ve sonucun bir defada elde si mümkündür. Bu çarpma işlemini yapmanın kısa yoludur. Sinyaller kapılardan geçer ve çarpma dizisini oluşturur. Bütün zaman kapılarda harcanan zamandır. Dizi çarpımda çok sayıda kapıya ihtiyaç vardır. Bu yüzden IC lerin yapılması kadar ekonomik değildir. Dizi çarpıcının nasıl yapıldığını anlamak için şekil 10.9 da 2 bitlik iki sayının çarpımının algoritması ve devresi verilmektedir. Çarpan a 1 ve a 0, çarpılan bitler b 1, b 0 ve çarpım ise c 3, c 2, c 1, c 0 olsun. İlk kısmi çarpım b 1 b 0 ile a 0 ın çarpımından oluşur. İki bit yani a 0 ile b 0 ın çarpımı eğer iki bitte 1 ise 1 dir, aksi halde 0 dır. Bu ise AND işlemidir, bir tane VE kapısıyla sağlanır. İkinci kısmi çarpım a 1 in b 1 ve b 0 ile çarpılmasıyla elde edilir, bir basamak solda olmalıdır. İki kısmi çarpım iki kısmi toplayıcı ile toplanır. Kısmi toplamlarda çok sayıda bit bulunuyorsa tam toplayıcılar kullanmak gerekir. Çarpımın ilk bitinin tam toplayıcıya gitmesine gerek yoktur. Bu bir VE kapısı ile bulunur. Şekil 10.9 2 bitlik iki sayının dizi çarpımı Daha fazla bit için ikili çarpımı oluşturacak bir birleşik devre benzer şekilde çizilebilir. Çarpanın bir biti çarpılanın her bitiyle VE lenir. Bütün çarpan bitleri için aynı devreler yapılır. Her aşamanın kısmi çarpımları tam toplayıcılarla diğerlerine eklenir. Son aşama çarpımı verir. Çarpan j bit ve çarpılan k bit ise j x k tane VE kapısı ve (j - 1) tane k bit toplayıcıya gerek vardır. Sonuç j + k bit olur.

13 İkinci bir örnek olarak 4 bit ikili sayıyı 3 bit ikili sayı ile çarpan bir çarpıcı düşünelim. Çarpılan b 3, b 2, b 1, b 0 ve çarpan a 2, a 1, a 0 olsun. k = 4 ve j = 3 olduğundan 12 VE kapısı ve 2 tane 4 bit toplayıcı gerekir. Sonuç 7 bit olacaktır. Şekil 10.10 mantıksal şemasını vermektedir. Şekil 10.10 Dört bitlik ile üç bitliğin dizi çarpımı