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