Sabtu, 03 November 2012

Operasi Unit Kendali ( CU (Control Unit))



Unit kendali (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. 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 di antaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU sebagai pemantaunya (supervisor).
Tugas CU
Tugas dari CU adalah sebagai berikut:
1.     Mengatur dan mengendalikan alat-alat input dan output.
2.     Mengambil instruksi-instruksi dari memori utama.
3.     Mengambil data dari memori utama kalau diperlukan oleh proses.
4.     Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.
5.     Menyimpan hasil proses ke memori utama.
Macam-macam CU
Single-Cycle 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-decodeopcode 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 outputcontrol 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.

Macam register yang digunakan:
  • Register alamat memori (MAR): dihubungkan dengan saluran alamat bus system. MAR menerapkan alamat didalam memori untuk operasi membaca dan menulis.
  • Register buffer memori (MBR): dihubungkan dengan saluran data bus system. MBR berisi nilai yang akan disimpan di memori atau nilai terakhir yang dibaca dari memori.
  • Program counter (PC); menampung alamat instruksi berikutnya yang akan diambil.
  • Register instruksi (IR); menampung instruksi terakhir yang diambil.
Proses tiga langkah karakteristik unit control:
  1. Menentukan elemen dasar prosesor
  2. Menjelaskan operasi mikro yang akan dilakukan prosesor
  3. Menentukan fungsi-fungsi yang harus dilakukan unit control agar menyebabkan pembentukan operasi mikro
Dua tugas dasar unit control:
Pengurutan: unit control menyebabkan prosesor menuju sejumlah operasi mikro dalam urutan yang benar, yang didasarkan pada program yang sedang dieksekusi.
Eksekusi: unit control menyebabkan setiap operasi mikro dilakukan.

Masukan-masukan unit control:

Clock/pewaktu: pewaktu adalah cara unit control dalam menjaga waktunya. Unit control menyebabkan sebuah operasi mikro (atau sejumlah operasi mikro yang bersamaan) dibentuk bagi setiap pulsa waktu. Pulsa ini dikenal sebagai waktu siklus prosesor.

Register instruksi: opcode instruksi saat itu digunakan untuk menentukan operasi mikro mana yang akan dilakukan selama siklus eksekusi.

Flag: flag ini diperlukan oleh unit control untuk menentukan status prosesor dan hasil operasi ALU sebelumnya.

Sinyal control untuk mengontrol bus. Bagian bus control bus system memberikan sinyal-sinyal ke unit control, seperti sinyal-sinyal interupsi dan acknowledgement.

Keluaran-keluaran unit control:
  • Sinyal control didalam prosesor: terdiri dari dua macam: sinyal-sinyal yang menyebabkan data dipindahkan dari register yang satu keregister yang lainnya, dan sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU tertentu.
  • Sinyal control bagi bus control; sinyal ini juga terdiri dari dua macam: sinyal control bagi memori dan sinyal control bagi modu-modul I/O
Terdapat tiga macam sinyal control:

· Sinyal-sinyal yang mengaktifasi fungsi ALU
· Sinyal-sinya yang mengaktifasi alur data
· Sinyal-sinyal pada bus system eksternal atau antar muka eksternal lainnya.

Sinyal control yang dhasilkan oleh unit control menyebabkan terbuka dan tertutupnya gerbanga logika, dihasilkan pada perpindahan data dank e register dan operasi ALU.




Model Unit Control
Unit kontrol menghasilkan signal kontrol yang mengatur komputer. Untuk komputer yang sangat sederhana,unit control ini bisa mengirim microorder,yakni signal individual yang dikirimkan melalui jalur kontrol dedicated,untuk mengontrol komponen dan peralatan individual.
            Yang lebih umum  dilakukan oleh unit control adalah menghasilkan set mikroorder secara serempak dari pada microorder individual.set mikrooder yang dihasilkan oleh unit kontrol pada sekali saat disebut microinstruction.
1. Operasi Mikro
Unit kendali logika ( Control Logic Unit ) bertugas untuk mengatur seluruh aktifitas perangkat keras di dalam komputer.
CLU bertugas untuk :
1. Memfetch suatu instruksi dari memori
2. Memberi kode pada instruksi untuk menentukan operasi mana yang akan dilaksanakan
3. Menentukan sumber dan tujuan data di dalam perpindahan data
4. Mengeksekusi operasi yang dilakukan
            Setelah menginterpretasi kode biner suatu instruksi, CLU menghasilkan serangkaian perintah kendali, yang disebut sebagai instruksi mikro (microinstruction ) atau operasi mikro. 
           
            Instruksi mikro merupakan operasi primitif tingkat rendah yang bertindak secara langsung pada sirkuit logika suatu komputer dan mengatur fungsi-fungsi sebagai berikut :
1. Membuka/menutup suatu gerbang ( gate ) dari sebuah register ke sebuah bus
2. Mentransfer data sepanjang bus
3. Memberi inisial sinyal-sinyal kendali seperti READ, WRITE, SHIFT, CLEAR dan SET
4. Mengirimkan sinyal-sinyal waktu
5. Menunggu sejumlah periode waktu tertentu
6. Menguji bit-bit tertentu dalam sebuah register

2. Perancangan CLU
Terdapat 2 pendekatan dalam perancangan CLU, yaitu :
1. Hardwired atau Random Logic
       Sejumlah gerbang ( gate ), counter dan register saling dihubungkan untuk menghasilkan sinyal-sinyal kendali. Setiap rancangan memerlukan sekelompok peranti logika dan          hubungan yang berbeda-beda.

     2. Microprogrammed Control  
       Dibentuk serangkaian instruksi mikro ( program mikro ) yang disimpan dalam sebuah  memori kendali ( biasanya sebuah ROM ) dalam CLU. Waktu yang diperlukan dan    sinyal  kendali yang dihasilkan didapat dengan menjalankan suatu program mikro
    Microinstruction decoder menghasilkan dan mengeluarkan mikroorder yang di dasarkan  pada mikrointruksi dan op code intruksi yang akan di jalankan .yang terakhir sequncer menyinkronkan aktivitas dari komponen unit kontrol.squencer adalah bagian inti (jantung) dari unit control.dia mempunyai dua mode operasi yang berbeda yaitu:
   
a.       Operasi biasa
Selama operasi biasa (ordinary operation ),squencer menghasilkan  signal kontrol yang mengatur unit kontrol
b.      Start up mesin
Selama start up mesin ,unit kontrol memunculkan dan menandai berbagai macam register


3. Organisasi CLU Microprogrammed

          Instruksi di-fetch kedalam IR dan pengendali mikro menjalankan program mikro yang bersesuaian. Address awal program mikro di-load kedalam CAR(Control Address Register) kemudian memori control mentransfer instruksi mikro pertama ke dalam CBR(Control Buffer Register). 
Dengan memfetch sebuah instruksi mikro dari memori kontrol berarti kita menyatakan sebuah siklus mikro,yaitu waktu di mana instruksi mikro didecode untuk menghasilkan sinyal kendali yang diperlukan untuk menjalankannya. CAR secara normal bertambah 1 pada tiap-tiap pulsa sehingga dapat mengalamati instruksi mikro berikutnya secara berurutan. Namun, perhatikan bahwa rangkaian tersebut dapat diubah oleh kondisi-kondisi yang terjadi di dalam atau di luar CLU, yang mungkin menyebabkan pengendali mikro meningkatkan CAR lebih dari 1. Jika ada operand yang diperlukan untuk suatu instruksi tertentu maka informasi address dalam IR di-decode untuk melengkapi lokasi operand.

Dalam microprogrammmed control terdapat dua jenis format instruksi, yaitu secara :
1. Horizontal
      Satu bit diberikan untuk setiap sinyal logika yang dihasilkan oleh instruksi mikro.Jenis implementasi dimana signal kontrol di kode ke dalam pada bit , kemudian digunakan setelah dikode.

2. Vertikal

Hanya satu operasi mikro yang dipanggil pada suatu waktu. Control dimana setiap bit control mengatur 1 operasi gate atau mesin.

Komponen-Komponen Pokok  Control Unit Microprogrammed
1. Instruction Register
    Menyimpan instruksi register mesin yang dijalankan.
2. Control Store berisi microprogrammed
ü      Untuk semua instruksi mesin.
ü      Untuk startup mesin.
ü      Untuk memprosesan interupt
3. Address Computing Circuiting
    Menentukan alamat Control Store dari mikroinstruksi berikutnya yang akan dijalankan.
4. Microprogrammed Counter
    Menyimpan alamat dari mikroinstruksi berikutnya.
5. Microinstruction Buffer
    Menyimpan mikroinstruksi tersebut selama dieksekusi.
6. Microinstruction Decoder
 Menghasilkan dan mengeluarkan mikroorder yang didasarkan pada mikroinstruksi dan  opcode instruksi yang akan dijalankan


Peralatan pendukung microprogrammmed control adalah :
1. Assembler Mikro
2. Formatter
3. Sistem Pengembangan
4. Simulator Perangkat Keras

4. Kelemahan Pemrograman Mikro
§           Karena waktu akses memori kendali ROM menentukan kecepatan operasi CLU maka kendali microprgrammed mungkin menghasilkan CLU yang lebih lambat dibandingkan dengan kendali hard-wired.
§           Alasannya bahwa waktu yang diperlukan untuk menjalankan suatu instruksi mikro juga mencakup waktu akses ROM, Sedangkan, suatu keterlambatan dalam CLU hard-wired hanya mungkin disebabkan oleh keterlambatan waktu penyebaran melalui perangkat keras, yang relative sangat kecil. (hard-wired digunakan hanya jika system itu tidak terlalu kompleks dan hanya memerlukan beberapa operasi kendali).


5. Keuntungan Pemrograman Mikro
§           Rancangan microprogrammed relative mudah diubah-ubah dan dibetulkan
§           Menyediakan kemampuan diagnostic yang lebih baik dan lebih dapat diandalkan daripada rancangan hard-wired
§           Utilisasi memori utama dalam computer microprogrammed biasanya lebih baik Karena perangkat lunak yang seharusnya menggunakan ruang memori utama justru ditempatkan pada memori kendali
§           Pengembangan ROM lebih lanjut(dalam kaitan dengan harga dan waktu akses) secara lebih jauh justru menguatkan posisi dominant pemrograman mikro, salah satunya dengan menyertakan unit memori ketiga disebut sebagai nano-memory (tambahan bagi memori utama dan memori kendali). Dalam mengerjakan hal ini, mungkin terjadi pertukaran (trade-off) yang menarik antara pemrograman mikro horisontal dan vertikal   




Tidak ada komentar:

Posting Komentar