ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan;...

35
ARSITEKTUR SISTEM KOMPUTER Wayan Suparta, PhD https://wayansuparta.wordpress.com/ 3 9 April 2018

Transcript of ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan;...

Page 1: ARSITEKTUR SISTEM KOMPUTER - … file–konversi multiplier dan multicand jadi positif, dikalikan; cari komplemen-2 dari hasilnya jika tanda multiplier dan multiplicand berbeda

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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