Selasa, 04 November 2014

Computer Arithmetic

Nama : Achmad Syarif H.
Kelas : 2KA04
NPM : 10113100
Mata Kuliah : Pengantar Organisasi & Arsitektur Komputer


Arithmetic Logic Unit (ALU)
merupakan unit pengolah bilangan dan logika dari sebuah komputer. dimana ALU melakukan operasi aritmatika seperti penjumlahan, pengurangan, perkalian serta pembagian, dan juga operasi-operasi logika seperti AND, OR dan XOR. jika CPU diasumsikan sebagai otaknya komputer, maka ALU inilah yang berfikir untuk menjalankan perintah yang di berikan kepada cpu tersebut.

ALU terdiri dari register-register untuk menyimpan informasi. operasi aritmethic dan logic terbagi dalam 4 kelas, yaitu decimal arthmatic, fixed point arithmatic, floating point arithmatic, dan logic operation.



Integer Representation
Semua bilangan dapat direpresentasikan dengan hanya menggunakan bilangan 0 dan 1 untuk keperluan penyimpanan dan pengolahan komputer,tidak perlu menggunakan tanda minus dan titik,hanya bilangan biner yang dapat merepresentasikan bilangan.

Penggunaan unsigned integer tidak cukup untuk merepresentasikan bilangan integer negatif dan juga bilangan positif integer,karenaitu terdapat beberapa konvensi lainnya meliputi perlakuanterhadap bit yang paling berarti (paling kiri)didalam word sebagai bit tanda.

Apabila bit paling kiri sama dengan nol maka suatu bilangan adalah positif. Sedangkan bit paling kiri sama dengan 1, maka bilangan bernilai negatif.

Misalnya:+18=00010010-18=10010010(sign magnitude/nilai-tanda)

Penambahan dan pengurangan memerlukan pertimbangan baik tanda bilangan maupun nilai relatifnya agar dapat berjalan pada operasi yang diperlukan.

Terdapat dua representasi bilangan 0:+010=00000000-010=10000000 (sign magnitude)

Hal ini tidak sesuai untuk digunakan,karena akan menyulitkan pemeriksaan bilangan 0.

Integer Arithmetic
Bagian ini akan membahas fungsi-fungsi aritmatik bilangan dalam representasi komplemen dua:

Negasi
Pada notasi komplemen dua, pengurangan sebuah bilangan integer dapat dibentuk dengan menggunakan aturan berikut : Anggaplah komplemen Boolean seluruh bit bilangan integer (termasuk bit tanda)
Perlakukan hasilnya sebagai sebuah unsigned binary integer, tambahkan 1.
Misal : 18 = 00010010 (komplemen dua)

Representasi Integer Positif, Negatif Dan Bilangan 0
  • Bila sebuah bilangan integer positif dan negatif yang sama direpresentasikan (sign-magnitude), maka harus ada representasi bilangan positif dan negatif yang tidak sama.
  • Bila hanya terdapat sebuah representasi bilangan 0 (komplemen dua), maka harus ada representasi bilangan positif dan negatif yang tidak sama.

Pada kasus komplemen dua, terdapat representasi bilangan n-bit untuk -2n, tapi tidak terdapat untuk 2n.

Aturan Untuk Mendeteksi Overflow

Aturan Overflow :
Bila dua buah bilangan ditambahkan, dan keduanya positif atau keduanya negatif, maka akan terjadi overflow bila dan hanya bila hasilnya memiliki tanda yang berlawanan, seperti pada contoh halaman 18 ((e),(f))

Aturan Pengurangan :
Untuk mengurangkan sebuah bilangan (subtrahend) dari bilangan lainnya (minuend), anggaplah komplemen dua subtrahend dan tambahkan hasilnya ke minuend.
Pembulatan
Teknik pembulatan yang sesuai dengan standard IEEE adalah sebagai berikut :
  1. Pembulatan ke Bilangan Terdekat : Hasil dibulatkan ke bilangan terdekat yang dapat direpresentasi.
  2. Pembulatan Ke Arah ~ positif: Hasil dibulatkan ke atas ke arah tak terhingga positif.
  3. Pembulatan Ke Arah ~ negatif: Hasil dibulatkan ke atas ke arah tak terhingga negatif.
  4. Pembulatan Ke Arah 0 : Hasil dibulatkan ke arah 0
Floating Point Representation

Untuk menuliskan bilangan floating point (bilangan pecahan) dilakukan dengan menuliskan dalam bentuk exponensial. Sehingga bilangan tersebut memiliki bilangan dasar, bilangan pemangkat dan basis bilangan tersebut.

Penulisan Notasi Ilmiah
Contoh ; pada bil. Desimal
976.000.000.000.000 ditulis 9,76 x 1014
0,00000000000976 ditulis 9,76 x 10-12

Representasi :
±S * B ±E
Tanda : + atau –
Signifikan (S) disebut juga mantissa
Eksponen (E)
Base (B)

Penulisan bilangan floating point dengan cara exponensial dapat menyebabkan adanya kemungkinan sebuah bilangan ditulis dengan cara yang bermacam-macam. Sehingga diadakan standar bagi representasi bilangan floating point ini, yaitu standard IEEE 754. Standar ini juga mendefinisikan operasi aritmetikanya

Sebagai contoh, dalam representasi (32 -bit) floating-point presisi tunggal biner p = 24 dan seterusnya significand adalah string dari 24 bit. Misalnya, jumlah π pertama 33 bit adalah 11001001 00001111 11011010 10100010 0. Mengingat bahwa bit -24 adalah nol, pembulatan sampai 24 bit dalam mode biner berarti menghubungkan bit -24 dengan nilai 25 yang menghasilkan 11.001.001 00.001.111 11.011.011. Ketika ini disimpan menggunakan pengkodean IEEE 754, ini menjadi significand dengan e = 1 (di mana s diasumsikan memiliki titik biner di sebelah kanan bit pertama) setelah kiri penyesuaian (atau normalisasi) selama memimpin atau tertinggal nol terpotong harus ada apapun.

Floating Point Arithmetic
ALU untuk floating point dapat diimplementasikan dengan menggunakan dua rangkaian aritmatika fixed point yang terpisah yaitu unit exponent dan mantissa
Contoh :
  • Penambahan  dan Pengurangan
123456.7 = 1.234567 × 10^5
  101.7654 = 1.017654 × 10^2 = 0.001017654 × 10^5
  • Perkalian dan Pembagian
e=3;  s=4.734612
× e=5;  s=5.417242
-----------------------
  e=8;  s=25.648538980104 (true product)
  e=8;  s=25.64854        (after rounding)
  e=9;  s=2.564854        (after normalization)
Kesimpulan

Dapat disimpulkan bahwa ALU merupakan unit untuk melakukan operasi aritmetika dan logika berdasarkan instruksi yang telah ditentukan.

Referensi :
  • William Stalling Computer Organization and Architecture, Prentice Hall, 5 Th  ed, 2000
  • Soepono Soeparlan, Pengantar Organisasi Sistem Komptuer, Diktat Guandarma, 1995
  • Hamacher, Carl, et all, Computer organization, fifth edition, McGraw Hill, 2002
  • Ron White & Timothy Downs, How computer works, 6th edition
  • Peter Nortons, Introduction to Computers



Tidak ada komentar:

Posting Komentar