Anda di halaman 1dari 41

William Stallings

Organisasi komputer
dan Arsitektur
7th Edisi

Bab 9to add Text


Click
aritmatika komputer
Satuan Arithmetic Logic &
• Melakukan perhitungan
• Segala sesuatu yang lain di komputer
yang ada untuk unit ini
• menangani bilangan bulat
• Mungkin menangani titik (real) angka
floating
• Mungkin terpisah FPU (matematika co-
prosesor)
• Mungkin pada chip FPU terpisah (486DX
+)
ALU Input dan Output
Representasi Integer
• Hanya memiliki 0 & 1 untuk mewakili
segalanya
• bilangan positif yang tersimpan dalam
biner
—misalnya 41 = 00.101.001
• Tidak ada tanda minus
• Tidak ada periode
• Sign-Besaran
• pujian dua ini
Sign-Besaran
• Meninggalkan sebagian bit adalah tanda
bit
• 0 berarti positif
• 1 berarti negatif
• 18 = 00.010.010
• -18 = 10.010.010
• masalah
—Perlu mempertimbangkan baik tanda dan
besarnya dalam aritmatika
—Dua representasi dari nol (0 dan -0)
Pujian dua ini
• 3 = 00000011
• 2 = 00000010
• 1 = 00000001
• 0 = 00000000
• -1 = 11111111
• -2 = 11.111.110
• -3 = 11.111.101
manfaat
• Salah satu representasi dari nol
• Aritmatika bekerja dengan mudah (lihat
nanti)
• Meniadakan cukup mudah
—3 = 00000011
—komplemen Boolean memberikan 11111100
—Tambahkan 1 ke LSB 11111101
Gambaran geometris berpasangan
Komplemen Integer
Negasi Khusus Kasus 1
• 0 = 00000000
• bitwise tidak 11111111
• Tambahkan 1 ke LSB 1
• Hasil 1 00000000
• Overflow diabaikan, sehingga:
• -0=0
Negasi Khusus Kasus 2
• -128 = 10000000
• bitwise tidak 01111111
• Tambahkan 1 ke LSB 1
• Hasil 10000000
• Begitu:
• - (- 128) = -128 X
• Memonitor MSB (tanda bit)
• Ini harus berubah selama negasi
Rentang Numbers
• 8 bit pujian 2s
—127 = 01.111.111 = 27 -1
—-128 = 10000000 = -27
• 16 bit pujian 2s
—32.767 = 011.111.111 11.111.111 = 215 - 1
—-32.768 = 100000000 00000000 = -215
Konversi Antara Panjang
• jumlah paket positif dengan nol
terkemuka
• 18 = 00010010
• 18 = 00000000 00010010
• angka negatif pak dengan orang
terkemuka
• -18 = 10010010
• -18 = 11111111 10.010.010
• yaitu paket dengan MSB (tanda bit)
Penambahan dan pengurangan
• Selain biner yang normal
• Memantau sedikit tanda untuk overflow

• Ambil pujian berpasangan dari


substahend dan menambah minuend
—yaitu - b = a + (-b)

• Jadi kita hanya perlu penambahan dan


melengkapi sirkuit
Hardware untuk Penambahan dan
Pengurangan
Perkalian
• Kompleks
• Berolahraga produk parsial untuk setiap
digit
• Berhati-hati dengan nilai tempat (kolom)
• Menambahkan produk parsial
perkalian Contoh
• 1011 Multiplicand (11 Des)
• x 1101 Pengali (13 Des)
• 1011 produk parsial
• 0000 Catatan: jika multiplier bit
adalah 1 copy
• 1011 multiplicand (nilai tempat)
• 1011 jika tidak nol
• 10001111 Produk (143 Desember)
• Catatan: perlu ganda hasil panjang
Unsigned Perkalian Binary
Pelaksanaan Contoh
Flowchart untuk Unsigned Binary
Perkalian
Mengalikan Nomor Negatif
• Ini tidak bekerja!
• solusi 1
—Dikonversi ke positif jika diperlukan
—Multiply seperti di atas
—Jika tanda-tanda yang berbeda, meniadakan
jawaban
• solusi 2
—Algoritma Booth
Algoritma Booth
Contoh Algoritma Booth
Divisi
• kompleks lebih dari perkalian
• angka negatif yang benar-benar buruk!
• Berdasarkan pembagian panjang
Divisi Unsigned Binary Integer

00001101 Hasil bagi


Pembagi 1011 10010011 Dividen
1011
001.110
Sebagian 1011
sisanya
001.111
1011
100 Sisa
Flowchart untuk Unsigned Binary Divisi
Numbers nyata
• Angka dengan pecahan
• Dapat dilakukan dalam biner murni
—1001.1010 = 24 + 20 2-1 + 2-3 = 9,625
• Di mana titik biner?
• Tetap?
—Sangat terbatas
• Bergerak?
—Bagaimana Anda menunjukkan di mana itu?
floating Point

• +/- .significand x 2eksponen


• Nama yg salah
• Titik sebenarnya tetap antara bit tanda dan
tubuh mantissa
• Eksponen menunjukkan nilai tempat (posisi titik)
Floating Point Contoh
Tanda-tanda untuk Floating Point
• Mantissa disimpan dalam pujian 2s
• Eksponen dalam notasi kelebihan atau
bias
—misalnya Kelebihan (bias) 128 sarana
—bidang eksponen 8 bit
—nilai murni kisaran 0-255
—Kurangi 128 untuk mendapatkan nilai yang
benar
—Rentang -128 ke 127
normalisasi
• nomor FP biasanya dinormalisasi
• yaitu eksponen disesuaikan sehingga
sedikit terkemuka (MSB) dari mantissa
adalah 1
• Karena selalu 1 tidak perlu untuk
menyimpannya
• (Notasi Ilmiah cf mana nomor
dinormalisasi untuk memberikan satu
digit sebelum titik desimal
• misalnya 3,123 x 103)
Ranges FP
• Untuk sejumlah 32 bit
—8 bit eksponen
—+/- 2256  1,5 x 1077
• Ketepatan
—Pengaruh perubahan LSB dari mantissa
—23 bit mantissa 2-23  1,2 x 10-7
—Sekitar 6 tempat desimal
Nomor dinyatakan
Kepadatan Bilangan Floating Point
IEEE 754
• Standar untuk penyimpanan floating point
• 32 dan 64 standar bit
• 8 dan 11 bit eksponen masing-masing
• format diperpanjang (baik mantissa dan
eksponen) untuk hasil antara
IEEE 754 Format
FP Aritmatika +/-
• Periksa nol
• Menyelaraskan significands
(menyesuaikan eksponen)
• Menambah atau mengurangi significands
• menormalkan hasil
FP Penambahan & Pengurangan
Flowchart
FP aritmatika x /
• Periksa nol
• Menambahkan / mengurangi eksponen
• Multiply / membagi significands (jam
tanda)
• menormalkan
• Bulat
• Semua hasil antara harus dalam
penyimpanan panjang ganda
Floating Point Perkalian
Floating Point Division
Reading diperlukan
• Stallings Bab 9
• IEEE 754 di situs Web IEEE

Anda mungkin juga menyukai