Cara Kerja Unit Kontrol Fungsi Unit control

7 Pag e 7 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. 2. 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.

1.2 Cara Kerja Unit Kontrol

Ketika sebuah komputer pertama kali diaktifkan power-nya, maka computer tersebut menjalankan operasi bootstrap. Operasi ini akan membaca sebuah instruksi dari suatu lokasi memory yang telah diketahui sebelumnya dan mentransfer instruksi tersebut ke control unit untuk dieksekusi. Instruksi-intruksi dibaca dari memory dan dieksekusi sesuai dengan urutan penyimpanannya. Program counter dari suatu computer menyediakan suatu cara untuk menyimpan lokasi instruksi berikutnya. Urutan eksekusi berubah dengan memindah lokasi intruksi baru ke program counter sebelum pembacaan fetch instruksi dikerjakan. Sebuah intruksi merupakan kalimat imperatif pendek yang sudah dapat menjelaskan makna dari perintah tersebut. Suatu intruksi terdiri dari : 1. subjek komputernya 2. verb suatu kode operasi yang mengindikasikan pekerjaan apa yang akan dilaksanakan 8 Pag e 8 3. objek operands yang mengidentifikasikan nilai data atau lokasi memory. Ketika intruksi-intruksi diterima oleh Control Unit, operation code akan mengaktifkan urutan logic untuk mengeksekusi intruksi-intruksi tersebut. Satu eksekusi program terdiri dari beberapa instruction cycle yang menjadi komponen penyusun dari program tersebut. Sedangkan untuk setiap instruction cycle terdiri dari beberapa sub cycle lagi seperti ftech cycle, indirect cycle, execute cucle, dan interrupt cycle. Setiap sub cycle ini disusun dari beberapa perintah dasar yang disebut micro operation.

1.3 Fungsi Unit control

Unit control bertanggung jawab pada pengoordinasian aktivitas dalam computer. Gambar 6.1 memberikan gambaran terhadap keseluruhan fungsiperanan unit control. Sinyal-sinyal control disampaikanoleh unit control untuk mencapai hardwarelogic dalam prosesor dan unit-unit eksternal lainnya. Sinyal-sinyal yang memulai operasi-operasi dalam computer. Mikrooperasi- mikrooperasi dilaksanakan bila sinyal control yang relevan mengaktifkan titik-titik control. Memori utama dikontrol oleh dua sinyal control: memory read dan memory write. Semua pengontrol IO menerima sinyal control yang terbanyak. Bagaimana unit control mengetahui sinyal control yang akan disampaikan? Dia mempunyai semacam daftar tugas yang diberitahu oleh program apa yang harus dikerjakandieksekusi. Gambar 6.1 fungsi-fungsi unit control 9 Pag e 9 Pada table 6.1 diberikan hubungan jenis-jenis instruksi dan aksi-aksi CPU. Prosesor mengeksekusi program dengan melakukan siklus-siklus instruksi seperti yang ditunjukkan pada gambar 6.2. Setiap siklus instruksi terdiri atas beberapa langkah seperti yang ditunjukkan pada gambar 6.3. Dua langkah pertamapengambilan instruksi dan decode instruksi diperlukan oleh semua instruksi. Ada tidaknya sisa langkah berikutnya adalah bergantung pada masing-masing instruksi. Hal ini dijelaskan pada table 6.2, 6.3 dan 6.4 yang memberikan tindakan-tindakan yang diperlukan pada beberapa instruksi yang dikenal. NO TIPE INSTRUKSI TINDAKAN CPU KET 1 Transfer data Salin informasi; membaca dari sumber dan menulisnya ke target Sumber atau target atau keduanya bisa dari memori 2 Aritmatika Melakukan operasi ALU yang diperlukan dan men-set kode kondisi dan flag Operand-operand harus dibawa ke ALU jika tidak tersedia dalam ALU 3 Logika Sama dengan di atas Sama dengan di atas 4 Control Program Program counter diperbaharui Pencabangan 5 IO Memasukkan atau mengeluarkan data; melakukan siklus baca IO atau siklus bus tulis IO Melakukan transfer data 10 Pag e 10 Gambar 6.2 Siklus instruksi Fungsi unit control secara keseluruhan dapat diringkaskan sebagai berikut : 1. Mengambilmembaca instruksi 2. Mendekodeinterprestasi opcode dan mode pengalamatan 3. Membangkitkan sinyal control yang diperlukan sesuai dengan instruksiopcode dan mode pengalamatan dalam urutan waktu yang tepat agar mikrooperasi-mikrooperasi yang relevan dikerjakan 4. Kembali ke langkah 1 untuk instruksi selanjutnya Tabel 6.2 langkah-langkah instruksi ADD, NOOP, HALT, dan SKIP NO ADD NOOP HALT SKIP 1 Ambil instruksi Ambil instruksi Ambil instruksi Ambil instruksi 2 Dekode instruksi Dekode instruksi Dekode instruksi Dekode instruksi 3 Kalkulasi alamat operand jika diperlakukan Ke siklus berikutnya 1. Reset flip- flop RUN 2. Ke siklus berikutnya 1. Increment Pc 2. Ke siklus berikutnya 4 Ambil operand - - - 5 Eksekusi operasi - - - 6 1. Simpan hasil - - - 11 Pag e 11 2. Ke siklus berikutnya Tabel 6.3 langkah-langkah instruksi SKIPIFP, BUN,BZ dan BRAS NO Skip positive BUN BZ Branch and save 1 Ambil instruksi Ambil instruksi Ambil instruksi Ambil instruksi 2 Dekode instruksi Dekode instruksi Dekode instruksi Dekode instruksi 3 1. Jika tanda zero, increment PC 2. Ke siklus berikutnya 1. Alamat branch disalin ke PC 2. Ke siklus berikutnya 1. Jika akumulator zero, alamat branch disalin ke PC 2. Ke siklus berikutnya - 4 - operand ke PC - - Load alamat 5 - - - 1.Increment PC 2.Ke siklus berikutnya Tabel 6.4 langkah-langkah instruksi LDA, STA, dan AND NO LDA STA AND 1 Ambil instruksi Ambil instruksi Ambil instruksi 2 Dekode instruksi Dekode instruksi Dekode instruksi 3 Ambil operand dari memori Simpan isi akumulator dalam lokasi memori Ambil operand 12 Pag e 12 4 1. Load oerand dalam akumulator 2. Ke siklus berikutnya Ke siklus berikutnya Lakukan operasiAND 5 - - 1.Simpan hasil 2.ke hasil berikutnya Mode pengalamatan memengaruhi seberapa cepat suatu siklus instruksi selesai. Gambar 6.4 menunjukkan tiga kasus instruksi ADD yang berbeda. Selain pada sikus instruksi regular, unit control juga melakukan urutan-urutan tugas khusus tertentu seperti berikut ini : 1. Urutan reset pada pengindraan sinyal reset 2. Pengenalan interupsi dan pencabangan ke ISR Interupt service routine 3. Penanganan situasi abnormal seperti pengenalan kegagalan hardware yang serius dan pengambilan aksi yangtepat seperti shutdown atau pengecekan mesin. Gambar 6.4 variasi pada siklus instruksi ADD

1.4 Urutan Reset