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