Pemrograman Mikro
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. Unit Kendali Logika ( CLU atau Control Logic Unit ) berfungsi sebagai :
- Mengatur seluruh aktifitas perangkat keras di dalam komputer.
- Menyebabkan suatu instruksi di fetch dari memori
- Memberikan kode pada instruksi untuk menentukan operasi yang akan dilaksanakan.
- Menentukan sumber dan tujuan data
- Menyebabkan perpindahan data dan eksekusi operasi yang diperlukan.
- Mengulangi seluruh proses sampai sebuah operasi HALT secara tiba-tiba masuk ke dalam program dan dieksekusi.
- Menghasilkan serangkaian perintah kendali yang disebut sebagai instruksi-mikro yang menjalankan instruksi tersebut. Instruksi mikro merupakan operasi primitif tingkat rendah yang bertindak secara langsung pada sirkuit logika suatu komputer.
Mereka meinci fungsi-fungsi (sinyal-sinyal) seperti berikut :
- Membuka / menutup suatu gerbang ( gate ) dari sebuah register ke sebuah bus.
- Menstransfer data sepanjang sebuah bus.
- Menberi inisial sinyal-sinyal kendali seperti READ, WRITE,SHIFT, CLEAR, dan SET.
- Engirimkan sinyal-sinyal waktu.
- Menunggu sejumah periode waktu tertentu.
- Menguji bit-bit tertentu dalam sebuah register.
Sewaktu sebuah instruksi ditempatkan didalam register instruksi CLU mendecode instruksi itu dan menghasilkan serangkain instruksi mikro. Setiap output decoder dapat digunakan untuk menghasilkan serangkaian instruksi mikro.instruksi mikro ini dikendalikan oleh sinyal waktu dan beberapa kondisi status di dalam sistem. Pada CLU yang tidak sinkron penyelesaian suatu operasi memicu operasi berikutnya dan karena itu tidak diperlukan clock. Meskipun rancangan CLUyang tidak sinkron lebih kompleks, namun ia dapatdibuat agar berfunsi lebih cepat dibandingkan dengan CLU yang sinkron. Namun demikian, dengan pendekatan apapaun, implementasi hard wired pada CLU menghasilkan respon yang cepat secara keseluruhan. Walaupun demikian jenis ini telah terdesak oleh kendali microprogrammed, untuk alasan-alasan tertentu. Kendali Microprogramme, 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. Dalam CLU microprogrammed, serangkaian instruksi mikro yang berhubungan dengan masing-masing instruksi dalam kelompok instruksi tersimpan dalam memori baca ( ROM ), yang disebut sebagai memori kendali.
Ada dua jenis format instruksi mikro yaitu horisontal dan vertikal.
Format instruksi mikro horisontal. Pada format instruksi mikro horisontal satu bit diberikan untuk setiap sinyal logika yang dapat dihasilkan oleh instruksi mikro. Kebanyakan operasi mikro adalah mutual eksklusif 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 instruksi mikro yang mutual eksklusif. Kemudian digunakan suatu decoder untuk memilih operasi mikro tertentu yang akan dipanggil. Jika terbawa ke dalam ekstrem ( hanya satu field ) maka proses coding dan decoding enghasilkan suatu format instruksi mikro vertikal, dimana hanya satu operasi mikro yang dipanggil pada suatu waktu.
Format instruksi mikro vertikal
Suatu format vertikal memerlukan empat instruksi mikro untuk menjalankan operasi mikro. Dua bit dicadangkan untuk mengcode masing-masing keempat langkah tersebut dalam rangkain operasi mikro yang berhubungan dengan ALU.
Meskipun terkadang cukup hanya memfetch instruksi mikro berikutnya secara berurutan, kita memerlukan beberapa mekanisme yang memungkinkan lompatan kondisioanal dalamprogram mikro ynag memungkinkannya untuk membuat suatu keputusan. Lompatan kondisional memungkinkan instruksi mikro mempunyai dua penduhulu dan meningkatkan kecepatan ekskusinya, daripada mensetup beberapa kondisi dalam satu instruksi mikro dan kemudian mengujinya pada instruksi mikro berikutnya. Untuk mencapai hal tersebut disiapkan dua field untuk setiap instruksi mikro yaitu : sebuah field ADDR yang berisi address pendahulu yang potensial bagi instruksi mikro saat ini, dan sebuah field COND yang menentukan apakah instruksi mikro berikutnya di fetch dari CAR+1 atau dari ADDR. Pilihan dari instruksi mikro berikutnya ditentukan oleh sirkuit logika perangkai mikro. Output sirkuit kendali ini mengendalikan suatu multiplexer, yang mengarahkan dari CAR+1 atau ADDR ke CAR karena address instruksi mikro berikutnys berda dalam CAR. Karena hanya ada 4 pilihan mengenai instruksi mikro berikutnya makalebar field COND dapat sebesar 2 bit dan keempat pilihan tersebut dapat diindikasikan dengan mengatur COND.
Emulasi, Dengan emulasi suatu komputer diprogram secara mikro umtuk mempunyai kumpulan instruksi yang benar-benar sama dengan komputer lainnya dan dapat mempunyai tingkah laku yang sama pula. Oleh karena itu, program-program yang ditulis untuk komputer yang beremulasi akanberjalan pada komputer mikroprogrammed. Irisan Bit adalah sistem yang dapat diprogram secara mirko dapat dibuat dengan menggunakan sirkuit terpadu yang khusus.
Peralatan Pendukung Bagi Program-Mikro
1. Assembler-mikro ( program-program perangkat lunak ).
2. Formatter ( program yang memberikan fasilitas ).
3. Sistem pengembangan
4. Simulator perangkat keras.
Keuntungan Pemrograman Mikro
- Rancangan microprogrammed lebih fleksibel karena relatif mudah diubah-ubah dan dimodifikasi
- Menyediakan kemampuan diagnostic yang lebih baik dan lebih dapat diandalkan daripada rancangan hard-wired
- Debugging dan maintenance lebih mudah.
- Set instruksi dapat dimodifikasi dengan mudah dengan mengubah mikroprogram tanpa memengaruhi data path.
- 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 dominanpemrograman 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 horizontal dan vertikal
Kelemahan Pemrograman Mikro
- Karena waktu akses memori kendali ROM menentukan kecepatan operasi CLU maka kendali microprgrammed mungkin menghasilkan CLU yang lebih lambat dibandingkan dengan kendali hard-wired. Alasannya bahwa waktu yang diperlukan untuk menjalankan suatu instruksi mikro juga mencakup waktu akses ROM, Sedangkan, suatu keterlambatan dalam CLU hard-wired hanya mungkin disebabkan oleh keterlambatan waktu penyebaran melalui perangkat keras, yang relatif sangat kecil. (hard-wired digunakan hanya jika system itu tidak terlalu kompleks dan hanya memerlukan beberapa operasi kendali).
- Untuk CPU kecil dengan sumber daya hardware yang sangat terbatas, microprogrammed relatif lebih mahal dibanding hard-wired
Comments
Post a Comment