Sebelum membahas lebih detail mengenai
ALU dan CU, tentunya yang sangat berkaitan dengan keduanya adalah CPU.
Central Processing Unit (CPU) adalah bagian dari komputer yang berupa
perangkat keras (hardware) yang merupakan pusat kendali dari sistem
komputer dan mengkoordinasi semua kegiatan yang ada. Agar semua
terkoordinir dengan baik, harus ada interaksi antara peralatan satu
dengan yang lain agar kegiatan berjalan dengan baik. Fungsi utama dari
CPU yaitu melakukan operasi aritmatika dan logika terhadap data yang
diambil dari memori atau dari informasi yang dimasukkan melalui
beberapa perangkat keras, seperti keyboard maupun mouse. CPU tentunya
memiliki komponen-komponen yang menyusunnya. ALU dan CU merupakan
komponen dari CPU.
ALU (Arithmetic Logic Unit)
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
adalah unit yang bertugas untuk melakukan operasi aritmetika dan operasi
logika berdasar instruksi yang ditentukan. ALU sendiri memiliki
berbagai komponen elektronika didalamnya, yaitu berupa sekumpulan
transistor yang dikenal dengan nama logic gate. Logic gate inilah yang
berfungsi untuk melaksanakan operasi aritmatika dan operasi logika.
Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan,
sedangkan contoh operasi logika adalah logika AND dan OR. ALU sering di
sebut mesin bahasa karena bagian ini ALU terdiri dari dua
bagian, yaitu unit arithmetika dan unit logika boolean yang
masing-masing memiliki spesifikasi tugas tersendiri.
Tugas utama dari ALU adalah melakukan
semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan
instruksi program. ALU melakukan semua operasi aritmatika dengan dasar
penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.
Tugas lain dari ALU adalah melakukan
keputusan dari suatu operasi logika sesuai dengan instruksi program.
Operasi logika meliputi perbandingan dua operand dengan menggunakan
operator logika tertentu 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 (>=)
(sumber: Buku Pengenalan Komputer, Hal 154-155, karangan Prof.Dr.Jogiyanto H.M, M.B.A.,Akt.)
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.
CU (Control Unit)
Unit kontrol (bahasa Inggris: Control
Unit – CU) adalah salah satu bagian dari CPU yang bertugas untuk
memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di
bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Tanggung
jawab dari unit kontrol adalah mengambil intruksi-intruksi dari memori
utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk
perhitungan aritmatika atau perbandingan logika, maka unit kendali akan
mengirim instruksi tersebut ke ALU. Hasil dari pengolahan data dibawa
oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya
akan disajikan ke alat output. Output dari CU ini akan mengatur
aktivitas dari bagian lainnya dari perangkat CPU tersebut.
Pada awal-awal desain komputer, CU
diimplementasikan sebagai ad-hoc logic yang susah untuk didesain.
Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan
di dalam tempat penyimpanan kontrol (control store). Beberapa word dari
microprogram dipilih oleh microsequencer dan bit yang datang dari
word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda
dari perangkat tersebut, termasuk diantaranya adalah register, ALU,
register instruksi, bus dan peralatan input dan output di luar chip.
Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya
masing-masing, dengan CU sebagai pemantaunya (supervisor).
Tugas dari CU adalah sebagai berikut:
- Mengatur dan mengendalikan alat-alat input dan output.
- Mengambil instruksi-instruksi dari memori utama.
- Mengambil data dari memori utama kalau diperlukan oleh proses.
- Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.
- Menyimpan hasil proses ke memori utama.
Macam-macam CU (Control Unit) :
Single-Cycle CU
Proses di CU ini hanya terjadi dalam satu clock cycle, artinya setiap instruksi ada pada satu cycle, maka dari itu tidak memerlukan state. Dengan demikian fungsi boolean masing-masing control linehanya merupakan fungsi dari opcode saja. Clock cycle harus mempunyai panjang yang sama untuk setiap jenis instruksi. Ada dua bagian pada unit kontrol ini, yaitu proses men-decode opcode untuk
mengelompokkannya menjadi 4 macam instruksi (yaitu di gerbang AND), dan
pemberian sinyal kontrol berdasarkan jenis instruksinya (yaitu gerbang
OR). Keempat jenis instruksi adalah “R-format” (berhubungan dengan
register), “lw” (membaca memori), “sw” (menulis ke memori), dan “beq” (branching).
Sinyal kontrol yang dihasilkan bergantung pada jenis instruksinya.
Misalnya jika melibatkan memori ”R-format” atau ”lw” maka akan sinyal
”Regwrite” akan aktif. Hal lain jika melibatkan memori “lw” atau “sw”
maka akan diberi sinyal kontrol ke ALU, yaitu “ALUSrc”. Desain single-cycle ini lebih dapat bekerja dengan baik dan benar tetapi cycle ini tidak efisien.
Multi-Cycle CU
Berbeda dengan unit kontrol yang single-cycle, unit kontrol yang multi-cycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi boolean dari masing-masing output control line dapat ditentukan. Masing-masingnya akan menjadi fungsi dari 10 buah input logic. Jadi akan terdapat banyak fungsi boolean, dan masing-masingnya tidak sederhana. Pada cycle ini, sinyal kontrol tidak lagi ditentukan dengan melihat pada bit-bit instruksinya. Bit-bit opcode memberitahukan operasi apa yang selanjutnya akan dijalankan CPU; bukan instruksi cycle selanjutnya.
sumber :