Rabu, 05 November 2014

COMPUTER ARITHMETIC

ARITHMATIC LOGICAL UNIT (ALU)
Arithmatic Logical Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan logika (Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU bekerja besama-sama memori, di mana hasil dari perhitungan di dalam ALU di simpan ke dalam memori.
Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner two’s complement. ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU output register, sebelum disimpan dalam memori.
Pada saat sekarang ini sebuah chip/IC dapat mempunyai beberapa ALU sekaligus yang memungkinkan untuk melakukan kalkulasi secara paralel. Salah satu chip ALU yang sederhana (terdiri dari 1 buah ALU) adalah IC 74LS382/HC382ALU (TTL). IC ini terdiri dari 20 kaki dan beroperasi dengan 4×2 pin data input (pinA dan pinB) dengan 4 pin keluaran (pinF).
Arithmatic Logical Unit (ALU), fungsi unit ini adalah untuk melakukan suatu proses data yang berbentuk angka dan logika, seperti data matematika dan statistika. ALU terdiri dari register-register untuk menyimpan informasi.Tugas utama dari ALU adalah melakukan perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. Rangkaian pada ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan dinamakan dengan Adder. Adder digunakan untuk memproses operasi aritmetika, Adder juga disebut rangkaian kombinasional aritmatika.
Ada 3 jenis adder:
    1. Rangkaian Adder dengan menjumlahkan dua bit disebut Half Adder.
    2. Rangkaian Adder dengan menjumlahkan tiga bit disebut Full Adder.
    3. Rangkain Adder dengan menjumlahkan banyak bit disebut Paralel Adder
1. Half Adder 
Rangkaian Half Adder merupakan dasar penjumlahan bilangan Biner yang terdiri dari satu bit, oleh karena itu dinamai Penjumlah Tak Lengkap.
a. jika A = 0 dan B = 0 dijumlahkan, hasilnya S ( Sum ) = 0.
b. jika A = 0 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 1.
c. jika A = 1 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 0
jika A = 1 dan B =1 dijumlahkan, hasilnya S ( Sum ) = 0. dengan nilai pindahan cy(Carry Out) = 1
Dengan demikian, half adder memiliki 2 masukan ( A dan B ) dan dua keluaran ( S dan Cy ).

2. Full Adder 
Sebuah Full Adder menjumlahkan dua bilangan yang telah dikonversikan menjadi bilangan-bilangan biner. Masing-masing bit pada posisi yang sama saling dijumlahkan. Full Adder sebagai penjumlah pada bit-bit selain yang terendah. Full Adder menjumlahkan dua bit input ditambah dengan nilai Carry-Out dari penjumlahan bit sebelumnya. Output dari Full Adder adalah hasil penjumlahan (Sum) dan bit kelebihannya (carry-out).

3. Paralel Adder 
Rangkaian Parallel Adder adalah rangkaian penjumlah dari dua bilangan yang telah dikonversikan ke dalam bentuk biner. Anggap ada dua buah register A dan B, masing-masing register terdiri dari 4 bit biner : A3A2A1A0 dan B3B2B1B0.
Rangkaian Parallel Adder terdiri dari Sebuah Half Adder (HA) pada Least Significant Bit (LSB) dari masing-masing input dan beberapa Full Adder pada bit-bit berikutnya. Prinsip kerja dari Parallel Adder adalah sebagai berikut : penjumlahan dilakukan mulai dari LSB-nya. Jika hasil penjumlahan adalah bilangan desimal “2” atau lebih, maka bit kelebihannya disimpan pada Cout, sedangkan bit di bawahnya akan dikeluarkan pada Σ. Begitu seterusnya menuju ke Most Significant Bit (MSB)nya.
Tugas lain dari ALU adalah melakukan keputusan dari operasi sesuai dengan instruksi program yaitu operasi logika (logical operation). Operasi logika meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika.
Arithmatic Logical Unit (ALU):
·         Bertugas membentuk fungsi – fungsi pengolahan data komputer.
·         ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya
·         ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki spesifikasi dan tugas tersendiri.
Fungsi-fungsi yang didefinisikan pada ALU adalah Add(penjumlahan), Addu (penjumlahan tidak bertanda), Sub(pengurangan), Subu (pengurangan tidak bertanda), and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift right arithmetic), dan lain-lain.
Arithmetic Logical Unit (ALU) merupakan unit penalaran secara logic. ALU ini merupakan Sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Angka-angka dikirim dari memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke memori. Jika CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam CPU tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU tersebut.
ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di dalamnya sekelompok transistor, yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika dan operasi logika. Kumpulan susunan dari logic gate inilah yang dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah “add” untuk menambahkan bilangan, atau “devide” atau pembagian dari suatu bilangan. Selain perintah matematika yang lebih komplit, kumpulan dari logic gate ini juga mampu untuk melaksanakan perintah yang berhubungan dengan logika, seperti hasil perbandingan dua buah bilangan.
Instruksi yang dapat dilaksanakan oleh ALU disebut dengan instruction set. Perintah yang ada pada masing-masing CPU belum tentu sama, terutama CPU yang dibuat oleh pembuat yang berbeda, katakanlah misalnya perintah yang dilaksanakan oleh CPU buatan Intel belum tentu sama dengan CPU yang dibuat oleh Sun atau perusahaan pembuat mikroprosesor lainnya. Jika perintah yang dijalankan oleh suatu CPU dengan CPU lainnya adalah sama, maka pada level inilah suatu sistem dikatakan compatible. Sehingga sebuah program atau perangkat lunak atau software yang dibuat berdasarkan perintah yang ada pada Intel tidak akan bisa dijalankan untuk semua jenisprosesor,kecuali untuk prosesor yang compatible dengannya.
Seperti halnya dalam bahasa yang digunakan oleh manusia, instruction set ini juga memiliki aturan bahasa yang bisa saja berbeda satu dengan lainnya. Bandingkanlah beda struktur bahasa Inggris dengan Indonesia, atau dengan bahasa lainnya, begitu juga dengan instruction set yang ada pada mesin, tergantung dimana lingkungan instruction set itu digunakan.




