Unit kendali: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Dare2Leap (bicara | kontrib)
k Akmaie Ajam memindahkan halaman Unit Kendali ke Unit kendali dengan menimpa pengalihan lama: Memperbaiki kesalahan penggunaan huruf kapital
Dare2Leap (bicara | kontrib)
k Macam-macam CU: Memperbaiki kesalahan penggunaan huruf kapital
Baris 15:
 
== Macam-macam CU ==
=== Single-Cyclecycle CU ===
Proses di CUl 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 line'' hanya 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 dapat bekerja dengan baik dan benar tetapi ''cycle'' ini tidak efisien.
 
=== Multi-Cyclecycle 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.