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