Upload
yoga-prastyo
View
46
Download
1
Embed Size (px)
DESCRIPTION
tentang artmatika komputer
Citation preview
Pertemuan XII
Arithmetic & Logic Unit Tugas ALU: Melakukan kalkulasi biner Semua komponen lain dalam komputer sebenarnya
ada untuk melayani ALU ALU hanya bisa menangani bilangan bulat(integer)
However: ALU bisa juga menangani bilangan pecahan (real) Umumnya dalam bentuk FPU (Floating Point Unit) terpisah (maths co-processor)
Representasi Integer Meskipun secara matematis, dalam sistem bilangan
biner bisa digunakan tanda minus dan radix point, didalam komputer hanya ada bilangan 0 & 1 untukmerepresentasikan semua angka
Contoh bilangan biner matematis:-1101.0101 = -13.3125
Bentuk seperti ini tidak membawa manfaat bagikomputer, malah menyulitkan
Oleh karena itu tidak dipakai
Representasi Integer Positif Seandainya semua integer positif, konversi ke biner
biasa, tinggal disesuaikan dengan panjang bit register yang tersedia.
Misal data akan disimpan dalam reg. 8-bit:00000000 = 000000001 = 100101001 = 4110000000 = 12811111111 = 255tidak ada masalah!!
Representasi Integer Negatif (1) Mulai timbul masalah saat akan menyimpan bilangan
negatif Komputer tidak mengenal tanda minus
Sign-Magnitude Representation Bit paling kiri menunjukkan magnitude integer (positif
atau negatif) sign bit+18 = 00010010- 18 = 10010010
Kekurangan: ada 2 buah angka nol: nol positif (00000000) dan negatif (10000000)
Representasi Integer Negatif (2)Twos Complement Representation Ini yang digunakan di komputer sekarang Satu bit paling kiri dijadikan bernilai negatif,
kemudian dijumlahkan dengan bit sisanya.Nalar manusia paling gampang, gunakan Value Box:
Misal 8-bit: 1 1 1 1 1 1 1 1 = -1-128 64 32 16 8 4 2 1
Mengapa 1 bit paling kiri? Porsi sama besar: negatif = -128 positif = (64 + 32 + 16 + 8 + 4 + 2 + 1) = 127
Aritmetik Integer - Negasi (1)Twos Complement Operation Tentukan komplemen boolean untuk tiap bit,
termasuk sign bitnya. Komplemen: 1 jadi 0, 0 jadi 1. Kemudian tambahkan 1 pada hasilnya Contoh: + 18 = 00010010
11101101 (bitwise complement)+ 1--------------
- 18 = 11101110
Aritmetik Integer - Negasi (1)Twos Complement Operation Keuntungan: Hanya ada satu nol (coba negasikan 0). Terjadi ketimpangan representasi nilai negatif dan
positif untuk jumlah bit tertentu misal untuk 8-bit, range bilangan bulat yang terwakili adalah:-128 127 (bukan 128 tapi 128 - 1)-> Inilah yg terjadi pada komputer kita.
Silakan cek di tipe data bahasa pemrogramanapapun!
Konversi antara panjang bityang berbeda Mungkin saja antar register tidak memiliki panjang bit
yang sama, misal dari 8 ke 16 Positive number pack with leading zeros
+18 = 00010010+18 = 00000000 00010010
Negative numbers pack with leading ones-18 = 10010010-18 = 1 1 1 1 1 1 1 1 10010010
Addition dan Substraction (1) Disini terlihat jelas keuntungan menggunakan sistem
twos complement. Tidak perlu ada sirkuit pengurangan, hanya ada
komplemen dan penjumlahan Perlakuan sama untuk penjumlahan maupun
pengurangan: langsung DIJUMLAHKAN karena 7 2 sama dengan 7 + (-2)
Panjang bit bilangan-bilangan yang dijumlahkan maupun hasilnya, harus sama
Addition dan Substraction (2)Contoh untuk 4-bit: 3 + 4 0011 = 3
+ 0100 = 40111 = 7
5 - 7 0101 = 5+ 1001 = -7
1110 = -2 Latihan: -4 + 4, 4 1, 5 + 4, -7 6
Overflow Kadang penjumlahan tidak menghasilkan panjang
digit yang sama, bisa lebih, kelebihan itu dihilangkansaja (dipotong).
Overflow terjadi jika register ybs tidak mampumenampung bilangan yang dihasilkan. Misal 4-bit rangenya -8 7, tidak bisa menampung bilangan 11
Overflow jika dan hanya jika: penjumlahan dilakukanterhadap dua bilangan bertanda sama, dan hasilnya bertanda berbeda
Addition dan Subtractionsecara Hardware
Perkalian Operasi perkalian lebih rumit dibandingkan operasi
penjumlahan atau pengurangan, baik dalam hardware maupun software
Ada beberapa jenis algoritma yang digunakan dalambermacam-macam komputer
Pengalian Unsigned Integer1 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)
Pengalian Unsigned Integer Pengalian meliputi pembentukan beberapa perkalian
parsial untuk setiap digit dalam multiplier. Perkalianparsial ini kemudian dijumlahkan untukmendapatkan hasil pengalian akhir
Bila bit multiplier sama dengan 0, maka hasilpengaliannya 0. Bila bit multiplier 1, maka hasilpengaliannya sama dengan mutiplicand
Hasil pengalian akhir diperoleh denganmenjumlahkan perkalian parsial tersebut. Setiap hasilperkalian parsial yang berurutan digeser satu posisi kekiri relatif terhadap hasil perkalian sebelumnya.
Pengalian dua buah integer biner n-bit menghasilkanhasil perkalian sampai 2n-bit
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 diregister C, A dan Q digeser ke kanan 1 bit.
Bila Q0 = 0, tidak terjadi penambahan; seluruh bit diregister 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.
yg diambil selalu Q0
M=1011
Pengalian Komplemen-2 Dengan algoritma pengalian di atas
1011 * 1101 = 1000 1111 Perkalian unsigned integer : 11 * 13 = 143 Perkalian komplemen-2 : -5 * -3 = -113
perkalian tidak berfungsi jika multiplicand dan/ataumultiplier-nya negatif
Perkalian unsign & komplemen-2 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 memerlukantransformasi, misalnya Algoritma Booth
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 ygditandai 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 sama (1-1 atau 0-0), maka seluruh bit
di A, Q dan Q-1 digeser 1-bit ke kanan jika kedua bit berbeda, multiplicand ditambahkan
(0-1) atau dikurangkan (1-0) ke register A, kemudian digeser ke kanan
pergeseran menggunakan Arithmetic Shift contoh : 1011 0101 1101 1010
contoh : 0111 * 0011 = 0001 0101
subshiftadd
Pembagian
1 3
1 1 1 4 7
1 1
3 7
3 3
4
E 0M divisorA,Q dividendCount n
1001 0011 : 1011 = 000 1101 + 0100
E A Q0 1 0 0 1 0 0 1 1 Initial1 0 0 1 0 0 1 1 0 Shift Left
0 1 0 11 0 1 1 1 A A - M1 0 1 1 1 0 1 1 1 Set Q00 1 1 1 0 1 1 1 0 Shift Left
0 1 0 11 0 0 1 1 A A - M1 0 0 1 1 1 1 1 1 Set Q00 0 1 1 1 1 1 1 0 Shift Left
0 1 0 10 1 1 0 0 A A - M
1 0 1 11 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 11 0 1 0 0 A A - M1 0 1 0 0 1 1 0 1 Set Q0
M = 1011M = 0101 (2nd-c)
remainder quotient
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.
(-7)/(3) dan (7)/(-3) akan menghasilkan remainder yang berbeda. Hal ini disebabkan operasipembagian didefinisikan sebagai
D = Q * V + Rdengan D = dividend Q = quotient V = divisor R = remainder
Aritmatika KomputerArithmetic & Logic UnitRepresentasi IntegerRepresentasi Integer PositifRepresentasi Integer Negatif (1)Representasi Integer Negatif (2)Aritmetik Integer - Negasi (1)Aritmetik Integer - Negasi (1)Konversi antara panjang bityang berbedaAddition dan Substraction (1)Addition dan Substraction (2)OverflowAddition dan Subtractionsecara HardwarePerkalianPengalian Unsigned IntegerPengalian Unsigned IntegerSlide Number 17Slide Number 18Slide Number 19Pengalian Komplemen-2Perkalian unsign & komplemen-2Algoritma BoothSlide Number 23Slide Number 24Slide Number 25Slide Number 26PembagianSlide Number 28Slide Number 29Pembagian Komplemen-2Slide Number 31Slide Number 32Slide Number 33