A. Arithmetic And Logic Unit (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 lainya seperti pengurangan, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder. ALU melakukan operasi aritmatika dengan dasar pertambahan, sedangkan operasi aritmatika yang lainya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi arithmatika.
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 ALU
ALU akan bekerja setelah mendapat
perintah dari Control Unit yang terletak pada processor. Contorl 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 suatuperintah 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 Control 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 Ineger Bilangan integer (bulat) tidak dikena 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, dengna 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.
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:
- Rangkaian adder yang hanya menjumlahkan dua bit disebut Half Adder.
- Rangkaian adder yang hanya menjumlahkan tiga bit disebut Full Adder.
- 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.
- Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 0.
- Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 1.
- 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).
A
|
B
|
S
|
Cy
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
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 adalag mengolah data penjumlahan 3 bit bilangan atau lebih (bit tidak terbatas), oleh karena itu dinamakan rangkaian penjumlah lengkap. Perhatikan tabel dibawah ini.
A
|
B
|
C
|
S
|
Cy
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
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.
Skema penjumlahan/pengurangan Floating point
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 Aritmethic
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
F. KESIMPULAN
Arithmetic
And Logic Unit adalah salah satu bagian dalam dari sebuah mikroprosesor yang berfungsi untuk melakukan operasi hitungan aritmatika dan logika. 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. ALU melakukan
operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang
lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar
penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk
melaksanakan operasi arithmatika ini disebut adder. tugas utama dari ALU
(Arithmetic And Logic Unit) adalah melakukan semua perhitungan aritmatika atau
matematika yang terjadi sesuai dengan instruksi program.
REFERENSI
Http://cahyomuhajir.blogspot.com/2012/01/aritmetic
-logic-unit.html?m=1
(sumber: buku pengenalan komputer, hal 154-155, karangan prof.dr.jogiyanto h.m, m.b.a.,akt.)
http://id.wikipedia.org/wiki/ALU(sumber: buku pengenalan komputer, hal 154-155, karangan prof.dr.jogiyanto h.m, m.b.a.,akt.)
Tidak ada komentar:
Posting Komentar