INTEGER REPRESENTATION 

Dalam sistem bilangan biner , semua bilangan dapat direpresentasikan dengan hanya menggunakan bilangan 0 dan 1, tanda minus, dan tanda titik.
Misalnya: -1101.01012 = -11.312510Namun untuk keperluan penyimpanan dan pengolahan komputer, kita tidak perlu menggunakan tanda minus dan titik. Hanya bilangan biner (0 dan 1) yang dapat merepresentasikan bilangan. Bila kita hanya memakai integer non-negatif, maka representasinya akan lebuh mudah. Sebuah word 8-bit dapat digunakan untuk merepresentasikan bilangan 0 hingga 255. Misalnya:
00000000= 0
00000001= 1
00101001 = 41
  10000000  = 128
   11111111= 225
Umumnya bila sebuah rangkaian n-bit bilangan biner an-1an-2…a1a0 akan diinterpretasikan sebagai unsigned integer A.

Representasi Nilai Tanda

Penggunaan unsigned integer tidak cukup untuk merepresentasikan bilangan integer negatif dan juga bilangan positif integer. Karena itu terdapat beberapa konvesi lainnya yang dapat kita gunakan. Konvesi-konvesi lainnya meliputi perlakuan terhadap bit yang paling berarti (paling kiri) di dalam word bit tanda. Apabila bit paling kiri sama dengan 0 suatu bilangan adalah positif , sedangkan bila bit yang paling kiri sama dengan 1 bilangan bernilai negatif.

Bentuk yang paling sederhana representasi yang memakai bit tanda representasi nilai tanda. Pada sebuah word bit, n – 1 bit yang paling kanan menampung  nilai integer. Misalnya:
+ 18 = 00010010
-  18 = 10010010 (sign-magnitude/nilai-tanda)
Terdapat beberapa kekurangan pada representasi nilai-tanda penambahan dan pengurangan memerlukan pertimbangan baik tanda bilangan ataupun nilai relatifnya agar dapat berjalan pada operasi yang diperlukan.
Kekurangannya lainnya terdapat dua representasi bilangan 0:
+ 010 = 00000000
-  010 = 10000000 (sign-magnitude)

