• Tidak ada hasil yang ditemukan

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD April 2018

N/A
N/A
Protected

Academic year: 2021

Membagikan "ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD April 2018"

Copied!
35
0
0

Teks penuh

(1)

ARSITEKTUR SISTEM

KOMPUTER

Wayan Suparta, PhD

https://wayansuparta.wordpress.com/

(2)

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

(3)

Materi 7:

OPERASI

PERKALIAN

DAN

(4)

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

(5)

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

(6)

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

(7)

Perkalian – Unsigned Integer

M=1011

yg diambil selalu Q0

(8)

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

(9)

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.

(10)

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

(11)

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

(12)

Arithmetic Shift

Shift right 1 bit Logika: x >> 3

1001 1101  0001 0011

Shift left 1 bit Logika: x << 2

(13)
(14)

14

Algoritma Booth

• Contoh: 0111 * 0011 = 0001 0101

7 x 3 = 21 M 0111 0111 0111 0111 0111 0111

(15)

Algoritma Booth

1 – 0 0 – 1 1 - 0 sub shift add 1101

(16)

Pembagian

(17)

Pembagian

(18)

Pembagian-Unsigned Binary

1 3 1 1 1 4 7 1 1 3 7 3 3 4

(19)

Pembagian-Unsigned Binary

E  0 M  divisor A,Q  dividend Count  n Pembagian Komplemen-2

(20)

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

(21)

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

(22)

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.

(23)

• 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

(24)

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

(25)

25

(26)

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

(27)

Representasi Floating

Poin

(28)

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:

(29)

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.

(30)

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

(31)

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.

(32)

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.

(33)
(34)
(35)

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 10

2

123 x 10

2

456 x 10

-2

+ 0,0456 x 10

2

Referensi

Dokumen terkait