Arithmetic Computer
1. ARITHMETIC LOGIC 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.
B. OPERASI PADA ALU
Operasi aritmatika adalah operasi penjumlahan dan pengurangan,
sedangkan contoh operasi logika adalah logika AND dan OR. ALU melakukan
operasi aritmatika yang lainnya seperti pengurangan, dan pembagian
dilakukan dengan dasar penjumlahan. ALU melakukan operasi aritmatika
dengan dasar pertambahan, sedang operasi aritmatika yang lainnya,
seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar
penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk
melaksanakan operasi aritmatika ini disebut adder.
C. TUGAS DAN FUNGSI ALU
Tugas dari ALU adalah melakukan keputusan dari operasi logika sesuai
dengan instruksi program. Operasi logika (logical operation) meliputi
perbandingan dua buah elemen logika dengan menggunakan operator logika,
yaitu :
a. sama dengan (=)b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=)
Arithmatic Logical Unit (ALU) Juga 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 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.
D. STRUKTUR DAN CARA KERJA PADA ALU
ALU akan bekerja setelah mendapat perintah dari Control Unit yang
terletak pada processor. Control Unit akan memberi perintah sesuai
dengan komando yang tertulis(terdapat) pada register. Jika isi register
memberi perintah untuk melakukan proses penjumlahan, maka PC akan
menyuruh ALU untuk melakukan proses penjumlahan. Selain perintah,
register pun berisikan operand-operand. Setelah proses ALU selesai,
hasil yang terbentuk adalah sebuah register yang berisi hasil atau suatu
perintah lainnya. Selain register, ALU pun mengeluarkan suatu flag yang
berfungsi untuk memberi tahu kepada kita tentang kondisi suatu
processor seperti apakah processor mengalami overflow atau tidak.
ALU (Arithmethic and Logic Unit) adalah bagian dari CPU yang
bertanggung jawab dalam proses komputasi dan proses logika. Semua
komponen pada CPU bekerja untuk memberikan asupan kepada ALU sehingga
bisa dikatakan bahwa ALU adalah inti dari sebuah CPU. Perhitungan pada
ALU adalah bentuk bilangan integer yang direpresentasikan dengan
bilangan biner. Namun, untuk saat ini, ALU dapat mengerjakan bilangan
floating point atau bilangan berkoma, tentu saja dipresentasikan dengan
bentuk bilangan biner. ALU mendapatkan data (operand, operator, dan
instruksi) yang akan disimpan dalam register. Kemudian data tersebut
diolah dengan aturan dan sistem tertentu berdasarkan perintah control
unit. Setelah proses ALU dikerjakan, output akan disimpan dalam register
yang dapat berupa sebuah data atau sebuah instruksi. Selain itu, bentuk
output yang dihasilkan oleh ALU berupa flag signal. Flag signal ini
adalah penanda status dari sebuah CPU. Bilangan integer (bulat) tidak
dikenal oleh komputer dengan basis 10. Agar komputer mengenal bilangan
integer, maka para ahli komputer mengkonversi basis 10 menjadi basis 2.
Seperti kita ketahui, bahwa bilangan berbasis 2 hanya terdiri atas 1 dan
0. Angka 1 dan 0 melambangkan bahwa 1 menyatakan adanya arus listrik
dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, computer
tidak mengenal simbol (-). Komputer hanya mengenal simbol 1 dan 0. Untuk
mengenali bilangan negatif, maka digunakan suatu metode yang disebut
dengan Sign Magnitude Representation. Metode ini menggunakan simbol 1
pada bagian paling kiri (most significant) bit. Jika terdapat angka 18 =
(00010010)b, maka -18 adalah (10010010)b. Akan tetapi, penggunaan
sign-magnitude memiliki 2 kelemahan. Yang pertama adalah terdaptnya -0
pada sign magnitude[0=(00000000)b; -0=(10000000)b]. Seperti kita
ketahui, angka 0 tidak memiliki nilai negatif sehingga secara logika,
sign-magnitude tidak dapat melakukan perhitungan aritmatika secara
matematis. Yang kedua adalah, tidak adanya alat atau software satupun
yang dapat mendeteksi suatu bit bernilai satu atau nol karena sangat
sulit untuk membuat alat seperti itu. Oleh karena itu, penggunaan sign
magnitude pada bilangan negatif tidak digunakan, akan tetapi diganti
dengan metode 2′s complement. Metode 2′s complement adalah metode yang
digunakan untuk merepresentasikan bilangan negatif pada komputer. Cara
yang digunakan adalah dengan nilai terbesar dari biner dikurangin dengan
nilai yang ingin dicari negatifnya. Contohnya ketika ingin mencari
nilai -18, maka lakukan cara berikut:
1. ubah angka 18 menjadi biner (00010010)b
2. karena biner tersebut terdiri dari 8 bit, maka nilai maksimumnya adalah 11111111
3. kurangkan nilai maksimum dengan biner 18 -> 11111111 – 00010010 = 11101101
4. kemudian, dengan sentuhan terakhir, kita tambahkan satu -> 11101101 + 00000001 = 11101110
Dengan metode 2′s complement, kedua masalah pada sign magnitude dapat
diselesaikan dan komputer dapat menjalankan. Namun, pada 2′s
complement, nilai -128 pada biner 8 bit tidak ditemukan karena akan
terjadi irelevansi.
E. ADDER
Adder merupakan rangkain ALU (Arithmetic and Logic Unit) yang
digunakan untuk menjumlahkan bilangan. Karena adder digunakan untuk
memproses operasi aritmatika, maka adder juga sering disebut rangkaian
kombinasional aritmatika. Ada 3 jenis Adder, yaitu:
1. Rangkaian adder yang hanya menjumlahkan dua bit disebut Half Adder.
2. Rangkaian adder yang hanya menjumlahkan tiga bit disebut Full Adder.
3. Rangkaian adder yang menjumlahkan banyak bit disebut Paralel Adder.
1. Half Adder
Rangkain half adder merupakan dasar bilangan biner yang masing-masing
hanya terdiri dari satu bit, oleh karena itu dinamakan penjumlah tak
lengkap.
1. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 0.
2. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 1.
3. Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. Dengan nilai pindahan Cy (Carry Out) = 1.
Dengan demikian, half adder memiliki dua masukan (A dan B), dan dua keluaran (S dan Cy).
Dari tabel diatas, terlihat bahwa nilai logika dari Sum sama dengan
nilai logika dari gerbang XOR, sedangkan nilai logika Cy sama dengan
gerbang logika AND. Dari tabel diatas, dapat dibuat rangkaian half
adder.
2. Full Adder
Full adder adalah mengolah data penjumlahan 3 bit bilangan atau lebih
(bit tidak terbatas), oleh karena itu dinamakan rangkaian penjumlah
lengkap. Perhatikan tabel dibawah ini.
3. Paralel Adder
Paralel Adder adalah rangkaian Full Adder yang disusun secara paralel
dan berfungsi untuk menjumlahkan bilangan biner berapa pun bitnya,
tergantung jumlah Full Adder yang diparalelkan. Gambar dibawah ini
menunjukan Paralel Adder yang terdiri dari 4 buah Full Adder yang
disusun paralel sehingga membentuk sebuah penjumlahan 4 bit.
INTEGER REPRESENTATION
Untuk menuliskan bilangan
floating point (bilangan pecahan) dilakukan dengan menuliskan dalam bentuk
exponensial. Sehingga bilangan tersebut memiliki bilangan dasar, bilangan
pangkat, dan basis bilangan terebut. Contoh pada bil. Desimal:
- - 675.000.000.000.000
ditulis 6,75 x 1014
- - 0,00000000000675
ditulis 6,75 x 10-12
Meskipun secara matematis,
dalam sistem bilangan biner bisa digunakan tanda minus dan radix point, di
dalam komputer hanya ada bilangan 0 & 1 untuk merepresentasikan semua angka
l, Contoh bilangan biner matematis:
- - 1101.0101 =
-13.3125
INTEGER ARITHMETIC
Merupakan operasi aritmatika bilangan
bulat (integer), dikarenakan ALU hanya bisa menangani kalkulasi biner bilangan
bulat. Bagaimana pun juga ALU juga bisa mengkalkulasikan:
-
Bilangan pecahan (real)
-
Bentuk FPU (Floating Point Unit) terpisah
-
Co-processor dalam chip terpisah
Bilangan bulat (integer)
terdiri dari:
– bilangan asli : 1, 2, 3, …
– bilangan nol : 0
– bilangan negatif : …, -3, -2, -1
Bilangan Bulat dinotasikan dengan : B = {…, -3, -2, -1, 0, 1, 2, 3, …}
Bilangan lain yang berada dalam bilangan bulat, di antaranya adalah bilangan:
a. Cacah : C = {0, 1, 2, 3, 4, …}
b. Ganjil : J = {1, 3, 5, 7, …}
c. Genap : G = {2, 4, 6, 8, …}
d. Cacah Kuadrat : K = {0, 1, 4, 9, …}
e. Prima : {2, 3, 5, 7, 11, …}
– bilangan asli : 1, 2, 3, …
– bilangan nol : 0
– bilangan negatif : …, -3, -2, -1
Bilangan Bulat dinotasikan dengan : B = {…, -3, -2, -1, 0, 1, 2, 3, …}
Bilangan lain yang berada dalam bilangan bulat, di antaranya adalah bilangan:
a. Cacah : C = {0, 1, 2, 3, 4, …}
b. Ganjil : J = {1, 3, 5, 7, …}
c. Genap : G = {2, 4, 6, 8, …}
d. Cacah Kuadrat : K = {0, 1, 4, 9, …}
e. Prima : {2, 3, 5, 7, 11, …}
FLOATING POINT REPRESENTATION
Menyatakan suatu bilangan yang
sangat besar/sangat kecil dengan menggeser titik desimal secara dinamis dan
menggunakan eksponen 10 untuk menjaga desimal itu, sehingga range bilangan yang
sangat besar/ sangat kecil itu hanya dalam beberapa digit saja. Bilangan
Floating point memiliki bentuk umum :
± m * be
b= radiks
m = mantissa
e = eksponen
FLOATING POINT ARITHMETIC
Sistem penempatan titik desimal
dengan cara membagi kalimat menjadi dua bagian. Satu bagian berisi angka
pecahan, sebagian lainnya merupakan eksponen dari sepuluh. Posisi efektif dari
titik desimal akan berubah ketika eksponennya diubah. Sistem ini digunakan
untuk menyatakan hasil perhitungan yang sangat besar atau sangat kecil. Operasi
ini terdiri dari :
-
Penambahan
-
Pengurangan
-
Perkalian
-
Pembagian
a. Penjumlahan dan Pengurangan
Langkah-langkah yang dilakukan
untuk menambah/mengurangkan dua bilangan floating-point :
1. Bandingkan dua bilangan, dan ubah ke bentuk yang sesuai
pada bilangan dengan nilai exponensial lebih kecil.
2. Lakukan operasi penjumlahan/pengurangan
3. Lakukan normalisasi dengan menggeser nilai mantissa dan
mengatur nilai exponensialnya.
Skema penjumlahan/pengurangan Floating point
b. Perkalian
Algoritma umum untuk perkalian dari bilangan
floating-point terdiri dari tiga langkah:
1.
Hitung
hasil exponensial dengan menjumlahkan nilai eksponen dari kedua bilangan
2.
Kalikan
kedua bilangan mantissa
3.
Normalisasi
hasil akhir
Skema Perkalian Floating-Point
c. Pembagian
Algoritma umum untuk pembagian dari bilangan
floating-point terdiri dari tiga langkah:
1.
Hitung
hasil exponensial dengan mengurangi nilai eksponen dari kedua bilangan
2.
Bagi
kedua bilangan mantissa
3.
Normalisasi
hasil akhir
Skema Pembagian
Floating-Point
KESIMPULAN:
ALU merupakan salah satu bagian salah satu bagian dalam dari sebuah mikroprosesor yang fungsinya adalah melakukan operasi hitung untuk aritmatika dan logika. Pada ALU terdapat adderatau yang merupakan rangkaian pada ALU yang berfungsi untuk menjumlahkan bilangan. Kemudian proses ALU merupakan perintah yang akan dikerjakan oleh komputer untuk menjalankan operasi data secara aritmatik dan logika. Selama proses data, data akan diubah bentukm urutan dan strukturnya agar mendapatkan hasilnya. Lalu hasil itu akan disimpan di dalam data.
Sumber:
0 komentar :
Posting Komentar