Jumat, 13 Januari 2012
Microprogrammed Control Unit
Istilah microprogram diperkenalkan oleh Maurice Wilkes pada tahun 1950.
Microprogrammed control unit :Merupakan rancangan microprogrammed yang dibentuk dengan serangkaian instruksi mikro yang disebut sebagai program mikro dan disimpan dalam sebuah memori control dalam control unit.
Pada microprogrammed serangkaian instruksi micro disimpan dalam ROM sehingga sebuah instruksi dapat diubah dengan mengubah program mikro yang bersesuaian dengan instruksi tersebut dan kelompok instruksi dapat dikembangkan dengan hanya menyertakan ROM tambahan yang berisi program mikro yang bersesuaian.
Terbagi menjadi dua yaitu:
1. Kontrol vertical
Jenis implementasi dimana sinyal control dikode ke dalam pada bit, kemudian digunakan setelah dikode.
2. Kontrol horizontal
Kontrol dimana setiap bit konrol mengatur 1 operasi gate atau mesin
Komponen-komponen microprogrammed control unit :
3. Instruction Register
Menyimpan instruksi register mesin yang dijalankan
4. Control Store berisi Microprogammed
Untuk semua instruksi mesin
Untuk startup mesin
Untuk pemrosesan interrupt
5. Address Computing Circuiting
Menentukan alamat control store dari mikroinstruksi berikutnya yang akan dijalankan
6. Microprogrammed Counter
Menyimpan alamat dari mikroinstruksi berikutnya
7. Microinstruction Buffer
Menyimpan mikroinstruksi tersebut selama dieksekusi
8. Microinstruction decoder
Menghasilkan dan mengeluarkan mikroorder yang didasarkan pada mikroinstruksi dan opcode instruksi yang akan dijalankan
Implementasi
1. Seluruh control unit dapat membangkitkan sekumpulan sinyal kontrol
2. Tiap saluran kontrol tersebut dalam keadaan on atau off
3. Kondisi tersebut direpresentasikan oleh digit biner untuk masing-masing saluran kontrolnya
4. Terdapat control word untuk setiap operasi mikro
5. Memiliki sejumlah control words untuk tiap instruksi mesin
6. Menambahkan field alamat untuk menjelaskan microinstruction selanjutnya untuk menspesifikasikan kondisi
Control Unit
Control Unit adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan/kendali/control terhadap operasi yang dilakukan di bagian ALU. Output dari control unit ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut.
Pada awal-awal desain computer, control unit didimplementasikan sebagai ad-hoc logic yang sulit untuk didesain. Sekarang, control unit diimplmentasikan sebagai sebuah microprogram yang disimpan dalam control store.
Beberapa word dari microprogram dipilih oleh microsequencer dan bit yang dating dari word-word tersebut akan secara langsung mengontrol bagian-bagian yang berbeda dari perangkat tersebut.
Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing dengan control unit sebagai pemantaunya.
Tugas dari control unit adalah :
1. Mengatur dan mengendalikan perangkat I/O device
2. Mengambil instruksi-instruksi dari memori utama
3. Mengambil data dari memori utama kalu diperlukan oleh proses
4. Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika saat mengawasi kerja
5. Menyimpan hasil proses ke memori utama
Jenis sinyal control :
n Clock (satu instruksi operasi mikro persiklus clock)
n Instruction Register (Opcode setiap instruksi dan menentukan instuksi mikro yang akan dilakukan)
n Tags (Menunjukkan status CPU dan hasil dari operasi sebelumnya)
n Pada BUS Kendali (Interupsi dan Sinyal Acknowledgment)
n Pada Ouput dalam CPU (Pergerakan Data dan Mengaktifkan fungsi Tertentu)
n Melalui BUS Kendali (Ke memori dan Ke I/O)
Jenis control unit :
1. Control unit microprogrammed
Dikenalkan oleh Maurice Wilkes sebagai level menengah untuk mengeksekusi instruksi computer. Microprogram disusun dari urutan-urutan microinstructions dan disimpan pada control memori special. Keuntungannya adalah strukturnya yang sederhana.
2. Control unit hard-wired
Pada saat control unit masih berupa ad-hoc logic control unit dapat dianggap sebagai bagian utama dari computer dan yang membantu computer untuk menyelesaikan tugasnya dengan tepat. Pada saat set instruksi dimodifikasi atau diubah perlu untuk mengubbah susunan kabelnya juga.
Single-Cycle Control Unit
Proses pada control unit ini terjadi dalam satu clock cycle yang berarti 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.
Terdapat dua bagian pada control unit ini yaitu :
1. Proses mendecode opcode untuk mengelompokkannya menjadi 4 macam instruksi
2. Pemberian sinyal control berdasarkan jenis instruksinya
Multi-Cycle Control Unit
Dibandingkan dengan single-cycle, multi-cycle memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi Boolean dari masing-masing output control unit dapat ditentukan. Masing-masing akan menjadi fungsi dari 10 buah input logic. Pada cycle ini sinyal control tidak lagi ditentukan dengan melihat pada bit-bit instruksinya. Bit-bit opcode memberitahukan operasi apa yang selanjutnya akan dijalankan oleh CPU.
Minggu, 01 Januari 2012
Superscalar
- Superscalar adalah arsitektur prosessor yang memungkinkan eksekusi yang bersamaan (parallel) dari instruksi yang banyak pada tahap pipeline yang sama sebaik tahap pipeline yang lain.
- Superscalar mampu menjalankan Instruction Level Parallelism dengan satu prosesor. Superscalar dapat diaplikasikan di RISC dan CISC, tapi pada umumnya RISC.
- Superscalar prosessor
o Memproses lebih dari satu instruksi per clock cycle
o Sangat dimungkinkan untuk memisahkan siklus fetch and execute
o Memiliki Buffers pada fase antara proses fetch and decode
o Memiliki unit eksekusi yang Parallel
- Cara kerja superscalar
o Superscalar dapat mengeksekusi instruksi 1 (I1) dan instruksi 2 (I2) secara pararel dengan syarat:
§ Keduanya instruksi yang sederhana
§ I1 tidak melakukan proses jump
§ Tujuan (destination) dari I1 bukan sumber (source) dari I2
§ Tujuan (destination) dari I1 bukan tujuan (destination) dari I2
o Jika kondisi diatas tidak dapat dipenuhi:
§ I1 melakukan proses U-pipe
§ I2 dijalankan di cycle berikutnya
- Teknik dalam superscalar
Branch prediction
• Program yang terdiri dari kelompok perintah bercabang sering digunakan dalam pemrograman.
• Pada CPU yang mendukung perintah pencabangan, CPU membutuhkan cukup banyak clock cycle, mengingat CPU menempatkan semuanya pada pipeline dan menemukan perintah berikutnya yang akan dieksekusinya.
• Sirkuit untuk branch prediction melakukan pekerjaan ini bekerja sama dengan pipeline, yang dilakukan sebelum proses di ALU dilaksanakan, dan memperkirakan hasil dari pencabangan tersebut.
Speculative execution
• CPU akan menggunakan melakukan perhitungan pada pipeline yang berbeda berdasarkan kemungkinan yang diperkirakan oleh komputer.
o Jika kemungkinan yang dilakukan oleh komputer tepat, maka hasilnya sudah bisa diambil langsung dan tinggal melanjutkan perintah berikutnya.
o Jika kemungkinan yang diperkirakan oleh komputer tidak tepat, maka akan dilaksanakan kemungkinan lain sesuai dengan logika instruksi tersebut.
Langganan:
Postingan (Atom)