11/12/2014
PART 3: THE CENTRAL PROCESSING UNIT
ARSITEKTUR DAN ORGANISASI KOMPUTER
CHAPTER 9: COMPUTER ARITHMETIC
PRIO HANDOKO, S.KOM., M.T.I.
9.1 The Arithmetic and Logic Unit
CHAPTER 9: COMPUTER ARITHMETIC Kompetensi Dasar Mahasiswa memiliki pengetahuan mengenai proses aritmatika sistem komputer
Agenda • • • • •
The Arithmetic and Logic Unit Integer Representation Integer Arithmetic Floating-Point Representation Floating-Point Arithmetic Arsitektur dan Organisasi Komputer
3
Arsitektur dan Organisasi Komputer
4
1
11/12/2014
9.2 Integer Representation
9.2 Integer Representation (cont…)
• Dalam sistem biner, angka dapat direpresentasikan oleh digit 1 dan 0, tanda minus (-), titik (.), atau radix point (binary point).
Sign-Magnitude Representation • Menggunakan bit yang terkiri dari sebuah untai biner untuk dapat menentukan sebuah bilangan memiliki nilai negatif atau positif (nilai tanda).
• Penggunaan tanda minus (-) dan titik (.) tidak memliki manfaat dalam penyimpanan dan pengolahan komputer.
• Jika bit terkiri bernilai 1 negatif
• Hanya digit biner (0 dan 1) saja yang digunakan untuk merepresentasikannya. Arsitektur dan Organisasi Komputer
• Jika bit terkiri bernilai 0 positif 5
Arsitektur dan Organisasi Komputer
9.2 Integer Representation (cont…)
9.2 Integer Representation (cont…)
Kekurangan Sign-Magnitude Representation
Two’s Complement Representation • Two’s Complement, representasi yang digunakan untuk mengatasi 2 kelemahan pada representasi sign-magnitude.
• Penambahan dan pengurangan memerlukan pertimbangan, baik tanda bilangan maupun nilainya agar dapat berjalan pada operasi yang diperlukan.
• Two’s complement menggunakan bit yang terkiri sebagai tanda yang memudahkan untuk mengetahui apakah sebuah bilangan bernilai positif atau negatif.
• Terdapat 2 representasi bilangan 0 sehingga akan menyulitkan pemeriksaan bilangan 0. Arsitektur dan Organisasi Komputer
6
7
Arsitektur dan Organisasi Komputer
8
2
11/12/2014
9.2 Integer Representation (cont…)
9.2 Integer Representation (cont…)
Converting between Different Bit Lengths
• Caranya dengan menambahkan bit biner 0 pada posisi paling kiri dan seterusnya sejumlah yang dibutuhkan (dan) diakhiri dengan bit biner 1 jika nilai yang diinginkan adalah negatif.
• Terkadang dibutuhkan merepresentasikan biner dengan jumlah bit (m) > dari jumlah bit asal (n)
• Bagaimana dengan bilangan two’s complement?
• Pengubahan jumlah bit ini sangat mudah dilakukan menggunakan sign-magnitude. Arsitektur dan Organisasi Komputer
9
Arsitektur dan Organisasi Komputer
9.2 Integer Representation (cont…)
9.2 Integer Representation (cont…)
Binary Point Representation
• Konsepnya pembobotannya memiliki kemiripan dengan representasi bilangan biner, yang membedakan adalah tanda pada nilai eksponennya
•
Binary point adalah konsep yang digunakan untuk merepresentasikan bilangan pecahan
•
Binary point sama halnya dengan decimal point pada bilangan desimal
•
Binary point bertindak sebagai pemisah antara bilangan integer dan bagian pecahan dari bilangan. Arsitektur dan Organisasi Komputer
integer part
10
fractial part binary point
11
Sumber: http://inst.eecs.berkeley.edu/~cs61c/sp06/handout/fixedpt.html
Arsitektur dan Organisasi Komputer
12
3
11/12/2014
9.2 Integer Representation (cont…)
9.2 Integer Representation (cont…)
Fixed Point Representation
• Untuk mendefinisikan tipe bilangan fixed point, dibutuhkan 2 parameter:
• Konsep shifting merupakan kunci untuk memahami representasi fixed point
1. panjang bilangan biner yang akan direpresentasikan (w), dan
• Dapat didefinisikan secara sederhana dengan menempatkan binary point pada lokasi yang tetap/tidak berubah/ fixed dalam untai bilangan biner Sumber: http://inst.eecs.berkeley.edu/~cs61c/sp06/handout/fixedpt.html
Arsitektur dan Organisasi Komputer
2. posisi binary point (b) dalam bilangan biner tersebut.
3. Dinotasikan dengan fixed<w,b>
13
9.3 Integer Arithmetic
•
Arsitektur dan Organisasi Komputer
14
9.3 Integer Arithmetic (cont…)
Fungsi-fungsi aritmatika bilangan two’s complement: •
Sumber: http://inst.eecs.berkeley.edu/~cs61c/sp06/handout/fixedpt.html
Aturan Overflow
Negasi, aturan pembentukkan bilangan negatif (negation) bilangan integer. Penjumlahan dan Pengurangan:
Bila dua buah bilangan ditambahkan, dan keduanya positif atau keduanya negatif, maka overflow akan terjadi bila dan hanya bila memiliki tanda yang berlawanan.
1. Aturan Overflow 2. Aturan Pengurangan
Arsitektur dan Organisasi Komputer
15
Arsitektur dan Organisasi Komputer
16
4
11/12/2014
9.3 Integer Arithmetic (cont…)
9.3 Integer Arithmetic (cont…) Multiplication
Aturan Pengurangan
• Pengalian bilangan integer sebagai: • unsigned integer
Untuk mengurangkan sebuah bilangan (subtrahend - S) dari bilangan lainnya (minuend - M), anggaplah two’s complement - S dan tambahkan hasilnya ke M.
Arsitektur dan Organisasi Komputer
17
9.3 Integer Arithmetic (cont…)
18
9.3 Integer Arithmetic (cont…)
• two’s complement, terdapat 2 buah aturan pengalian bilangan two’s complement
Cara 1: Aturan Pengalian Konversikan multiplicant dan multiplier menjadi bilangan positif, melakukan perkalian, kemudian mencari komplemen dua hasilnya jika dan hanya jika tanda kedua bilangan asal berbeda.
1. Aturan pengalian 2. Booth’s Algorithm
Arsitektur dan Organisasi Komputer
Arsitektur dan Organisasi Komputer
19
Arsitektur dan Organisasi Komputer
20
5
11/12/2014
Unsigned integers booth’s algorithm
9.3 Integer Arithmetic (cont…) Cara 2: Booth’s Algorithm
Produk perkalian bersama dengan Q (A,Q)
Cara ini memiliki keuntungan dalam meningkatakan kecepatan proses perkalian. 1. Unsigned integers 2. Two’scomplement integers
Arsitektur dan Organisasi Komputer
9.3 Integer Arithmetic (cont…)
Register yang menyimpan bit carry hasil penjumlahan Bit terkanan dari untai biner multiplier (Q) least significant bit
22
Arsitektur dan Organisasi Komputer
Two’s complement integers booth’s algorithm
9.3 Integer Arithmetic (cont…) Unsigned integers Booth’s Algorithm
23
9.3 Integer Arithmetic (cont…) Bit terkanan dari untai biner multiplier (Q) least significant bit Control bit, untuk menentukan operasi selanjutnya
Arsitektur dan Organisasi Komputer
24
Arsitektur dan Organisasi Komputer
25
6
11/12/2014
9.3 Integer Arithmetic (cont…)
9.3 Integer Arithmetic (cont…)
Two’s Complement Integers Booth’s Algorithm
Division
Arsitektur dan Organisasi Komputer
1. Unsigned binary integer division
26
Arsitektur dan Organisasi Komputer
27
Unsigned binary integer division
9.3 Integer Arithmetic (cont…) 2. 2’C binary integer division
Arsitektur dan Organisasi Komputer
28
Arsitektur dan Organisasi Komputer
29
7
11/12/2014
9.3 Integer Arithmetic (cont…)
9.3 Integer Arithmetic (cont…)
Floating Point Representation
Parts of Floating Point Number
Sebuah mode yang merepresentasikan bilangan sebagai dua urutan bit, satu mewakili angka dalam angka dan yang lainnya eksponen yang menentukan posisi radix point.
-0.9876 x 10-3 exponent sign of mantissa
Sumber: http://homepage.cs.uiowa.edu/~atkinson/m170.dir/overton.pdf
Arsitektur dan Organisasi Komputer
30
location of decimal point
mantissa
base
Sumber: http://www.iro.umontreal.ca/~aboulham/F1214/Session%206Arithm/Floating_ Point_Numbers.pdf
sign of exponent
Arsitektur dan Organisasi Komputer
9.3 Integer Arithmetic (cont…)
9.3 Integer Arithmetic (cont…)
Exponential Notation
IEEE 754 Standard
31
• Standar yang digunakan untuk representasi bilangan floating point • Single precision: 32 bit, terdiri dari: • • •
Sign bit (1 bit) Exponent (8 bits) Mantissa (23 bits)
• • •
Sign bit (1 bit) Exponent (11 bits) Mantissa (52 bits)
• Double precision: 64 bit, terdiri dari:
Sumber: http://www.iro.umontreal.ca/~aboulham/F1214/Session%206Arithm/Floating_ Point_Numbers.pdf
Arsitektur dan Organisasi Komputer
32
Sumber: http://www.iro.umontreal.ca/~aboulham/F1214/Session%206Arithm/Floating_ Point_Numbers.pdf
Arsitektur dan Organisasi Komputer
33
8
11/12/2014
9.3 Integer Arithmetic (cont…)
9.3 Integer Arithmetic (cont…)
Single Precision Format
Sumber: http://www.iro.umontreal.ca/~aboulham/F1214/Session%206Arithm/Floating_ Point_Numbers.pdf
Arsitektur dan Organisasi Komputer
Double Precision Format
34
Sumber: http://www.iro.umontreal.ca/~aboulham/F1214/Session%206Arithm/Floating_ Point_Numbers.pdf
Arsitektur dan Organisasi Komputer
9.3 Integer Arithmetic (cont…)
9.3 Integer Arithmetic (cont…)
Excess Notation
Normalization
• Notasi excess digunakan untuk menentukan nilai eksponen • Notasi excess yang digunakan,adalah: • •
• Bagian yang dinormalkan mantissa • Menempatkan lokasi desimal di sebelah kiri dan menambahkan bit “1” pada posisi di sebelah kiri lokasi desimal. Contoh:
Single precision: excess 127 Double precision: excess 1023
Sebuah untai biner disajikan sebagai berikut:
• Contoh: Excess 127 Eksponen: Representasi:
10100000000000000000000
10000111 135 - 127 = 8
Sumber: http://www.iro.umontreal.ca/~aboulham/F1214/Session%206Arithm/Floating_ Point_Numbers.pdf
35
Arsitektur dan Organisasi Komputer
36
Sumber: http://www.iro.umontreal.ca/~aboulham/F1214/Session%206Arithm/Floating_ Point_Numbers.pdf
Arsitektur dan Organisasi Komputer
37
9
11/12/2014
9.3 Integer Arithmetic (cont…)
9.3 Integer Arithmetic (cont…)
Floating Point Arithmetic Addition and Substraction • • •
Memastikan bahwa kedua operand memiliki nilai eksponen yang sama Hal ini membutuhkan proses radix point shifting Terdapat 4 tahapan dasar: 1. 2. 3. 4.
Check for zeros. Align the significands. Add or subtract the significands. Normalize the result.
Arsitektur dan Organisasi Komputer
38
Sumber: http://www.iro.umontreal.ca/~aboulham/F1214/Session%206Arithm/Floating_ Point_Numbers.pdf
Arsitektur dan Organisasi Komputer
39
9.3 Integer Arithmetic (cont…)
PART 3: THE CENTRAL PROCESSING UNIT
Multiplication and Division
CHAPTER 9: COMPUTER ARITHMETIC
- THANK YOU Arsitektur dan Organisasi Komputer
40
10