ALU(Arithmetic and Logic Unit) adalah sebuah kumpulan gerbang logika yang disatukan untuk dapat mengerjakan beberapa fungsi tertentu tergantung kontrol yang diberikan. Artinya ALU dapat mengerjakan berbagai jenis fungsi sekaligus dengan memilih jenis fungsi mana yang akan dilakukan pada ALU tersebut. Contohnya adalah ALU 1 bit yang dapat mengerjakan fungsi logika(AND, OR, NOT) dan fungsi Full Adder sekaligus. ALU ini menggunakan Gerbang logika untuk operasinya yaitu AND, OR, dan NOT, serta sebuah IC Full Adder(7483). Untuk melakukan kontrol digunakan multiplexer 4 to 1 dengan 2 selector.
Seperti terlihat pada rangkaian diatas, A, B, dan Cin adalah input data utama yang berhubungan langsung dengan 4 operasi dasar yang dapat dilakukan ALU tersebut. Kemudian output dari operasi- operasi dasar itu dimasukkan ke input dari multiplexer 4 to 1. Seperti yang kita ketahui multiplexer hanya akan mengeluarkan 1 output tergantung dari nilai selectornya. Karena itulah F0, dan F1 digunakan sebagai selector pada multiplexer sehingga selector ini dapat berfungsi sebagai kontrol operasi terhadap ALU tersebut.
Selector (F0,F1) bernilai 00 untuk operasi Not dengan input A sehingga B dan Cin tidak berpengaruh pada output
Selector (F0,F1) bernilai 01 untuk operasi OR dengan input A dan B sehingga Cin tidak berpengaruh pada output
Selector (F0,F1) bernilai 10 untuk operasi AND dengan input A dan B sehingga Cin tidak berpengaruh pada output
Selector (F0,F1) bernilai 11 untuk operasi Full Adder dengan input A, B dan Cin dengan output hasil Q dan output tambahan Cout.
Tabel Hasil Output
Khusus untuk full adder dibutuhkan output tambahan yaitu Cout. Cout hanya digunakan saat fungsi Full adder yang dipilih karena itu digunakan gerbang AND untuk membuat output Cout bernilai 0(tidak berfungsi) saat mengerjakan fungsi yang bukan Full adder. Selector digabungkan dengan gerbang AND sehingga hanya akan bernilai 1 saat mengerjakan fungsi full adder(F0,F1 = 11)dan hasil output selector ini di masukkan gerbang AND lagi bersama dengan output dari IC Full Adder(7483).
ALU yang telah dibahas adalah ALU 1 bit karena outputnya hanya 1 bit saja meskipun ada nilai Cout. Untuk ALU yang lebih dari 1 bit misal ALU 4 bit dapat dirancang sedemikian rupa sehingga dapat mengerjakan fungsi lain misal subtractor. ALU semacam ini menggunakan prinsip detak(Clock) seperti pada register. Tentang ALU 4 bit dan selanjutnya akan dibahas di lain waktu. Semoga bermanfaat :)
Sumber: praktikum organisasi dan arsitektur komputer