Representasi komplemen dua

Representasi komplemen dua ( two’s complement representation)  mengatasi dua buah kekurangan yang terdapat pada representasi nilai- tanda. Penambahan dan pengurangan   nilai-tanda (sign-magnitude) tidak mencukupi danterdapat dua buah representasi bilangan nol. Representasi komplemen dua menggunakan bit yang paling berarti sebagai bit tanda  memudahkannya untuk mengetahui apakah sebuah integer bernilai positif atau negatif.
Representasi ini berbeda dengan representasi nilai-tanda dengan cara menginterpretasikan bit-bit lainnya. Representasi komplemen dua akan lebih mudah dimengerti dengan mendefinisikannya dalam bentuk jumlah bobot bit  seperti telah kita lakukan diatas pada representasi unsigned-magnitude dan sign-magnitude. Bilangan nol akan diidentifikasikan sebagai positif,  memiliki tanda bit 0 dan nilai keseluruhan 0.
Kita dapat melihat bahwa range integer positif yang dapat direpresentasikan mulai 0 (seluruh magnitude bit-nya sama dengan 0) hingga 2n-1-1 (seluruh magnitude bit-nya 1).   bilangan yang lebih besar akan memerlukan bit yang lebih banyak.
Sekarang  bilangan negatif A, bit tanda an-1, sama dengan 1. n-1 bit sisanya dapat mengambil salah satu dari 2n-1 nilai.
Karena itu, range integer negatif yang dapat direpresentasikan  mulai –1 hingga -2n-1.
Hasilnya  assignment yang mudah bagi nilai  untuk membiarkan bit-bit an-1 an-2…a:a0 akan sama dengan bilangan positif 2n-1 –A.

Konversi Antara panjang Bit Yang Berlainan 

Kadang-kadang kita perlu mengambil sebuah integer n bit dan menyimpannya di dalam m bit, dengan m > n.
Pada notasi sign-magnitude  mudah dilaksanakan: cukup memindahkan bit tanda ke posisi terkiri yang baru dan mengisinya dengan nol. Misalnya:
+18 =                        00010010    (sign-magnitude, 8 bit)
+18 =         0000000000010010    (sign-magtitude, 16 bit)
-18 =                          10010010    (sign-magnitude, 8 bit)
-18 =          1000000000010010    (sign-magtitude, 16 bit)
Prosedur di atas tidak berlaku bagi integer negatif komplemen dua. Dengan memakai contoh yang sama:
+18 =                       00010010    (komplemen dua, 8 bit)
+18 =        0000000000010010    (komplemen dua, 16 bit)
-18 =                        10010010    (komplemen dua, 8 bit)
-65.518 =  1000000000010010     (komplemen dua, 16 bit)
Aturan integer komplemen dua adalah untuk memindahkan bit tanda ke posisi terkiri yang baru dan mengisinya dengan salinan-salinan bit tanda.
Bilangan positif diisi dengan 0 dan  bilangan negatif isi dengan 1
-18 =                          10010010    (komplemen dua, 8 bit)
-18 =          1111111100010010    (komplemen dua, 16 bit)


INTEGER ARITHMATIC
Bagian ini akan membahas fungsi-fungsi aritmatik bilangan dalam representasi komplemen dua.

A. Negasi
Pada notasi komplemen dua, pengurangan sebuah bilangan integer dapat dibentuk dengan mengunakan aturan berikut:
Anggaplah komplemen boolean seluruh bit bilangan integer (termasuk bittanda). Perlakukan hasilnya sebagai sebuah unsigned binary integer, tambahkan1. misalnya:18=00010010 (komplemen dua).

b.  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   

FLOATING POINT REPRESENTATION 


