Arithmetic ve Logical Operations



Benzer belgeler
Multiplication/division

BM-311 Bilgisayar Mimarisi

K uark projesi. Temel Özellikler :

Onluk duzende toplama. Lecture 4. Addition and Subtraction. Onluk tabanda toplama

BLM1011 Bilgisayar Bilimlerine Giriş I

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

Ilgili prefixes ler. 2 nin kuvvetleri. 2 nin kuvvetleri

Floating Point (Kayan Noktalı Sayılar)

CHAPTER 1 INTRODUCTION NUMBER SYSTEMS AND CONVERSION. Prof. Dr. Mehmet Akbaba CME 221 LOGİC CİRCUITS

80x86 MICROPROCESSOR Instructions

AND Komutu. and hedef, kaynak

Mikroişlemci ve Yapısı. Mikroişlemciler ve Mikrobilgisayarlar

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

OPERATÖRLER Alıştırmalar

Elektroniğe Giriş 1.1

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

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

Digital Design HDL. Dr. Cahit Karakuş, February-2018

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

CISC Complex Instruction Set Computers

KASIRGA -4 Buyruk Tasarımı Belgesi Ankara

En kucuk calisabilir birime satetement denir Statements semicolon (;) ile sonlanir Yalniz basina ; null statement i ifade eder

BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü

Kullanıcı Dökümanı. Flash B2B. Versiyon 0.1

MTM 305 MĠKROĠġLEMCĠLER

Bu derste! BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Yazmaç Aktarımı Düzeyi! Büyük Sayısal Sistemler! 12/25/12

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

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

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

Mantıksal (Logic) Operatörler

Bilgisayarların Gelişimi

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

Giris {\} /\ Suhap SAHIN

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

Lecture 7. Assembler language nedir? Language in 3 seviyesi. Language 3 seviyesi. Nicin onu ogreniriz?

W SAYAC SAYAC SAYAC. SAYAC= ise, d=0 W

Data Communications. Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü. 10. Hata Kontrolü

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

PERFORMANCE COMPARISON OF KARATSUBA AND NIKHILAM MULTIPLICATION ALGORITHMS FOR DIFFERENT BIT LENGTHS

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

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı Ver:01

YZM 2116 Veri Yapıları

BİLGİSAYAR SAYILARININ C PROGRAMLAMA DİLİNE UYGUN GENİŞLETİLMESİ *

Saklayıcı (veya Yazmaç) (Register)

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

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

Mikroçita. Mikroçita Rapor 2:

Nesne Yönelimli Programlama

Bilgisayar Mimarisi. Veri (DATA) Veri nedir? Veri bazı fiziksel niceliklerin ham ifadesidir. Bilgi verinin belli bir yapıdaki şeklidir.

Chapter 3 Image Enhancement in the Spatial Domain R. C. Gonzalez & R. E. Woods

KLASİK ÇARPMA ALGORİTMALARININ DONANIMSAL SİMÜLASYONLARI VE PERFORMANS DEĞERLENDİRİMİ

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

Floating Point (Kayan Noktalı Sayılar)

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

Java: printf() Metodu İle Çıktıyı Biçemleme

Ozet. Review pointers (in C) Memory Addressing

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

CITIUS-ALTIUS-FORTIUS

Data Communications. Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü. 5. Analog veri iletimi

Final Sınavı Örnek Soruları Bahar 2018

CITIUS-ALTIUS-FORTIUS

MATLAB Temelleri. EEM104 - Bilgisayar Programlama. Matlab ın Açılış Ekranı. Dr. Mehmet Siraç Özerdem EEM Dicle Üniversitesi. Launch Pad.

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

Memory. Amac. Baslangictan beri programcilar unlimited hizli memory ler hayal etmisler 1972, PDP-11/20. Oku H&P sections 7.1, 7.2

Stack Islemleri. Postfix ve Infix notasyonlari. Stack ozellikleri

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK ELEKTRONİK FAKÜLTESİ. 16 Bit Kayan Noktalı Aritmetik Mantık Birimi Tasarımı Ve Doğrulanması BİTİRME ÖDEVİ

BM-311 Bilgisayar Mimarisi

BİL 361 BİLGİSAYAR MİMARİSİ VE ORGANİZASYONU Güz Dönemi ÖDEV 1

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

Hem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır.

PASCAL PROGRAMLAMA DİLİ YAPISI

2. SAYI SİSTEMLERİ 2. SAYI SİSTEMLERİ

