arsitektur sistem komputer - … file–konversi multiplier dan multicand jadi positif, dikalikan;...
TRANSCRIPT
![Page 1: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/1.jpg)
ARSITEKTUR SISTEM
KOMPUTER
Wayan Suparta, PhD https://wayansuparta.wordpress.com/
3 – 9 April 2018
![Page 2: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/2.jpg)
Penjumlahan dan Pengurangan
Operasi Penjumlahan
Aturan umum
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0, simpan (carry) 1
Operasi
Pengurangan
Aturan Umum
0 – 0 = 0
1 – 0 = 1
1 – 1 = 0
0 – 1 =1 , pinjam 1
![Page 3: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/3.jpg)
Materi 7:
OPERASI
PERKALIAN
DAN
PEMBAGIAN
![Page 4: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/4.jpg)
4
Perkalian
• Operasi pengalian lebih rumit dibandingkan operasi
penjumlahan atau pengurangan, baik dalam hardware
maupun software.
• Bila bit multiplier sama dengan 0, maka hasil
pengaliannya 0. Bila bit multiplier 1, maka hasil
pengaliannya sama dengan mutiplier
• Pengalian dua buah integer biner n-bit menghasilkan
hasil perkalian sampai 2n-bit
• Ada beberapa jenis algoritma yang digunakan dalam
bermacam-macam komputer
![Page 5: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/5.jpg)
5
Perkalian – Unsigned Integer
1 0 1 1 Multiplicand (11)
x 1 1 0 1 Mutiplier (13)
1 0 1 1
0 0 0 0 Partial
1 0 1 1 Product
1 0 1 1
1 0 0 0 1 1 1 1 Product (143)
Perkalian Biner
Perkalian biner dilakukan sebagaimana perkalian desimal
![Page 6: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/6.jpg)
6
Pengalian – Unsigned Integer
• Control Logic membaca bit-bit multiplier satu persatu
• Bila Q0 = 1, multiplicand ditambahkan ke register A; hasilnya disimpan ke register A; setelah itu seluruh bit di register C, A dan Q digeser ke kanan 1 bit.
• Bila Q0 = 0, tidak terjadi penambahan; seluruh bit di register C, A dan Q digeser ke kanan 1 bit.
• Proses tersebut dilakukan secara berulang untuk setiap bit multiplier
• Hasil perkalian akhir tersimpan di register A dan Q.
• Flowchartnya adalah
![Page 7: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/7.jpg)
Perkalian – Unsigned Integer
M=1011
yg diambil
selalu Q0
![Page 8: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/8.jpg)
Perkalian Komplemen-2 • Dengan algoritma perkalian di atas
1011 * 1101 = 1000 1111
– Perkalian unsigned integer : 11 * 13 = 143
– Perkalian komplemen-2 : -5 * -3 = -113
• perkalian tidak berfungsi jika multiplicand dan/atau multiplier-nya negatif.
• Ada beberapa cara untuk menangani hal tersebut:
– konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda
– Menggunakan algoritma lain yang tidak memerlukan transformasi, misalnya Algoritma Booth
![Page 9: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/9.jpg)
Perkalian + dan -
• Perkalian + dengan + seperti perkalian desimal biasa dengan menanbahkan NOL di semua bagian yang kosong.
• Perkalian dengan seperti perkalian desimal biasa dengan menanbahkan SATU di bagian depan yang kosong.
![Page 10: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/10.jpg)
Multiplying Negative Numbers
Booth’s
Algorithm
• Ini tidak bekerja!
• Solusi 1:
Konversikan ke positif jika diperlukan
Kalikan seperti cara pada perkalian
Jika tanda-tanda yang berbeda, komplemen 2-kan jawaban.
• Solusi 2: Algoritma Booth
![Page 11: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/11.jpg)
Algoritma Booth • memiliki kelebihan kecepatan proses perkaliannya, relatif terhadap
pendekatan langsung
• terdapat register Q(multiplier), M(multiplicand), A(accumulator), dan
register 1-bit di kanan Q yg ditandai dengan Q-1
• hasil perkalian tersimpan di A dan Q
• A dan Q-1 diinisialisasi 0
• control logic memeriksa bit-bit multiplier satu-persatu beserta bit di
kanannya
• Jika kedua bit Q0 dan Q-1 sama (1–1 or 0–0), maka geser ke kanan satu kali semua bit yang ada di register A,Q, Q-1.
• Jika bit Q0 dan Q-1 (0-1) maka multiplicand dijumlahkan dgn A (A + M). Jika bit Q0 dan Q-1 (1-0) A - M dan hasil disimpan di register A lalu geser 1x.
• pergeseran menggunakan Arithmetic Shift
– contoh : 1011 0101 1101 1010
![Page 12: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/12.jpg)
Arithmetic Shift
Shift right 1 bit
Logika: x >> 3
1001 1101 0001 0011
Shift left 1 bit
Logika: x << 2
1001 1101 0111 0100
![Page 13: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/13.jpg)
Booth’s Algorithm
![Page 14: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/14.jpg)
14
Algoritma Booth
• Contoh: 0111 * 0011 = 0001 0101 7 x 3 = 21
M
0111
0111
0111
0111
0111
0111
![Page 15: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/15.jpg)
Algoritma Booth
1 – 0
0 – 1
1 - 0
sub
shift
add
1101
![Page 16: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/16.jpg)
Pembagian
Operasi Aritmatika
![Page 17: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/17.jpg)
Pembagian
Operasi Aritmatika
![Page 18: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/18.jpg)
Pembagian-Unsigned Binary
1 3
1 1 1 4 7
1 1
3 7
3 3
4
![Page 19: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/19.jpg)
Pembagian-Unsigned Binary
E 0
M divisor
A,Q dividend
Count n
Pembagian Komplemen-2
![Page 20: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/20.jpg)
Pembagian-Unsigned Binary • 1001 0011 : 1011 = 000 1101 + 0100
E A Q
0 1 0 0 1 0 0 1 1 Initial
1 0 0 1 0 0 1 1 0 Shift Left
0 1 0 1
1 0 1 1 1 A A - M
1 0 1 1 1 0 1 1 1 Set Q0
0 1 1 1 0 1 1 1 0 Shift Left
0 1 0 1
1 0 0 1 1 A A - M
1 0 0 1 1 1 1 1 1 Set Q0
0 0 1 1 1 1 1 1 0 Shift Left
0 1 0 1
0 1 1 0 0 A A - M
1 0 1 1
1 0 1 1 1 1 1 1 0 A A + M (restore A)
0 1 1 1 1 1 1 0 0 Shift Left
0 1 0 1
1 0 1 0 0 A A - M
1 0 1 0 0 1 1 0 1 Set Q0
M = 1011
M’ = 0101 (2nd-c)
remainder quotient
![Page 21: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/21.jpg)
Pembagian Komplemen-2
• (-7)/(3) dan (7)/(-3) akan menghasilkan
remainder yang berbeda. Hal ini disebabkan
operasi pembagian didefinisikan sebagai
D = Q * V + R
dengan
– D = dividend
– Q = quotient
– V = divisor
– R = remainder
![Page 22: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/22.jpg)
Pembagian Komplemen-2 • Muatkan divisor ke M, dividend ke A dan Q. dividend diekspresikan
sbg komplemen-2 2n-bit.
• Geser A dan Q 1-bit ke kiri
• Bila M dan A memiliki tanda yg sama, lakukan A A – M; bila
tandanya beda, A A + M
• Operasi tsb akan berhasil bila tanda A sesudah dan sebelum operasi
sama – bila berhasil (A dan Q = 0), set Q0 1
– bila gagal (A dan Q <> 0), reset Q0 0 dan simpan A sebelumnya
• Ulangi langkah 2 sampai 4 utk setiap posisi bit di Q
• Bila tanda divisor dan dividend sama maka quotient ada di Q, jika
tidak quotient adalah komplemen-2 dari Q.
• Remainder ada di A.
![Page 23: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/23.jpg)
• Pembagian biner dilakukan juga dengan cara yang sama dengan bilangan desimal.
• contoh :
PEMBAGIAN
101/1111101\11001
101 -
101
101 -
01
00 -
10
00 -
101
101 -
0
![Page 24: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/24.jpg)
Langkah:
1. Setiap step A dan Q di geser ke kiri sebanyak 1 bit
2. A=A-M
3. Jika A positif maka Q0 = 1
Jika A negatif maka Q0 = 0 dan restore angka sebelumnya
![Page 25: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/25.jpg)
25
Pembagian Komplemen-2
![Page 26: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/26.jpg)
SOAL-SOAL LATIHAN
Kerjakan operasi matematis berikut
1. 10010 10001
2. 00100 : 00111
3. 10111 00101
4. 10011 : 01110
5. 10001 10111
6. 10101 00100
7. 10111 : 00101
8. 10101 : 01101
9. 10011 10100
10. 23410 1018
11. 1008 : 01102
12. 3A16 : 1358
13. A2116 01112
14. 10112 11110
15. 101012 : 8B16
16. 3568 : 50010
17. 2C16 : 1308
18. 1008 A116
![Page 27: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/27.jpg)
Representasi Floating
Poin
Operasi Aritmatika
![Page 28: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/28.jpg)
Representasi Floating Point
• Untuk menuliskan bilangan floating point (bilangan
pecahan) dilakukan dengan menuliskan bentuk
eksponensial, sehingga bilangan tersebut memiliki
bilangan dasar, bilangan pemangkat dan basis
bilangan tersebut.
• Format:
![Page 29: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/29.jpg)
Representasi Floating Point Misal :
976.000.000.000 = 9,76 x 1011
MENJADI
0,000000000976 = 9,76 x 10-10
Konversi
Konversi bilangan floating point berbasis deka ke
basis biner harus dilakukan terlebih dahulu
sebelum mengubah kedalam representasi floating
point.
![Page 30: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/30.jpg)
Contoh • 3,75 11,11
• Biner 3 = 11
• Mengubah 0,75 menjadi biner:
• 0,75*2= 1,5 ambil nilai didepan koma (1), lalu sisanya
kalikan lagi dengan 2
• 0,5*2 = 1,0 didapat bilangan didepan koma 1 dan sisanya 0
• Penulisan bilangan floating point dengan cara eksponensial
dapat menyebabkan adanya kemungkinan sebuah bilangan
ditulis dengan cara yang bermacam-macam
![Page 31: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/31.jpg)
Standarisasi Penulisan Bilangan
• Bentuk normalisasi:
• Bit pertama significand selalu 1 sehingga tidak perlu
disimpan dalam field significand. B adalah bilangan
biner (1 atau 0).
• Untuk keperluan yang luas makandiadakan standar
bagi representasi bilangan floating point ini, yaitu
standar IEEE 754. standar ini juga mendefinisikan
operasi aritmetikanya.
![Page 32: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/32.jpg)
Format Penulisan Menurut Standar IEEE 754
• Pada format tunggal, bit paling kiri digunakan untuk representasi tanda 0, jika positif dan 1 jika negatif, sedangkan 8 bit berikutnya adalah pangkat (exponen) yang direpresentasikan dalam bentuk bias.
• Bagian 23 bit terakhir digunakan untuk menunjukkan bit dari bilangan fractionnya.
![Page 33: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/33.jpg)
Contoh Konversi ke format IEEE
![Page 34: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/34.jpg)
Contoh Konversi ke format IEEE
![Page 35: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda](https://reader033.vdocuments.net/reader033/viewer/2022052200/5ca9473a88c993db388b6594/html5/thumbnails/35.jpg)
Aritmetika Floating Point
Penambahan dan pengurangan
a. periksa bilangan-bilangan nol
b. ratakan significand
c. tambahkan atau kurangkan significand
d. normalisasi hasilnya
contoh :
123 x 102 123 x 102
456 x 10-2 + 0,0456 x 102
123,0456 x 102