Dalam komputasi floating point menjelaskan metode mewakili perkiraan dari sejumlah nyata dalam cara yang dapat mendukung berbagai nilai . Jumlahnya , secara umum , mewakili sekitar untuk tetap jumlah digit yang signifikan ( mantissa ) dan ditingkatkan menggunakan eksponen .
Dengan asumsi bahwa resolusi terbaik adalah di tahun cahaya , hanya 9 desimal yang paling signifikan digit materi , sedangkan sisanya 30 digit membawa suara murni , dan dengan demikian dapat dengan aman dijatuhkan. Ini merupakan penghematan dari 100 bit penyimpanan data komputer . Alih-alih dari 100 bit , jauh lebih sedikit digunakan untuk mewakili skala ( eksponen ) , misalnya 8 bit atau 2 digit desimal .
Istilah floating point mengacu pada fakta bahwa nomor itu radix point ( titik desimal , atau , lebih umum pada komputer , titik biner ) dapat “mengambang” , yang , dapat ditempatkan di manapun relatif terhadap angka yang signifikan dari nomor tersebut. Posisi ini diindikasikan sebagai komponen eksponen dalam representasi internal , dan floating point sehingga dapat dianggap sebagai realisasi komputer notasi ilmiah .
Selama bertahun-tahun , berbagai representasi floating-point telah digunakan dalam komputer . Namun, sejak tahun 1990 , representasi paling sering ditemui adalah bahwa didefinisikan oleh IEEE 754 standar .    Dalam notasi ilmiah , jumlah yang diberikan ditingkatkan oleh kekuatan 10 sehingga terletak dalam kisaran tertentu – biasanya antara 1 dan 10 , dengan titik radix muncul segera setelah angka pertama . The faktor skala , sebagai kekuatan sepuluh , kemudian ditunjukkan secara terpisah pada akhir nomor . Misalnya, periode revolusi bulan Jupiter Io adalah 152853.5047 detik , nilai yang akan diwakili dalam notasi ilmiah standar – bentuk sebagai 1,528535047 × 105 detik .
Representasi floating-point mirip dalam konsep notasi ilmiah . Logikanya , angka floating -point terdiri dari:

Sebuah ditandatangani ( yang berarti positif atau negatif ) string yang digit panjang diberikan dalam dasar yang diberikan ( atau radix ) . String ini digit disebut sebagai significand , koefisien atau , lebih jarang , mantissa ( lihat di bawah ) . Panjang significand menentukan presisi yang nomor dapat diwakili. Radix Posisi titik diasumsikan untuk selalu berada di suatu tempat dalam significand – sering hanya setelah atau sebelum yang paling signifikan digit , atau di sebelah kanan paling kanan (paling signifikan ) digit . Artikel ini umumnya akan mengikuti konvensi bahwa titik radix hanya setelah paling signifikan ( paling kiri ) digit .

