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.
Perkembangan
pesat dalam teknologi komputer dalam beberapa tahun terakhir telah membuat
konsep pemrograman mikro tampak agak berlebihan. Program menjadi lebih kompleks
dan ini memiliki dampak langsung pada kinerja perangkat lunak dan pembangunan.
Interpreter dan compiler telah membuat kode tingkat rendah dari perintah
tingkat tinggi. Kemajuan tersebut telah digantikan keunggulan microprogramming.
Ada telah skema desain CPU yang tidak menggunakan pemrograman mikro seperti TTA
Prosesor, Superscaler Prosesor, Prosesor RISC, dan Prosesor RISC.
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.
Ø Konsep
Pipeline/Pipelining
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. Konsep Pipeline
adalah konsep alami di kehidupan sehari-hari. Umpamakan sebuah perakitan mobil,
asumsikan beberapa langkah di jalur perakitan adalah untuk memasang mesin,
memasang kap, dan memasang roda (dalam urutan tersebut, dengan berbagai macam
kemungkinan langkah - langkah lain di antara langkah - langkah tersebut).
Sebuah mobil di jalur perakitan hanya satu dari tiga langkah diatas dapat
selesai dalam suatu waktu. Setelah sebuah mobil telah terpasang mesinnya, mobil
tersebut pindah ke pemasangan kap, dan mobil kedua sedang dalam tahap
pemasangan mesin. Setelah mobil pertama selesai memasang kap, mobil kedua dalam
tahap pemasangan kap, mobil pertama dalam tahap pemasangan roda, dan mobil ketiga
yang baru masuk dalam tahap pemasangan mesin. Dan begitu seterusnya. Jika
seumpama pemasangan mesin butuh 20 menit, pemasangan kap butuh 5 menit dan
pemasangan roda butuh 10 menit, maka menyelesaikan ketiga mobil tersebut jika
satu mobil dirakit dalam satu waktu akan membutuhkan waktu 105 menit. Sedangkan
jika menggunakan jalur perakitan seperti yang disebutkan diatas, waktu yang
diperlukan untuk menyelesaikan ketiganya hanya 75 menit.
Ø 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.
· Pemrograman
paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi
perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor
tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama
dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin
banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama),
semakin banyak pekerjaan yang bisa diselesaikan.
Komputasi
paralel membutuhkan:
•
algoritma
•
bahasa pemrograman
•
compiler
Sebagian
besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari
satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU
dapat melakukan parallel processing dengan menghubungkannya dengan komputer
lain pada jaringan. Namun, parallel processing ini memerlukan software canggih
yang disebut distributed processing software. Parallel processing berbeda
dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus.
Parallel processing disebut juga parallel computing.
Ø Klasifikasi
arsitektur Komputer Parallel
Sesuai
taksonomi Flynn, seorang Designer Processor, Organisasi Prosesor dibagi menjadi
4 :
A.
SISD (Single Instruction Single Data Stream)
Arus
Instruksi Tunggal dan Data Tunggal
B.
SIMD (Single Instruction Multiple Data Stream)
Arus
Instruksi Tunggal dan Multiple Data
C.
MISD (Multiple Instruction Single Data Stream)
Arus
Multiple Instruksi dan Data Tunggal
D.
MIMD (Multiple Instruction Multiple Data Stream)
Arus
Multiple Instruksi dan Multiple Data
1. Organisasi
Prosesor SISD
•
Prosesor tunggal
•
Aliran instruksi tunggal
•
Data disimpan dalam memori tunggal
•
Uni-processor
Keterangan:
CU
: Control Unit
IS
: Instruction Stream (Arus Instruksi)
PU
: Processing Unit (Unit Pengolah yang biasa disebut ALU)
DS
: Data Stream (Arus Data)
MU
: Memory Unit (Unit Memori)
2. Single
Instruction, Multiple Data Stream – SIMD
•
Single machine instruction
•
Mengontrol eksekusi secara simultan
•
sejumlah elemen-elemen pengolahan
•
Berdasarkan Lock-step
•
Setiap pengolahan elemen memiliki hubungan dengan memori data
• Setiap instruksi dieksekusi pada kumpulan data
yang berbeda oleh prosesor yang berbeda
•
Prosesor Vector and array
3. Multiple
Instruction, Single Data Stream – MISD
•
Rangkaian dari data
•
Dikirimkan ke kumpulan prosesor
•
Setiap prosesor mengeksekusi urutan instruksi yang berbeda
•
Belum pernah diimplementasikan (komesial)
4. Multiple
Instruction, Multiple Data Stream- MIMD
•
Kumpulan/sejumlah prosesor
•
Mengeksekusi secara simultan urutan instruksi yang berbeda
•
Kumpulan data yang berbeda
•
SMP, Cluster and sistem NUMA
Sumber : http://priohimawan.blogspot.co.id/2014/01/pemrograman-mikro.html
Sumber : http://priohimawan.blogspot.co.id/2014/01/pemrograman-mikro.html


Komentar
Posting Komentar