Pertemuan 11 (Aritmatika) PENDAHULUAN Operasi dasar dalam semua komputer digital adalah penambahan atau pengurangandua bilangan. Operasi aritmatika berlangsung di level instruksi mesin. Operasi tersebut diterapkan dengan fungsi logika dasar seperti AND, OR, NOT dan EXCLUSIVE-OR (XOR), dalam subsistem unit aritmatika dan logika (ALU) processor. Pada makalah ini, akan menampilkan sirkuit logika yang digunakan untuk mengimplementasikan operasi aritmatika. Waktu yang dipeerlukan untuk melakukan operasi penambahan mempengaruhi performa prosesor. Operasi perkalian dan pembagian yang memerlukan sirkuit lebih kompleks daripada operasi penambahan atau pengurangan, juga mempengaruhu performa. Group 4 PTIK 09
Gambar 6.1 Penambahan dan Pengurangan Bilangan Bertanda xi yi Carry-in ci Sum si Carry-out ci+1 1 Gambar diatas menunjukkan tabel kebenaran logika untuk fungsi sum dan carry-out untuk penambahan weighted bit xi dan yi yang setara dalam dua bilangan X dan Y. Group 4 PTIK 09
Gambar 6.1 diatas menunjukkan tabel kebenaran logika untuk fungsi sum dan carry-out untuk penambahan weighted bit xi dan yi yang setara dalam dua bilangan X dan Y. Selain itu, tabel diatas juga menunjukkan ekspresi logika untuk fungsi tersebut, bersama dengan contoh penambahan bilangan tidak bertanda 4-bit 7 dan 6. Perhatikanlah bahwa tiap tingkat proses penambahan harus mengakomodasi bit carry in. Kita menggunakan ci untuk menyatakan carry inke tingkat ke-i, yang sama dengan carry out dari tingkat ke-(i-1). Ekspresi logika untuk si pada tabel diatas dapat di implementasikan dengan 3-input gerbang XOR, yang digunakan pada Gambar 6.2a sebagai bagian ligika yang diperlukan untuk tingkatan tunggal penamabahan biner. Fungsi carry out, ci+1 , dapat diterapkan dengan sirkuit logika AND-OR dual-level. Simbol mudah bagi sirkuit lengkap untuk satu tingkat penambahan, yang disebut full adder (FA) juga ditunjukkan pada gambar tersebut. Group 4 PTIK 09
6.1.1 Unit logika penambahan / pengurangan Adder n-bit pada Gambar 6.2b dapat digunakan untuk menambahkan bilangan 2`s-complement X dan Y, dimana bit Xn-1 dan yn-1 adalah bit bertanda. Untuk melakukan operasi pengurangn X-Y pada bilangan 2`s-complement X dan Y, kita membentuk 2`s-complement Y dan penambahankannya ke X. Jaringan sirkuit logika yang ditunjukkan pada Gambar 6.3 dapat digunakan untuk menjalankan penambahan atau pengurangan berdasarkan pada nilai yang diterapkan pada jalur kontrol input add/sub. Group 4 PTIK 09
Group 4 PTIK 09
Gambar 6.2 Logika penambahan pengurangan biner Group 4 PTIK 09
Gambar 6.3 jaringan logika penambahan pengurangan biner Group 4 PTIK 09
6.2 Desain Fast Adder Dua pendekatan dapat dilakukan untuk mengurangi jada dalam adder.Pendekatan pertama ripple-carry atau variasinya.Pendekatan kedua dengan menggunakan stuktur jaringan gerbang logika yang diperbesar yaitu lebih besar dari yang ditunjukkan pada gambar A2b.Kita akan mendeskripsikan versi yang dapat dipahami dengan mudah dari pendekatan kedua pada bagian berikutnya.Dalam praktek sejumlah tekhnik desain telah digunakan untuk mengimplementasikan adder kecepatan-tinggi.Teknik tersebut menyertakan desain sirkuit elektronik untuk propagasi cepat sinyal carry dan variasi pada struktur jaringan dasar pada bagian berikutnya. Group 4 PTIK 09
6.2.1 Penambahan carry lookahead Sirkuit fast adder harus meningkatkan kecepatan pembangkitan sinyal carry. Ekspresi logika untuk si (sum) dan ci+1 (carry out) tingkat i (lihat Gambar 1 adalah si = xi yi ci dan ci+1 = xi yi + xi ci + yi ci memfaktorkan persamaan kedua menjadi ci+1 = xi yi + (xi yi) ci kita dapat menuliskan ci+1 = Gi + Pi + Ci dimana Gi = xi yi dan Pi = xi + yi Group 4 PTIK 09
6.3 Perkalian Bilangan Positif Algoritma biasa untuk mengalikan integer secara manual diilustrasikan pada gambar berikut untuk sistem biner . Algoritma ini di terapkan ke bilangan tidak bertanda dan kebilangan positif bertanda . Hasil kali bilangan n-digit dapat diakomodasi dalam 2n-digit, sehingga hasil kali dua bilangan 4-bit dalam contoh ini masuk dalam 8 bit, sebagaimana yang ditunjukkan. Dalam sistem biner perkalian multiplicand di masukkan ke dalam posisi yang tepat untuk ditambahkan ke hasil kali parsial. Jika bit multiplier adalah 0, maka o dimasukkan , seperti pada contoh Group 4 PTIK 09
6.4 Perkalian Operand Bertanda Pada saat kita menambahkan multiplicand negatif ke produk parsial, kita harus memperluas nilai bit bertanda multiplicand tersebut kekiri sejauh produk tersebut dapat diperluas. Untuk multiplier negatif, solusi langsungnya adalah memebentuk 2`s-complement pada kedua multiplier dan multiplicand dan berlanjut seperti dalam hal multiplier positif. Hal ini dapat dilakukan karena komplementasi kedua operand tidak mengubah nilai atau tanda produk. Teknik yang bekerja sama baiknya untuk kedua multiplier negatif dan positif, disebut algoritma booth. Group 4 PTIK 09
6.4.1 Algorima booth Perkalian algoritma Booth adalah algoritma perkalian yang menggandakan dua masukan biner angka dalam notasi 2’s-complement. Algoritma ini diciptakan oleh Andrew Donald Booth pada tahun 1951 saat melakukan penelitian tentangKristalografi di Birkbeck College diBloomsbury, London. Booth menggunakan kalkulator meja yang lebih cepat pada pergeseran dari menambah dan menciptakan algoritma untuk meningkatkan kecepatan mereka. Algoritma booth adalah kepentingan dalam studi arsitektur komputer. Group 4 PTIK 09
6.5 Perkalian Cepat Ada dua teknik untuk mempercepat operasi perkalian. Teknik yang pertama, menjamin bahwa jumlah maksiun summand (versi multiplicand) yang harus ditambahkan adalah n/2 untuk n-bit operand. Teknik kedua, mengutangi waktu yang diperlukan untuk menambahkan summand tersebut. Group 4 PTIK 09
6.5.1 Bit pair recoding multipler Suatu teknik yang disebut bit-pair recoding membagi dua jumlah summand maksimun. Teknik ini di peroleh secara langsung dari algoritma Booth. Group 4 PTIK 09
Gambar multiplier bit-pair recoding Group 4 PTIK 09
6.5.2 PENAMBAHAN CARRY-SAVE Perkalian memerlukan penambahan beberapa summand. Suatu teknik yang disebut carry-save addition (CSA) mempercepat proses penambahan. Perhatikan suatu array untuk perkalian 4 X. 4 yang ditunjukkan pada gambar 6.16a. struktur ini adalah array umum yang ditunjukkan pada gambar 6.6, dengan baris pertama hanya terdiri dari gerbang AND yang mengimplementasikan produk bit m3q0, m1q0 dan m0q0. Group 4 PTIK 09
6.6 Pembagian Integer Suatu sirkuit yang menerapkan pembagian dengan metode longhand ini beroperasi sebagai berikut : menentukan posisi dividsor sesuai dengan dividend dan melakukan pengurangan. Jika sisanya nol atau positif, maka bit hasil bagi 1 ditentukan, dan sisanya diperluas dengan bit lain dari dividend, divisor ditempatkan ulang, dan dilakukan pengurangan yang lain. Sebaliknya jika negatif, maka ditetapkan bit hasil bagi 0, dividend dipulihkan dengan menambahkan kembali dividsor tersebut, dan dividsor ditempatkan ulang untuk pengurangan lain. Group 4 PTIK 09
Gambar sirkuit pembagian biner Group 4 PTIK 09
6.7 BILANGAN DAN OPERASI FLOATING-POINT Floating-point atau bilangan titik mengambang, adalah sebuah format bilangan yang dapat digunakan untuk merepresentasikan sebuah nilai yang sangat besar atau sangat kecil. Bilangan ini direpresentasikan menjadi dua bagian, yakni bagian mantisa dan bagian eksponen (E). Bagian mantisa menentukan digit dalam angka tersebut, sementara eksponen menentukan nilai berapa besar pangkat pada bagian mantisa tersebut (pada posisi titik desimal). Sebagai contoh, bilangan 314600000 dan bilangan 0.0000451 dapat direpresentasikan dalam bentuk bilangan floating point: 3146E5 dan 451E-7 (artinya 3146 * 10 pangkat 5, dan 451 * 10 pangkat -7). Group 4 PTIK 09
6.7.1 Standar IEEE untuk bilangan floating point ± X1X2X3X4X5X6X7x10±Y1Y2 Dimana XiYiadalah digit desimal. Kedua bilangan tersebut adalah digit signifikan (7) dan rentang eksponen (±99) cukup untuk rentang lebar perhitungan ilmiah. Dimungkinkan untuk memperkirakan presisi mantissa dan rentang faktor skala ini dalam representasi biner yang memiliki 32 bit, yang merupakan word length komputer standar. 24-bit mantissa dapat secara perkiraan menyatakan bilangan desimal 7-digit, dan eksponen 8-bit untuk basis 2 yang menyediakan faktor skala dengan rentang yang masuk akal. Satu bit diperlukan untuk tanda bilangan. Karena bit bukan nol pertama dari mantissa biner ternormalisasi harus 1, maka tidak perlu disertakan secara eksplisit dalam representasi. Oleh karena itu diperlukan total 32 bit. Ini disebut format excess-27. Nilai akhir rentang ini, 0 dan 255. Group 4 PTIK 09
Format Floating-point standar IEEE IEEE (Institute of Engineers Electrical dan Electronics) telah menghasilkan standar untuk aritmatika floating point.. Standar ini menetapkan cara tunggal presisi (32 bit) dan presisi ganda (64 bit) bilangan floating point untuk diwakili, serta bagaimana aritmatika harus dilakukan pada mereka. S E’ M 32 bits Tanda bilangan 0 menandakan + dan 1 menanakan - 8 –bit signed exponent dalam representasi excess-127 23-bit mantisa fractions Value reppresented= ± .M x 2E’-127 00101000 001010 Nilai yang direpresentasikan = 1.001010….0 x 2-87 Group 4 PTIK 09