7.Yazmaçlar (Registers), Sayıcılar (Counters)

Yrd. Doç. Dr. Caner ÖZCAN

VERİ YAPILARI DERS NOTLARI BÖLÜM 5 QUEUE (KUYRUK) Yard. Doç. Dr. Deniz KILINÇ

Bölüm 7. İfadeler ve atamalar ISBN

Aritmetik Operatörleri Hemen her programlama dilinde olduğu gibi java dilinde de aritmetik işlemler yaparken aşağıdaki operatörleri kullanırız:

Çoklu Kordinat Sistemi

Bilgisayar Mühendisliğine Giriş

DOSYA ORGANİZASYONU. Sıralı erişimli dosya organizasyonu yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Bilgi ve Bilgi Sistemleri. Bilgisayar Mühendisliğine Giriş 1

BİL 201 Boole Cebiri ve Temel Geçitler (Boolean Algebra & Logic Gates) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

ncü Bilgi İşleyen Makine Olarak Beyin Beyin 2005 Albert Long Hall, Boğazi

Veri Yapıları ve Algoritmalar dönem

Alıştırma 1: Yineleme

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

Görev Unvanı Alan Üniversite Yıl Prof. Dr. Elek.-Eln Müh. Çukurova Üniversitesi Eylül 2014

Yazılan programın simülasyonu için; (A<B), (A>B) ve (A=B) durumunu sağlayacak 2 şer tane değeri girerek modelsimde oluşan sonuçları çiziniz.

Engineering Mechanics: Statics in SI Units, 12e. Equilibrium of a Particle

Spatial locality nin getirdigi avantaji kullanmak

Unlike analytical solutions, numerical methods have an error range. In addition to this

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-2 Değişken Kavramı ve Temel Operatörler

BM-311 Bilgisayar Mimarisi

Güz Y.Y. Lojik Devre Laboratuvarı Laboratuvar Çalışma Düzeni

Pre-requisite : EE240

Sayı Sistemleri. Onluk, İkilik, Sekizlik ve Onaltılık sistemler Dönüşümler Tümleyen aritmetiği

BM 375 Bilgisayar Organizasyonu Dersi Vize Sınavı Cevapları 10 Nisan 2009


MCR02/04/05/08 Serileri Temassız Kart Okuyucular

Transkript:

Arithmetic ve Logical Operations ALU (Arithmetic Logical Unit): CPU nun Aritmetik ve logic islemlerinin yapildigi kismina denir. Temel iki operation Addition ( Toplama ) Negation ( NOT islemi) Islemler sayilarin temsil edilme sekline gore degisiklik gosterirler. Hangi sayi temsil sekli islemleri daha cok kolaylastiriyorsa o bilgisyar tasariminda kullanilmaktadir. 6//24 Bilgisayar Organizasyonu 3.

Overflow Bilgisayar mimarisi sabit uzunluktaki veriler uzerinde islem yaparlar. 32-bit / 64-bit islemci Overflow Eger islemin sonucu o islem icin ayrilan alana sigmazsa buna overflow denir Overflow detection (tesbiti) onemli Aksi halde yanlis sonuclar kullanilarak islemler yapilir. 6//24 Bilgisayar Organizasyonu 3.2

Boolean Operations Bir boolean variable iki degerden birini alabilir. False () True () input zero one invert same Unary Boolean Operations 6//24 Bilgisayar Organizasyonu 3.3

Boolean Operations Binary boolean operations Iki variable uzerinde islem yapilir a b and or nand nor xor xnor 6//24 Bilgisayar Organizasyonu 3.4

not x, y and x, y, z or x, y, z nand x, y, z nor x, y, z xor x, y, z xnor x, y, z SAL daki Logical Operations 6//24 Bilgisayar Organizasyonu 3.5

Masking Islemi Boolean islemleri birden fazla variable ayni bellek gozune yazildiginda kullanilirlar. Variable larin bellek gozunden cikarilmasi islemine masking denir. cell:.word x4368672 mask:.word xff mask2:.word xff mask3:.word xff mask4:.word xff and result, cell, mask 6//24 Bilgisayar Organizasyonu 3.6

Logical Shift Shift Operations (Oteleme Islemleri) Logical right shift: Bitler pozisyon saga otelenir En sagdaki bit (LSB) atilir En soldaki (MSB) bite atanir. 6//24 Bilgisayar Organizasyonu 3.7

