Jumat, 19 November 2010

Computer Arithmetic


1.  Arithmetic Logic Unit(ALU)

Arithmatic and Logic Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan logika (seperti penjumlahan, pengurangan dan beberapa logika lain), ALU bekerja sama dengan memori. Dimana 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).
 Fungsi ALU 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. Sirkuit yang digunakan oleh ALU ini disebut dengan adder karena operasi yang dilakukan dengan dasar penjumlahan. 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, yaitu :
  • Sama dengan (=)
  • Tidak sama dengan ( <> )
  • Kurang dari ( < )
  • Kurang atau sama dengan dari ( <= )
  • Lebih besar dari ( > )
  • Lebih besar atau sama dengan dari ( >= )
Arithmetic and Logic 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. Seperti istilahnya
  • ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki spesifikasi tugas sendiri.

2. Integer Representation (Representation Iinteger)
Representasi Integer
Bilangan yang digunakan untuk mekanisme representasi data komputer adalah bilangan biner, semua itu bias terjadi karena factor-faktor berikut :

1.komputer secara elektronika hanya mampu membaca 2 kondisi sinyal
- ada tegangan / ada sinyal
- tidak ada tegangan / tidak ada sinyal

2.kondisi tersebut yang digunakan untuk merepresentasikan bilangan dan kode-kode biner
- ada tegangan sebagai representasi nilai 1
- tidak ada tegangan sebagai representasi nilai 0

Sistem bilangan

       Sistem bilangan merupakan tata aturan atau susunan dalam menentukan nilai suatu bilangan, 
antara lain sistem desimal, biner, hexadesimal, oktal, BCD, Grey Code, 
Exess-3 dan lain-lainnya yang dibagi berdasarkan basis yang digunakan dalam penentuan nilai dari bilangan tersebut. Jenis-jenis Sistem bilangan yaitu:
1.  Desimal
2. Biner
3. Heksadesimal
4. Oktal

Sistem bilangan yang umum dipakai adalah sistem bilangan desimal.

1. Desimal
Merupakan suatu sistem bilangan yang berbasis 10 (tiap bilangan dalam sistem tersebut dikalikan dengan 10x),
terdiri dari angka : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

2. Biner
Merupakan suatu system bilangan yang berbasiskan 2 (tiap bilangan dalam sistem tersebut dikalikan dengan 2x), 
terdiri dari angka 0 dan 1.

3. Heksadesimal
Merupakan suatu sistem bilangan yang berbasiskan 16 (tiap bilangan dalam sistem tersebut dikalikan dengan 16x), terdiri dari 10 angka yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 dan 6 huruh yaitu A, B, C, D, E, F.

4. Oktal
Merupakan suatu sistem bilangan yang berbasiskan 8 (tiap bilangan dalam sistem tersebut dikalikan dengan 8x), terdiri dari delapan angka yaitu 0, 1, 2, 3, 4, 5, 6, 7.

5. BCD (Binary-Coded decimal)
Merupakan format untuk merepresentasikan bilangan desimal (integer) dengan empat bit (satu nibble) untuk setiap angka penyusunnya



6. Gray Code
Merupakan sistem bilangan yang memliki sistem mirip dengan biner hanya saja dalam susunan bilangan ini yang boleh berubah pada urutan selanjutnya hanya 1 angka. Misalnya 001 berikutnya 011 berikutnya 010 dan selanjutnya

7. Excess-3
Merupakan sistem bilangan yang secara sederhana dapat diartikan sebagai bilangan biner yang memiliki lebih tiga angka dari bilangan biner biasa. Contohnya 0 = 011, 1 = 100, 2 = 101 dan seterusnya.

3. Floating Point Representation

Representasi Integer oleh Biner
     Dalam sistem bilangan biner ada 4 macam sistem untuk merepresentasikan integer
       - representasi unsigned integer 
       - representasi nilai tanda (sign magnitude)
       - representasi bias
       - representasi komplemen dua (2’s complement)

1. Unsigned Integer
-Untuk keperluan penyimpanan dan pengolahan komputer diperlukan bilangan biner yang terdiri atas 0 dan 1

-1 byte (8 bit binary digit) dapat digunakan untuk menyatakan bilangan desimal dari 0 – 255


Kelemahan Unsigned Integer

Kelemahan
- hanya dapat menyatakan bilangan positif
- sistem ini tidak bisa digunakan untuk menyatakan bilangan integer negatif


2. Representasi Nilai Tanda (sign magnitude) 
-Karena kelemahan unsigned integer
-Dikembangkan beberapa konvensi untuk menyatakan bilangan integer negatif 


Konvensi 
-Perlakuan bit yang paling kiri (MSB) di dalam byte sebagai tanda
-Bila MSB = 0 maka bilangan tersebut positif
-Jika MSB = 1 maka bilangan tersebut negatif


Kelemahan sign magnitude
Adanya representasi ganda pada bilangan 0, yaitu


3. Representasi Bias
 -Digunakan untuk menyatakan exponen (bilangan pemangkat) pada representasi floating point
 -Dapat menyatakan bilangan bertanda, yaitu dengan mengurutkan dari bilangan negatif terkecil   dapat dijangkau sampai bilangan positif paling besar yang bisa dijangkau
 -Mengatasi permasalahan pada sign magnitude yaitu +0 dan -0



4. Representasi komplemen 2 (two’s complement)
      Merupakan perbaikan dari representasi nilai bertanda (sign magnitude) yang mempunyai kekurangan 
pada operasi penjumlahan dan pengurangan serta representasi nilai 0


Bilangan Negatif Pada 2’s Complement

1.Sistem bilangan dalam 2’s complement menggunakan bit paling kiri (MSB) sebagai bit tanda dan sisanya sebagai bit nilai seperti pada sign magnitude

2.Bilangan negatif dalam 2’s complement dibentuk dari:
- komplemen satu dari bilangan biner semula (nilai positif)

- menambahkan 1 pada LSB

4. Floating Point Arithmetic
Floating Point Arithmetic untuk operasi matematika.
ALU (Arithmetic Logical Unit) merupakan unit penalaran secara logic. ALU ini adalah 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 jenis prosesor,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.
ALU melakukan perhitungan berdasarkan aritmatika yang terjadi sesuai dengan instruksi program. Alu melakukan operasi aritmatika berdasarkan penjumlahan. Operasi pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. Sirkuit elektronik di ALU = adder.
Cara Pendesinan pada ALU hampir sama dengan mendesain enkoder, multiplexer, dan diMultiplexer. Rangkaian utama yang digunakan untuk melakukan perhitungan ALU adalah Adder.
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
A. HALF ADDER
Rangkaian Half Adder merupakan dasar penjumlahan bilangan Biner yang terdiri dari satu bit, oleh karena itu dinamai Penjumlah Tak Lengkap.
1. jika A = 0 dan B = 0 dijumlahkan, hasilnya S ( Sum ) = 0.
2. jika A = 0 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 1.
3. jika A = 1 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 0
  1. 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 ).
Tabel Kebenaran Half adder :
A
B
S
C
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1

B. 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).
C. 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.

Tidak ada komentar:

Posting Komentar