Representasi visual sederhana dari fungsi ALU.
Dalam arsitektur komputer modern, ALU, atau Arithmetic Logic Unit (Unit Aritmetika dan Logika), adalah salah satu komponen paling fundamental dan krusial. Terletak di dalam Unit Pemrosesan Sentral (CPU), ALU bertanggung jawab untuk melakukan semua operasi komputasi, baik itu matematika maupun logika. Tanpa ALU, CPU tidak akan mampu memproses data atau mengeksekusi instruksi program apa pun.
Secara garis besar, tugas ALU dapat dibagi menjadi dua kategori utama yang menentukan bagaimana komputer memproses informasi: Operasi Aritmetika dan Operasi Logika.
Bagian aritmetika dari ALU menangani semua perhitungan matematis dasar yang diperlukan oleh program. Ini termasuk operasi-operasi inti yang membentuk dasar bagi perhitungan kompleks apa pun. Operasi standar yang ditangani oleh ALU meliputi:
Bagian logika memungkinkan komputer membuat keputusan berdasarkan perbandingan nilai data. Operasi logika bekerja pada tingkat bit demi bit pada input data dan menghasilkan output Boolean (Benar/Salah, 1/0). Operasi logika penting ini meliputi:
Sebuah ALU terdiri dari serangkaian sirkuit digital yang dirancang untuk melakukan operasi-operasi di atas secara paralel atau serial. Dua input utama yang diperlukan ALU adalah Operand A dan Operand B (data yang akan diproses), serta input kontrol yang menentukan operasi mana yang harus dilakukan.
Input kontrol ini biasanya datang dari Unit Kontrol (Control Unit) CPU, yang membaca instruksi mesin (opcode) dari memori. Misalnya, jika instruksi adalah "ADD R1, R2" (tambahkan isi Register 1 dan Register 2), Unit Kontrol akan mengirimkan sinyal yang mengaktifkan sirkuit penjumlahan di dalam ALU.
Setelah operasi selesai, ALU tidak hanya menghasilkan output data (hasil perhitungan), tetapi juga menghasilkan serangkaian sinyal status, yang dikenal sebagai Flag Register atau Status Register. Flag ini sangat penting untuk mengontrol alur program berikutnya. Beberapa flag umum meliputi:
Flag ini kemudian digunakan oleh Unit Kontrol untuk mengeksekusi instruksi percabangan (branching), seperti "JUMP IF ZERO" (Lompat jika hasilnya nol). Kemampuan ALU untuk menghasilkan status ini memastikan bahwa komputer dapat membuat keputusan dinamis berdasarkan hasil komputasi.
Pada komputer generasi awal, ALU adalah unit yang relatif sederhana, hanya menangani operasi 4-bit atau 8-bit. Namun, seiring kemajuan teknologi, kompleksitas ALU meningkat drastis. ALU modern dalam CPU 64-bit mampu menangani operasi floating-point (bilangan desimal) yang jauh lebih kompleks, yang sekarang sering dipisahkan ke dalam unit khusus yang disebut FPU (Floating-Point Unit), meskipun FPU sering kali terintegrasi erat dengan inti ALU utama.
Kemampuan ALU untuk mengeksekusi instruksi secara cepat dan efisien adalah penentu utama kecepatan dan kinerja sebuah prosesor. Optimalisasi desain sirkuit ALU, penggunaan teknik seperti pipelining, dan peningkatan lebar data (dari 32-bit ke 64-bit) terus menjadi fokus utama dalam desain semikonduktor. Intinya, setiap detik Anda menggunakan komputer, dari sekadar mengetik hingga menjalankan simulasi kompleks, sebagian besar waktunya dihabiskan untuk memproses data melalui sirkuit aritmetika dan logika di dalam ALU. Tanpa komponen canggih ini, dunia komputasi yang kita kenal tidak akan ada.