Pemrograman Mikro
PENGERTIAN
:
Kendali
microprogrammed menawarkan suatu pendekatan yang lebih terstruktur untuk
merancang unit kendali logika (CLU) dibandingkan dengan kendali hard-wired.
Rancangan microprogrammed relatif mudah diubah-ubah dan dibetulkan,menawarkan
kemampuan diagnostik yang lebih baik dan lebih dapat diandalkan daripada
rancangan hard-wired. Karena waktu akses memori kendali ROM menentukan
kecepatan operasi CLU maka kendali microprogrammed mungkin menghasilkan CLU
yang lebih lambat dibandingkan dengan kendali hard-wired.Alasannya adalah bahwa
waktu yang diperlukan untuk menjalankan suatu instruksi-mikro juga harus
mencakup waktu akses ROM. Sebaliknya, suatu keterlambatan dalam CLU hard-wired
hanya mungkin disebabkan oleh keterlambatan waktu penyebaran melalui perangkat
keras, yang relatif sangat kecil. Bagaimanapun juga, ilmu ekonomi kelihatannya
lebih menyukai kendali hard-wired hanya jika sistem itu tidak terlalu kompleks
dan hanya memerlukan beberapa operasi kendali.
Komputer
mikro (Inggris: microcomputer) adalah sebuah kelas komputer yang menggunakan
mikroprosesor sebagai CPU utamanya. Komputer mikro juga dikenal sebagai
Personal Computer (PC), Home Computer, atau Small-business Computer. Komputer
mikro yang diletakkan di atas meja kerja dinamakan dengan desktop, sedangkan
yang dapat dijinjing (portabel) dinamakan dengan Laptop, karena sering
diletakkan di atas paha. Ketika komputer mikro pertama kali muncul ke pasaran,
komputer jenis ini dianggap sebagai perangkat yang hanya digunakan oleh satu
orang saja, yang mampu menangani informasi yang berukuran 4-bit, 8-bit, atau
16-bit (dibandingkan dengan minicomputer atau mainframe yang mampu menangani
informasi lebih dari 32-bit) pada satu waktunya. Pengembangan lebih lanjut,
menjadikan klasifikasi antara mainframe, minicomputer dan komputer mikro
menjadi tidak relevan lagi, karena komputer mikro yang baru mampu menangani
informasi 32-bit, atau 64-bit dalam satu waktunya, sama seperti halnya
mainframe atau minicomputer. Selain itu, komputer mikro juga sekarang telah mendukung
banyak pengguna dalam satu waktunya. komputer mikro didesain untuk digunakan di
dalam rumah, sekolah, atau perkantoran.
Lihat juga Mainframe, Minicomputer
Berikut ini adalah beberapa jenis komputer mikro yang pernah beredar (Daftar
ini tidak lengkap):* Altair 8800
* Tandy TRS-80
* IBM PC/kompatibel (Desktop)
* IBM PC/kompatibel (Laptop)
* Apple I
* Apple II
* Apple Lisa
* Apple Macintosh
* Apple iMac
* Apple MacMini
* Apple PowerMac
* Apple PowerBook
* Apple iBook
* Apple MacBook
Pemrograman
mikro adalah proses penerjemahan
dan eksekusi dari setiap instruksi prosesor menjadi urutan instruksi yang lebih
kecil mikro. Ini untuk mengatakan bahwa mikro-program adalah proses penulisan
kode mikro untuk prosesor-mikro. Ini mendefinisikan fungsi prosesor-mikro
sambil mengeksekusi instruksi mesin-bahasa. Juga dikenal sebagai mikro-coding,
konsep pemrograman mikro pertama kali dikembangkan pada tahun 1951 oleh Maurice
Wilkes. Ini adalah teknik yang digunakan dalam menerapkan sebuah Unit Kontrol.
Micro-kode atau mikro-program dikembangkan sebagai instruksi set CPU. Dengan
demikian, insinyur desain CPU menulis mikro-program untuk mengimplementasikan
set instruksi mesin. Dalam proses pengembangan produk perangkat lunak, ini-kode
mikro dapat ditulis atau diubah beberapa kali bahkan selama tahap desain nanti.
fleksibilitas seperti di affords mikro-program besar kebebasan untuk merancang
insinyur untuk mengubah dan / atau datang dengan set instruksi yang lebih
kompleks dan dengan demikian sebagian besar memfasilitasi desain CPU fleksibel.
Pada beberapa komputer, mikro-kode yang disimpan dalam ROM dan karenanya tidak
dapat dimodifikasi. Tapi di komputer yang lebih besar, mereka disimpan dalam
EPROM dan, dengan demikian, dapat digantikan dengan versi segar atau yang lebih
baru. Konsep pemrograman mikro juga digunakan dalam pengembangan perangkat
lunak online.
Dalam komputer, pipeline adalah satu set dari elemen pemrosesan data dihubungkan
secara seri, sehingga hasil keluaran dari satu elemen adalah masukkan bagi
elemen berikutnya. Elemen - elemen dari sebuah pipeline sering dijalankan
secara paralel. Contoh pipeline dalam komputer adalah: pipeline instruksi.
Biasanya digunakan di unit pemroses sentral agar istruksi - instruksi dapat
dijalankan dalam satu waktu dalam satu sirkuit digital. Biasanya sirkuitnya
dibagi dalam beberapa tahap, termasuk decode instruksi, aritmatika dan tahap -
tahap penjemputan data dari register, dimana setiap tahap melakukan satu
instruksi dalam satu waktu. pipeline grafis, sering ditemukan dalam sebagian
besar unit pemrosesan grafis, yang terdiri dari berbagai unit aritmatik atau
unit pemroses sentral lengkap, yang menerapkan berbagai macam tahap dari
operasi render yang umum (seperti proyeksi perspektif, kalkulasi warna dan
pencahayaan, primitif gambar, dan sebagainya). pipeline perangkat lunak. Dimana
keluaran dari suatu program langsung dipakai oleh program lain sebagai masukkan
sehingga dapat langsung diproses.
Pemrosesan Paralel
Pemrosesan paralel (parallel
processing) adalah penggunakan lebih
dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya,
parallel processing membuat program berjalan lebih cepat karena semakin banyak
CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program
sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di
antaranya. Komputasi paralel adalah salah satu teknik melakukan komputasi secara
bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.
Biasanyadiperlukan saat kapasitas yang diperlukan sangat besar, baik karena
harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi
yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan
infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan
dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu
masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa
disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan
antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat
pemrograman paralel untuk merealisasikan komputasi.
Instruksi-mikro merupakan operasi primitif tingkat
rendah yang bertindak secara langsung pada sirkuit logika suatu komputer.
Mereka memerinci fungsi-fungsi (sinyal-sinyal) seperti berikut:
1. Membuka/menutup suatu gerbang (gate)
dari sebuah register ke sebuah BUS.
2. Mengirim data sepanjang sebuah 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.
Ada dua pendekatan pokok bagi perancangan sebuah CLU
yaitu: rancangan hard-wire (atau logika acak) dan rancangan microprogrammed.
Pada
pendekatan hard-wired sejumlah gerbang (gate), counter,
dan register saling dihubungkan untuk menghasilkan
sinyal-sinyal kendali, setiap rancangan memerlukan piranti logika dan hubungan
yang berbeda-beda. Pada pendekatan microprogrammed untuk
setiap instruksi-mikro disebut sebagai sebuah program-mikro, untuk setiap
instruksi-mikro dan disimpan dalam sebuah memori kendali (biasanya ROM) dalam
CLU. Kemudian waktu yang diperlukan dan kendali dihasilkan dengan menjalankan
suatu program-mikro untuk masing-masing instruksi-makro.
KENDALI HARD-WIRED
Sewaktu
sebuah instruksi ditempatkan dalam register instruksi (IR atau Instruction
Register), CLU mendekode instruksi itu dan menghasilkan serangkaian
instruksi-mikro. Sebagai contoh suatu komputer yang mempunyai 16 instruksi,
sehingga setiap instruksi dapat diberi kode dengan sebuah opcode 4 bit yang
unik, sisa word instruksi berisi informasi pengalamatan yang
penting seperti register-register yang terlibat, alamat-alamat memori dan offset).
Mneumonic-nya diperlihatkan sebagai berikut:
LDR (Load register dari memori)
LDM (Load memori dari suatu register)
ADR (Add ke register)
BRU (Branch/percabangan tidak kondisional)
BRZ (Branch/percabanan pada nol)
KENDALI MICROPROGRAMMED
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.
l Organisasi CLU Microprogrammed
Instruksi-makro disimpan dalam memori utama dan
diakses melalui memory address register (MAR) dan memory
buffer register (MBR). Instruksi diambil (fetch) ke dalam
register instruksi (IR atau instruction register) dan
pengendali-mikro (microcontroller atau sequencer) yang
bersesuaian. Alamat awal program-mikro dimuat (load) ke dalam kendali
alamat register (CAR atau Control Address Register) dan kemudian
kendali memori mengirim instruksi-mikro pertama ke dalam kendali penyangga
register (CBR atau Control Buffer).
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
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).
KEUNTUNGAN PEMROGRAMAN-MIKRO
Kendali microprogrammed menawarkan
suatu pendekatan yang lebih terstruktur untuk merancang unit kendali logika
(CLU) dibandingkan dengan kendali hard-wired.
1. Rancangan
microprogrammed relative mudah diubah-ubah dan dibetulkan
2. Menyediakan
kemampuan diagnostic yang lebih baik dan lebih dapat diandalkan daripada
rancangan hard-wired
3. Utilisasi
memori utama dalam computer microprogrammed biasanya lebih baik Karena
perangkat lunak yang seharusnya menggunakan ruang memori utama justru
ditempatkan pada memori kendali
4. 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
http://yogianuryahya.blogspot.co.id/
http://christianto.tjahyadi.com/tag/pemrograman-mikrokontroler-dengan-bahasa-c
http://christianto.tjahyadi.com/tag/pemrograman-mikrokontroler-dengan-bahasa-c

Komentar
Posting Komentar