Wednesday, April 25, 2012

ARITHMETIC DAN LOGIC UNIT

Unit Aritmatika dan Logika (ALU) merupakan bagian dari komputer yang berfungsi membentuk operasi-operasi aritmatika dan logis pada data. Tugas ALU adalah melakukan kalkulasi biner. Semua komponen lain dalam komputer sebenarnya ada untuk melayani ALU.  ALU hanya bisa menangani bilangan bulat (integer) .  ALU bisa juga menangani bilangan pecahan (real).  Umumnya dalam bentuk FPU (Floating Point Unit) terpisah (maths co-processor)  Co-processor dalam chip terpisah (486DX +).



Representasi Integer
 Seandainya semua integer positif, konversi ke biner biasa, tinggal disesuaikan dengan panjang bit register yang tersedia. Misal data akan disimpan dalam reg. 8-bit:
Cth :

Sebuah word 8-bit dapat digunakan untuk mempresentasikan bilangan-bilangan dari 0 hingga 255, termasuk
    00000000 =     0
    00000001 =     1
    00101001 =   41
    10000000 = 128
    11111111 = 255


Representasi Magnituda Tanda (Sign-Magnitude)
 Mulai timbul masalah saat akan menyimpan bilangan negatif. Komputer tidak mengenal tanda minus. Bit paling kiri menunjukkan magnitude integer (positif atau negatif). Jika bit tanda adalah  0, maka bilangan tersebut positif; jika bit tanda adalah 1, maka bilangan tersebut adalah negatif.

Cth :
+18 = 00010010
- 18 = 10010010 (magnituda tanda)



Representasi Komplemen Dua (Two’s Complement)
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:

Cth:
-128     64     32     16     8     4     2  1
Mengapa 1 bit paling kiri? Porsi sama besar:

Negatif = -128P
Positif = (64 + 32 + 16 + 8 + 4 + 2 + 1) = 127

Representasi Titik Tetap
Pemrogram dapat menggunakan representasi yang sama untuk bilangan pecahan biner dengan melakukan peskalaan bilangan-bilangan yang bersangkutan sehingga titik biner secara implisit berada pada lokasi lain.


Aritmetik Integer 
A. Negasi
    Pada representasi magnituda tanda, aturan pembentukan bilangan negatif (negasi) bilangan integer cukup sederhana; membalikan bit tanda. Pada notasi komplemen dua, negasi sebuah bilangan integer dapat dibentuk dengan mengguanakan aturan berikut:
1.    Tentukan komplemen boolean untuk tiap bit, termasuk sign bitnya. Yaitu komplemen 1 jadi 0, 0 jadi 1.
2.    Kemudian tambahkan 1 pada hasilnya.

Cth:
Contoh:     + 18 = 00010010 (Komplemen Dua)

                             11101101 (Bitwise Complement)
                             +            1
                             --------------
                - 18 =  11101110


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.


B. Penambahan dan Pengurangan.
Jika hasil dari operasi adalah positif , kita akan mendapatkan bilangan positif pada dalam notasi binner biasa. Jika hasil dari operasi adalah negatif kita akan mendapatkan bilangan negatif dalam bentuk komplemen dua. Perlu diperhatikan bahwa, dalam keadaan tertentu, terdapat bit pembawa setelah akhir word (ditandai dengan bayangan), yang diabaikan.

Cth:
Contoh:    (-7) + (5) = ....
   
                 1001 = -7
                +0101 =  5
              --------------
                 1110 = -2


C. Perkalian
Perkalian merupakan operasi yang komplek, baik dalam bentuk hardware maupun softwarenya.


 Perkalian Integer tanpa tanda
1.    Perkalian meliputi pembentukan produk-produk parsial, bagi setiap digit dalam pengali. Produk parsial ini kemudian dijumlahkan untuk menghasilkan produk akhir.
2.    Produk parsial dapat didefinisikan dengan mudah. Ketika bit pengali adalah 0, maka produk parsialnya dalah 0. Sedangkan ketika pengali adalah 1, maka produk parsialnya adalah multiplicand.
3.    Total produk diperoleh dengan penjumlahan produk-produk parsial. Untuk operasi ini, setiap produk parsial yang berurutan digeser satu posisi ke sebelah kiri relatif terhadap produk parsial sebelumnya.
4.    Perkalian dua integer biner n-bit menghasilkan produk yang panjangnya sampai dengan 2n bit (misalnya, 11 x 11 = 1001).

