Cara kerja Central Processing Unit (CPU) Pada Control
Unit
Ketika sebuah komputer pertama kali
diaktifkan power-nya, maka komputer 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 :
ü subjek
(komputer)
ü verb (suatu
kode operasi yang mengindikasikan pekerjaan apa yang akan dilaksanakan)
ü objek
(operands) yang mengidentifikasikan nilai data atau lokasi memory
suatu 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.Untuk lebih jelasnya, seperti di bawah ini:
Setiap control signal yang ada
sebenarnya berfungsi sebagai switch untuk menghubungkan beberapa register (MAR,
MBR, PC, IR) serta komponen lainnya seperti ALU dan setiap micro operation
diwakilkan oleh satu control signal. Micro operation bekerja antar register
untuk membentuk suatu sub cycle. Sebagai contoh sederhana dari control signal
seperti bagan di bawah ini :
Input untuk control unit yaitu IR, flags, clock, dan control bus signal. Flags dan control bus signal memiliki representasi secara langsung dan signifikan terhadap operasi bila dibandingkan dengan IR dan clock. Untuk IR sendiri, control unit akan menggunakan operation code yang terdapat pada IR. Setiap operation code menandakan setiap proses yang berbeda. Proses ini dapat disederhanakan dengan digunakannya decoder. Decoder memiliki n input dan 2n output yang akan merepresentasikan opcode. Jadi input dari IR akan diterjemakan oleh decoder sebelum menjadi input ke control unit.
Clock digunakan untuk mengukur durasi dari micro operation. Untuk mengantisipasi propagasi sinyal yang dikirimkan melalui data paths dan rangkaian prosesor, maka periode dari setiap clock seharusnya cukup besar. Untuk mengatasinya digunakan counter yang dapat memberikan clock input bagi control signal yang berbeda, namun pada akhir instruction cycle, contol unit harus mengembalikan ke counter untuk menginisialisasikan periode awal.
\
Untuk ftech cycle, micro operation pertama adalah
MAR ç (PC) yang diwakilkan oleh control signal C2. Selanjutnya
MBR ç (memory) diwakilkan C5 dan seterusnya. Pada hardwire
implementation control unit sebagai combinatorial circuit yang dibuat
berdasarkan control signal yang akan dikeluarkan. Jadi untuk setiap control
signal memiliki rangkaian logika tertentu pada control unit yang dapat
menghasilkan control signal yang dimaksud. Secara umum untuk metode ini
digunakan PLA (progammable logic array) untuk merepresentasikan control signal,
seperti gambar di bawah ini :
Input untuk control unit yaitu IR, flags, clock, dan control bus signal. Flags dan control bus signal memiliki representasi secara langsung dan signifikan terhadap operasi bila dibandingkan dengan IR dan clock. Untuk IR sendiri, control unit akan menggunakan operation code yang terdapat pada IR. Setiap operation code menandakan setiap proses yang berbeda. Proses ini dapat disederhanakan dengan digunakannya decoder. Decoder memiliki n input dan 2n output yang akan merepresentasikan opcode. Jadi input dari IR akan diterjemakan oleh decoder sebelum menjadi input ke control unit.
Clock digunakan untuk mengukur durasi dari micro operation. Untuk mengantisipasi propagasi sinyal yang dikirimkan melalui data paths dan rangkaian prosesor, maka periode dari setiap clock seharusnya cukup besar. Untuk mengatasinya digunakan counter yang dapat memberikan clock input bagi control signal yang berbeda, namun pada akhir instruction cycle, contol unit harus mengembalikan ke counter untuk menginisialisasikan periode awal.
Setiap
control signal direptresentasikan dengan fungsi Boolean lalu dibuatlah
combinatorial circuit. Contohnya untuk C5 [MBR ç (memory)] digunakan di
fetch cycle dan indirect cycle. Masing-masing sub cycle direpresentasikan
dengan 2 bit, P dan Q. maka untuk C5 : C5 = ~P.~Q. T2 + ~P.Q.T2 >> T2
adalah clock yang digunakan.Setelah itu juga harus diperhatikan karena setiap operasi untuk execute cycle
tidak sama. Tetapi untuk memudahkan dalam contoh ini execute cycle membaca LDA
dari memory, sehingga secara lengkap : C5 = ~P.~Q.T2 + ~P.Q.T2 + P.~Q.(LDA).T2.
Berbeda
dengan sebelumnya, μ programmed implementation tidak menggunakan combinatorial
circuir namun menggunakan μ instruction yang disimpan pada control memory.
Proses untuk menghasilkan control signal dimulai dengan seqencing logic yang
memberi perintah READ kepada contol memory. Kemudian dilanjutkan dengan
pemindahan cari CAR (control address register) ke CBR (contol buffer register)
isi alamat yang ditujukan oleh control memry. Setelah itu CBR mengeluarkan
control signal yang dituju dan alamat selanjutnya ke sequencing logic.
Terakhir, sequencing logic akan memberikan alamat baru ke CAR berdasarkan
informasi dari CBR dan ALU.
Referensi :
http://mbahasilmu.blogspot.co.id/2016/06/fungsi-control-unit-dalam-cpu.html\