6//24 Bilgisayar Organizasyonu 3.8 Shift Operations Logical Left Shift Bitler bir pozisyon sola otelenirler En soldaki bit (MSB) atilir En sagdaki bit (LSB) olur

Rotate Right Rotate Bitler saga dogru bir pozisyon kaydirilir MSB LSB olur 6//24 Bilgisayar Organizasyonu 3.9

Rotate Left Rotate Bitler bir pozisyon sola otelenir LSB MSB olur 6//24 Bilgisayar Organizasyonu 3.

Arithmetic Shift Arithmetic left shift Logical left shift le ayni Bitler bir pozisyon sola otelenirler En soldaki bit (MSB) atilir En sagdaki bit (LSB) olur 6//24 Bilgisayar Organizasyonu 3.

Arithmetic Left Shift Sayinin arithmetic bit otelenmesi o sayinin 2 ile carpimi anlamina gelir. -99 58 6 6//24 Bilgisayar Organizasyonu 3.2

Arithmetic Right Shift Logical right shift gibi. Tek farki sign bit extended (MSF sayinin sign bitiyle ayni) Bir sayinin bit arithmetic saga otelenmesi o sayinin 2 ile bolunmesi anlamina gelir. 3 5 25 6//24 Bilgisayar Organizasyonu 3.3

Addition (Toplama) / Subtraction (Cikarma) Unsigned Integers: ( 8 ) + ( 24 ) ( 42 ) c i x i y i z i c j+ 6//24 Bilgisayar Organizasyonu 3.4

Unsigned integers a b a-b - borrow 6//24 Bilgisayar Organizasyonu 3.5

Sign magnitude + + - 6//24 Bilgisayar Organizasyonu 3.6

Two s Complement Addition/Subtraction Isaret bitlerine bakilmaksizin addition icin ayni algoritma uygulanir. Substraction additive inverse alinip addition algoritmasi kullanilmak suretiyle gerceklestirilir. Unsigned number larin toplami icin kullanilan ayni devre two s complementi icin toplama ve cikarmada kullanilabilir 6//24 Bilgisayar Organizasyonu 3.7

+ 34-4 -7 6//24 Bilgisayar Organizasyonu 3.8

Overflow + -8-8 -6 + 26 96-34 dogru sonuc no overflow yanlis sonuc overflow 6//24 Bilgisayar Organizasyonu 3.9

multiplicand multiplier x =-3 =6 + Multiplication x = -3 = 6 = -8 6//24 Bilgisayar Organizasyonu 3.2

+ x = -8 = -8 = 64 6//24 Bilgisayar Organizasyonu 3.2

X ve Y nin carpim programi.data X:.word ms_sum:.word Y:.word bitsum:.word ls_sum.word mask:.word x test:.word.text start:and test, X, mask # strip off appropriate multiplier bit beqz test, shift # skip addition if multiplier is zero add ms_sum, ms_sum, Y # add partial sum shift: and bitsum, ms_sum, # determine lsb of ms_sum or ls_sum, ls_sum, bitsum # place lsb of ms_sum in lsb of ls_sum ror ls_sum, ls_sum, # shift ls_sum, moving new bit into msb sra ms_sum, ms_sum, # shift ms_sum, maintaining sign sll mask, mask, # update index bgtz mask, start # branch if not last iteration and bitsum, ms_sum, # isolate lsb of ms_sum or ls_sum, ls_sum, bitsum # merge lsb of ms_sum with ls_sum ror ls_sum, ls_sum, # sra ms_sum, ms_sum, # maintaining sign done 6//24 Bilgisayar Organizasyonu 3.22

Floating Point (FP) Arithmetic Bilgisayar designinda floating point sayilarinmin gosterimi onemli bir yer tutar. Duyarliligi yuksek olmasi istenilen islemlerde floating point islemlerinin hizli olmasi istenir Floating Point Operations Per Second (FLOPS) Scientific bilgisayarlarin performans karsilastirimlarinda kullanilir. Floating Point Operations Integer Operationlarindan daha yavastir 6//24 Bilgisayar Organizasyonu 3.23

Hardware versus Software Calculatiuons Hesaplamalar nasil yapilmali Hardware Implementation: Devreler (circuits) FP islemlerini yapar. Hizli Pahali Software Ucuz ( devre acisindan) Yavas ( un bir kac kati yavas) 6//24 Bilgisayar Organizasyonu 3.24

2.25 + 34.625 () () + () () () 6//24 Bilgisayar Organizasyonu 3.25

