Langsung ke konten utama

Kendali Mikroprogrammed (Tugas 2)

KENDALI MIKROPROGRAMMED


Istilah program-mikro pertama kali diungkapkan oleh M.V Wilkes pada awal tahun 1950-an ketika dia mengajukan suatu pendekatan baru untuk mengendalikan perancangan unit. Ide ini menarik perhatian banyak ahli dan insinyur komputer pada saat itu, walaupun hal itu tampak tidak realistis karena adanya persyaratan untuk memori kendali yang sangat cepat dan relatif tidak mahal. Situasi ini berubah secara dramatis dengan adanya pengumuman keluarga komputer IBM System/360 pada bulan April 1964. Seluruh model terbesar menyertakan memori kontrol yang cepat dan tidak mahal dan merupakan microprogrammed. Sejak itu, pemrograman mikro menjadi hal yang umum sejalan dengan peningkatan kecepatan dan penurunan harga memori kontrol.

  

     A. Unit Kendali
Unit kendali (bahasa InggrisControl 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 CU 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:
a. Register alamat memori (MAR): dihubungkan dengan saluran alamat bus system. MAR menerapkan alamat didalam memori untuk operasi membaca dan menulis.
b. 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.
c. Program counter (PC); menampung alamat instruksi berikutnya yang akan diambil.
d. 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:
a. 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.
b. 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.


     B. 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.


     C. FORMAT INSTRUKSI MIKRO

Pada dasarnya ada dua jenis format instruksi-mikro: horisontal dan vertikal. Pada format instruksi-mikro horisontal, satu bit diberikan untuk setiap sinyal logika yang dapat dihasilkan oleh instruksi-mikro. Dengan demikian, jika dibutuhkan sejumlah K sinyal kendali yang berbeda maka dibutuhkan instruksi-mikro dengan word sepanjang K bit. Untuk menghasilkan suatu sinyal tertentu, bit yang bersesuaian dalam instruksi mikro diatur menjadi 1, kehadiran suatu sinyal kendali diindikasikan dengan menempatkan sebuah nol pada posisi bit yang semestinya. Pendekatan ini mempunyai keuntungan bahwa kita dapat menghasilkan sebanyak mungkin sinyal kendali yang diperlukan secara beruntun, yang memungkinkan operasi yang sangat cepat.

Namun demikian kebanyakan operasi-mikro adalah mutual ekslusif dan tidak pernah dipanggil secara bersamaan. Karena itu, kita dapat membagi mereka ke dalam kelompok-kelompok dan menggunakan sejumlah bit (field) untuk memberi kode sekumpulan intruksi-mikro yang mutual ekslusif. Kemudian digunakan suatu dekoder untuk memilih operasi mikro tertentu yang akan dipanggil. Jika terbawa ke dalam ekstrem (hanya satu field) maka proses mengode (coding) dan mendekode (decoding) menghasilkan suatu format instruksi-mikro vertikal, dimana hanya ada satu operasi-mikro yang dipanggil pada suatu waktu. Karena itu instruksi-mikro vertikal menyerupai format sebuah interuksi-makro dan terdiri atas suatu kode operasi tunggal, disebut sebagai opecode mikro, satu operand atau lebih, dan berberapa field lain (misalnya untuk percabangan kondisional).


     D. Komponen-Komponen Pokok  Control Unit Microprogrammed

1. Instruction Register                                                                                                                  
Menyimpan instruksi register mesin yang dijalankan.
2. Control Store berisi microprogrammed                                                                                  
a. Untuk semua instruksi mesin                                                                                                
b. Untuk startup mesin.                                                                                                              
c. 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

Komentar

Postingan populer dari blog ini

Representasi Floating Point & Aritmatika Floating-Point (Tugas 1)

Bilangan Floating Point             Notasi floating-point dapat digunakan untuk merepresentasikan baik bilangan yang sangat besar (|N| » 0), bilangan yang sangat kecil atau dekat dengan nol (|N| « 1), maupun bilangan yang terdiri dari keduanya. Floating-point membuat proses operasi aritmatika menjadi relatif lebih mudah. Floating-point merepresentasi bilangan nyata dalam bentuk persamaan: N = m × R e Dimana: m merupakan bagian bilangan pecahan yang biasa disebut significand atau mantissa e  adalah bagian bilangan bulat yang biasa disebut exponent R merupakan basis dari suatu sistem bilangan Bagian bilangan pecahan m merupakan  p -digit bilangan dengan bentuk (±d.dddd ... dd), dimana semua digit d adalah bilangan bulat antara 0 dan R-1. Jika digit terdepan (sebelak kiri) dari m bukan angka nol, maka bilangan ini dapat dikatakan sebagai  normalized . Format Bilangan Floating-Point Format bi...

ALAT UKUT ANALOG DAN DIGITAL

Multimeter  atau sering juga disebut dengan istilah  multitester  merupakan salah satu toolkit penting bagi para praktisi elektronika. Multimeter adalah gabungan dari beberapa alat ukur elektronik yang dikemas dalam satu kemasan. Pada umumnya setiap “ multimeter ” minimal memiliki 3 fungsi ukur yaitu sebagai alat ukur arus ( Ampere Meter ), alat ukur tegangan ( Volt Meter ) dan alaut ukur resistansi ( Ohm Meter ). Karena 3 fungsi ukur tersebut selalu dimiliki oleh  multimeter  /  multitester  maka sering juga disebut sebagai  AVO meter . Akan tetapi sesuai perkembangan teknologi maka  multimeter  pada saat ini ada yang telah memiliki fungsi lain sebagai alut ukur kapasitansi kapasitor, sebagai alat ukur frekuensi dan sebagai alat ukur faktor penguatan transistor. Jenis Multimeter Berdasarkan tampilan display atau meter yang digunakan maka multimeter /multitester dibedakan menjadi 2 jenis yaitu : Multime...

Evolusi dan Klasifikasi Jaringan Komputer (TUGAS 4)

EVOLUSI JARINGAN KOMPUTER Konsep jaringan komputer lahir pada tahun 1940-an di Amerika dari sebuah proyek pengembangan komputer MODEL I di laboratorium Bell dan group riset Harvard University yang dipimpin profesor H. Aiken. Pada mulanya proyek tersebut hanyalah ingin memanfaatkan sebuah perangkat komputer yang harus dipakai bersama. Untuk mengerjakan beberapa proses tanpa banyak membuang waktu kosong dibuatlah proses beruntun (Batch Processing), sehingga beberapa program bisa dijalankan dalam sebuah komputer dengan kaidah antrian. Ditahun 1950-an ketika jenis komputer mulai membesar sampai terciptanya super komputer, maka sebuah komputer mesti melayani beberapa terminal. Untuk itu ditemukan konsep distribusi proses berdasarkan waktu yang dikenal dengan nama TSS (Time Sharing System), maka untuk pertama kali bentuk jaringan (network) komputer diaplikasikan. Pada sistem TSS beberapa terminal terhubung secara seri ke sebuah host komputer. Dalam proses TSS mulai nampak perpadua...