PEMROGRAMAN MIKRO
Pemrograman mikro adalah proses
penerjemahan dan eksekusi dari setiap instruksi proses 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 di kenal sebagai mikro-coding. Micro-Kode atau
mikro-Program di kembangkan 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 di tulis atau di ubah beberapa kali bahkan selama tahap
desain nanti. Fleksibilitas seperti di affords mikro program besar
kebebasan untuk merancang insinyur untuk mengubah dan atau dating dengan
set instruksi yang lebih kompleks dan dengan demikian sebagi besar
memfasilitasi desain CPU fleksibel pada beberapa computer, mikro kode
yang disimpan dalam ROM dan karenannya tidak dapat di modifikasikan tapi
computer yang lebih besar, mereka disimpan dalam EPROM dan dengan
demikian dapat di gantikan dengan versi segar atau yang lebih baru.
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.
Pemrograman mikro menawarkan
suatu pendekatan yang lebih terstruktur untuk merancang unit kendali logika
(CLU) dibandingkan dengan kendali hard-wired. Rancangan pemrograman mikro
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.
1. 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 :
a. 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.
b. Vertikal
Hanya satu operasi mikro yang dipanggil pada suatu waktu. Control
dimana setiap bit control mengatur 1 operasi gate atau mesin.
2. Komponen-Komponen Pokok Control Unit
Microprogrammed
a. Instruction
Register untuk menyimpan instruksi register mesin yang dijalankan.
b. Control
Store berisi microprogrammed
1) Untuk
semua instruksi mesin.
2) Untuk
startup mesin.
3) Untuk
memprosesan interupt
c. Address
Computing Circuiting untuk menentukan alamat Control Store dari mikroinstruksi
berikutnya yang akan dijalankan.
d. Microprogrammed
Counter untuk menyimpan alamat dari mikroinstruksi berikutnya.
e. Microinstruction
Buffer untuk menyimpan mikroinstruksi tersebut selama dieksekusi.
f. Microinstruction Decoder untuk menghasilkan
dan mengeluarkan mikroorder yang didasarkan pada mikroinstruksi dan
opcode instruksi yang akan dijalankan
3. Peralatan
pendukung microprogrammmed control adalah :
a. Assembler Mikro
b. Formatter
c. Sistem Pengembangan
d. Simulator Perangkat Keras
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
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
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
Konsep Pemrosesan Pipeline
Pipeline
melaksanakan sebuah intruksi secara bertahap. dengan membagi sebuah pekerjaan
menjadi beberapa tahapan proses atau langkah-langkah yang lebih sederhana.
Setiap operasi dikerjakan oleh sebuah elemen pemrosesan. Waktu yang menggunakan
pemrosesan Pipeline efisien karena dapat melaksanakan beberapa instruksi secara
bersamaan.
Konsep Pemrosesan Parallel
Tujuan
utama dari pemrosesan parallel adalah meningkatkan performa komputasi. Semakin
banyak proses yang dilakukan bersamaan (waktu yang sama), semakin sedikit waktu
yang dipakai. Pemrosesan parallel teknik dengan memanfaatkan beberapa komputer
secara bersamaan. 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.
Sumber :
http://catatantugasbelajar.blogspot.co.id/2016/06/mengenal-pemrograman-mikro-komputer.html
http://syaukics15.blogspot.co.id/2016/06/pemrograman-mikro.html
http://keranjangcoding.blogspot.co.id/2017/05/apa-itu-pemrograman-mikro.html
http://priohimawan.blogspot.co.id/2014/01/pemrograman-mikro.html