255.625 + 34.625 () () + () () () () 6//24 Bilgisayar Organizasyonu 3.26

2.25 + -34.625 () () + () () 6//24 Bilgisayar Organizasyonu 3.27

.data FloatX:.float 34.625 FloatY.float 2.25 Float_X_plus_Y:.float X:.word Y:.word X_F:.word X_E:.word Y_F:.word Y_E:.word X_time_Y:.word X_plus_Y:.word X_plus_Y_F:.word X_plus_Y_E:.word X_plus_Y_S:.word small_f:.word diff:.word F_mask:.word x7fffff E_mask:.word x7f8 S_MASK:.word x8 Hidden_one:.word x8 zero:.word max_f:.word x 6//24 Bilgisayar Organizasyonu 3.28

.text # Extract E (exponent) and F (significand). start: move X, FloatX and X_F, X, F_Mask # get X_F or X_F, X_F, Hidden_one # add hidden bit bgtz X, DoX_E # skip if positive sub X_F, zero, X_F # convert to 2 s comp. DoX_E: and X_E, X, E_mask # get X_E srl X_E, X_E, 23 # align sub X_E, X_E, 27 # convert to 2 s comp. move Y, FloatY and Y_F, Y, F_Mask # get Y_F or Y_F, Y_F, Hidden_one # add hidden bit bgtz Y, DoY_E # skip if positive sub Y_F, zero, Y_F # convert to 2 s comp. DoY_E: and Y_E, Y, E_mask # get Y_E srl Y_E, Y_E, 23 # align sub Y_E, Y_E, 27 # convert to 2 s comp. 6//24 Bilgisayar Organizasyonu 3.29

# Determine which input is smaller sub diff, Y_E, X_E bltz diff, X_bigger move X_plus_Y_E, Y_E move X_plus_Y_F, Y_F move small_f, X_F b LittleF X_bigger: move X_plus_Y_E, X_E move X_plus_Y_F, X_F move small_f, Y_F sub diff, zero, diff LittleF: sra small_f, small_f, diff # denormalize little F 6//24 Bilgisayar Organizasyonu 3.3

add X_plus_Y_F, small_f, X_plus_Y_F # add Fs and X_plus_Y_S, X_plus_Y_F, S_mask beqz X_plus_Y_F, Zero bgez X_plus_Y_F, L # skip if positive sub X_plus_Y_F, zero, X_plus_Y_F # convert to sign/mag L: move X_plus_Y_E, X_plus_Y_E blt X_plus_Y_F, max_f, NotTooBig # skip if no overflow srl X_plus_Y_F, X_plus_Y_F, # divide F by 2 add X_plus_Y_E, X_plus_Y_E, # adjust E b normalized Zero: move Float_X_plus_Y, b Finished TooSmall: sll X_plus_Y_F, X_plus_Y_F, # multiply F by 2 sub X_plus_Y_E, X_plus_Y_E, # adjust E NotTooBig: blt X_plus_Y_F, Hidden_one, TooSmall # check if still too big normalized: sub X_plus_Y_F, X_plus_Y_F, Hidden_one # delete hidden one add X_plus_Y_E, X_plus_Y_Em, 27 # convert to bias-27 sll X_plus_Y_E, X_plus_Y_E, 23 # align properly or X_plus_Y, X_plus_Y_E, X_plus_Y_F # merge E, F or X_plus_Y, X_plus_Y, X_plus_Y_S # merge S move Float_X_plus_Y, X_plus_Y # move to floating point Finished: done 6//24 Bilgisayar Organizasyonu 3.3

Multiplication Floating Addition dan daha basit 4 adim Mantissa lar uzerinde unsigned multiplication yap Exponents lere ekle Sonucu normalize hale getir Sonucun isaret bitini belirle 6//24 Bilgisayar Organizasyonu 3.32

8. * 9.5 () () 4 + 3 7 x + () 6//24 Bilgisayar Organizasyonu 3.33

Division Multiplication a benzer 4 adim Mantissalar uzerinde unsigned division yap Divisorun exponentini dividend in exponentinden cikar Sonucu normalize yap Sonucun isaret bitini belirle. 6//24 Bilgisayar Organizasyonu 3.34

Overflow Overflow ve Underflow Normalized sonucun exponenti (biased-27) kendine ayrilan yere sigmadiginda olusur Underflow Sonucun temsil edilemeyecek kadar ya yakin olmasiyle olusur 6//24 Bilgisayar Organizasyonu 3.35