Pada
kesempatan kali ini saya akan menjelaskan tentang ALU pada sebuah komputer, di
artikel ini bakal dijelaskan pengertian, rangkaiannya, sejarah, operasi dan
cara kerja dari Arithmatic Logical Unit (ALU), materi ini adaah sebagai tugas
dari materi Kuliah Organisasi Sistem Komputer dan inilah artikelnya :
A.
PENGERTIAN
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.
B.
RANGKAIAN
ALU
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.
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
4.
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
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 deACE=”Verdana,
sans-serif”>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.
C.
SEJARAH ALU
Aritmetika yang terbatas pada jumlah yang
sangat kecil artifak kecil yang menunjukkan konsep yang jelas penambahan (+) dan
pengurangan (-), yang paling terkenal menjadi tulang Ishango dari Afrika
tengah, datang dari suatu tempat antara 20.000 dan 18.000 SM.
Jelas bahwa Babel memiliki pengetahuan yang kokoh
dari hampir semua aspek aritmetika dasar oleh 1800 SM, sejarawan meskipun hanya
bisa menebak metode yang digunakan untuk menghasilkan hasil aritmetika, seperti
yang ditunjukkan. Misalnya, dalam tablet tanah liat Plimpton 322, yang
muncul menjadi daftar Pythagoras tiga kali lipat, tetapi tanpa kerja untuk
menunjukan bagaimana daftar ini awalnya diproduksi. Demikian pula, Mesir Rhin
Mathematical Papyrus (berasal dari sekitar 1650 SM, meskipun jelas salinan teks
yang lebih tua dari sekitar 1850 SM) menunjukan bukti penambahan (+),
pengurangan (-), perkalian (x), dan pembagian (/) yang
digunakan dalam sebagian unit sistem.
Nicomachus merangkum filsafat Pythagoras pendekatan
angka, dan hubungan mereka satu sama lain, dalam Pengenalan aritmatika.
Pada saat ini, operasi aritmatika dasar adalah urusan yang sangat rumit, itu
adalah metode yang dikenal sebagai “Metode orang-orang Indian” (Latin Modus
Indorum) yang menjadi aritmatika yang kita kenal sekarang. Aritmatika India
jauh lebih sederhana daripada aritmatika Yunani karena kesederhanaan system
angka India, yang memiliki nol dan notasi nilai tempat. Abad ke - 7 Syria
Severus Sebokht uskup disebutkan metode ini dengan kekaguman, namun
menyatakan bahwa Metode dari India ini tak tertuliskan. Orang-orang Arab
belajar metode baru ini dan menyebutkan Fibonacci (juga dikenal
dengan Leonardo dari Paris) memperkenalkan “Metode dari Indian” ke Eropa pada
1202. Dalam bukunya Liber Abaci, Fibonacci mengatakan bahwa dibandingkan dengan
metode baru ini, semua metode lain telah kesalahan. Dalam Abad Pertengahan.
Aritmatika adalah satu dari tujuh seni liberal diajarkan di universitas.
D.
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. Sehingga sirkuit elektronik di
ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder. 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 arithmatika.
E.
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.
F.
STRUKTUR DAN CARA KERJA PADA 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.
REFERENSI :