Sebuah integer ditandatangani eksponen , juga disebut sebagai karakteristik atau skala , yang memodifikasi besarnya nomor . Untuk memperoleh nilai dari angka floating-point , seseorang harus kalikan significand dengan dasar pangkat dari eksponen , setara dengan menggeser radix poin dari posisi tersirat oleh sejumlah tempat sama dengan nilai eksponen – ke kanan jika eksponen positif atau ke kiri jika eksponen negatif.
Menggunakan basis- 10 ( notasi desimal akrab ) sebagai contoh , jumlah 152853,5047 , yang memiliki sepuluh angka desimal presisi , diwakili sebagai significand 1,528535047 bersama dengan eksponen 5 ( jika posisi tersirat dari radix point setelah pertama yang paling signifikan digit, di sini 1 ). Untuk menentukan nilai yang sebenarnya , titik desimal ditempatkan setelah digit pertama significand dan hasilnya dikalikan dengan 105 untuk memberikan 1,528535047 × 105 , atau 152853,5047. Dalam menyimpan nomor tersebut , dasar ( 10 ) tidak perlu disimpan , karena akan sama untuk seluruh kisaran angka didukung , dan dengan demikian dapat disimpulkan . 
Secara simbolis , ini adalah nilai akhirdimana  adalah nilai significand            ( setelah memperhitungkan tersirat radix point) , B adalah dasar, dan E adalah eksponen.
ekuivalen : di mana s di sini berarti nilai integer dari seluruh significand , mengabaikan semua titik desimal tersirat , dan p adalah – presisi jumlah digit di significand tersebut .
Secara historis , beberapa pangkalan nomor telah digunakan untuk mewakili angka floating -point , dengan basis 2 ( biner ) yang paling umum, diikuti oleh basis 10 ( desimal ) , dan varietas yang kurang umum lainnya , seperti basis 16 ( notasi heksadesimal ) , sebagai serta beberapa yang eksotis seperti 3 (lihat Setun ) .
Angka floating-point adalah bilangan rasional karena mereka dapat direpresentasikan sebagai salah satu bilangan bulat dibagi dengan yang lain . Misalnya 1,45 × 103 adalah (145 /100) * 1000 atau 145000/100 . Dasar namun menentukan pecahan yang dapat diwakili . Misalnya , 1/ 5 tidak dapat diwakili tepat sebagai angka floating-point menggunakan basis biner tetapi dapat diwakili tepat menggunakan basis desimal ( 0,2 , atau 2 × 10-1. Namun 1/3 tidak dapat diwakili tepat oleh salah biner ( 0,010101 … ) atau desimal ( 0,333 ./ ) , tetapi dalam basis 3 itu adalah sepele ( 0,1 atau 1 × 3-1 ) . Kesempatan di mana ekspansi terbatas terjadi tergantung pada dasar dan faktor utama, seperti yang dijelaskan dalam artikel tentang Notasi Positional, Cara di mana significand tersebut , eksponen dan tanda bit secara internal disimpan di komputer sangat tergantung dari implementasi .
Secara Umum format IEEE dijelaskan secara rinci nanti dan di tempat lain , tetapi 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 ARITHMATIC
Dalam komputasi, floating point adalah representasi dari perkiraan bilangan real dengan cara yang dapat mendukung trade-off antara jangkauan dan presisi. Sejumlah adalah, secara umum, mewakili sekitar untuk tetap jumlah digit yang signifikan (significand) dan skalamenggunakan eksponen; dasar untuk scaling biasanya dua, sepuluh, atau enam belas. 

Titik Istilah floating mengacu pada fakta bahwa titik radix nomor ini (titik desimal, atau, komputer lebih sering pada, titik biner) dapat "mengambang"; yaitu, dapat ditempatkan di manapun relatif terhadap angka signifikan dari nomor tersebut. Posisi ini diindikasikan sebagaikomponen eksponen, dan dengan demikian representasi floating-point dapat dianggapsebagai semacam notasi ilmiah. 

Representasi floating-point tersebut mungkin dapat mewakili nomor yang memiliki magnitude besar (misalnya, jarak antar galaksi dalam hal kilometer), tetapi tidak untuk ketepatan nomor yang mempunyai besar yang sangat kecil (misalnya, jarak pada skala Femtometer yang);sebaliknya, representasi floating-point tersebut mungkin dapat mewakili besarnya sangat kecil, tapi tidak secara bersamaan berkekuatan sangat besar. Hasil rentang dinamis ini adalahbahwa angka-angka yang dapat diwakili tidak seragam spasi; perbedaan antara dua angkarepresentable berturut-turut tumbuh dengan skala yang dipilih.  
Selama bertahun-tahun, berbagai floating-point representasi telah digunakan dalam komputer.Namun, sejak tahun 1990-an, representasi paling sering ditemui adalah bahwa didefinisikan oleh IEEE 754 standar. 

Kecepatan operasi floating-point, biasanya diukur dalam hal FLOPS, merupakan ciri pentingdari sebuah sistem komputer, terutama untuk aplikasi yang melibatkan intensif perhitungan matematis.


KESIMPULAN

Di dalam sebuah sistem komputer terdapat sebuah komponen yang disebut Arithmatic Logic Unit yang berfungsi untuk melakukan operasi perhitungan aritmatik yang menggunakan kode biner. ALU memperoleh data-datanya dari register yang kemudian diproses dan hasilnya akan disimpan di dalam ALU output register sebelum akhirnya disimpan ke dalam memory. Dapat dikatakan bahwa ALU inilah yang berfikir untuk menjalankan perintah yang diberikan kepada sebuah CPU.





 sumber: 


Tidak ada komentar:

Posting Komentar

Peraturan dan Regulasi

Pengertian Peraturan dan Regulasi Berikut ini adalah pengertian peraturan dari berbagai sumber: TIM GRASINDO Peraturan merupaka...