Cth:
        1011
    x  1101
    ---------
        1011
      0000
    1011
    1011
    -----------
    10001111


Perkalian Komplemen Dua.
Silakan coba kalikan bilangan negatif dengan cara sebelumnya, pasti hasilnya aneh. Oleh karena itu kita menggunakan perkalian komplemen dua. Ada dua  solisi untuk penyelesaian, yaitu:
1.     Dasar: A X (-B) = - (A X B). Positifkan bilangan yang negatif (dengan negasi terbalik). Kalikan dengan cara sebelumnya. Kalau bilangan aslinya berbeda tanda (sign), negasikan hasilnya.

Cth:
Contoh:
1001    (-7)
          x0011    (3)
    ----------------
    11111001    (-7) x 20 = (-7)
    11110010    (-7) x 21 = (-14)
    ----------------
    11101011    (-21)

2.Algoritma Booth

Contoh: 
(7) x (3) = (21)
            0111
          x0011    (0)
     ------------
    11111001    1-0
    0000000    1-1
    000111    0-1
    ------------
    00010101    (21)


D. Pembagian
Pembagian sedikit lebih rumit dibandingkan dengan perkalian tetapi keduanya berdasarkan pada prinsip umum yang sama


Aritmatika Titik Mengambang

 Penambahan Dan Pengurangan.
Dalam Aritmatika titik mengambang, menambahan dan pengurangan dapat lebih kompleks dibandingkan perkalian dan pembagian. Hal ini disebabkan perlunya perataan. Terdapat 4 tahap dasar algoritma penambahan dan pengurangan :
1.    Periksa bilangan-bilangan Nol (0).
2.    Ratakan signifikannya.
3.    Tambahkan atau kurangkan signifikan.
4.    Normalisasikan hasilnya.


Perkalian dan Pembagian
Perkalian dan pembagian titik mengambang jauh lebih sederhana dibandingkan penambahan dan pengurangan, seperti diindikasikan pada pembahasan berikut.
Pertama-tama kita perhatikan perkalian, jika salah satu operand sama dengan nol (0) maka nol dilaporkan sebagai hasil. Langkah berikutnya adalah dengan menambahkan eksponen. Jika eksponen disimpan dalam bentuk bias maka jumlahan eksponen akan menggandakan bias. Jadi, nilai bias harus dikurangi dari jumlahan tersebut. Hasilnya mungkin overflow maupun underflow eksponen, yang akan dilaporkan, dan algoritma berakhir.


Pertimbangan Ketetapan (Preseisi).
a.    Bit bit Pemandu
Register berisi bit tambahan, atau disebut bit pemandu yang berfungsi untuk mengisi ujung kanan yang signifiakn dengan nol (0).
b.    Pembulatan
Sejumlah teknik telah diselidiki untuk melakukan pembulatan. Pada kenyataannya, Standar IEEE memberikan 4 pendapatan alternatif:
•    Pembulatan ke bilangan terdekat: hasil dibulatkan kebilangan terdekat yang dapat direpresentasikan.
•    Pembulatan kearah kanan +∞: hasil dibulatkan keatas kearah tidak terhingga positif.
•    Pembulatan kearah kanan -∞: hasil dibulatkan kebawah kearah tidak terhingga negatif.
•    Pembulatan kearah nol (0): hasil dibulatkan kearah nol.


Standar IEEE untuk Aritmatika titik mengambang Binner.
a.    Tidak Terhingga
Aritmatika tidak terhingga diperlakukan sebagai kasus pembatasan aritmatika real, dengan nilai tidak terhingga yang diberikan interpretasi berikut:
-∞ <(setiap bilangan terbatas )<+∞
b.    Diam dan Pensinyalan NaN
NaN merupakan entitas simbolis yang disandikan dalam bentuk titik mengambang, terdapat 2 jenis pensinyalan dan diam
c.    Bilangan-bilangan yang Dedenormalisasi
Bilangan-bilangan yang Dedenormalisasi adalah tercakup didalam IEEE 754 untuk menangani kasus dengan underflow eksponen.

















No comments:

Post a Comment