Apa itu Pemrograman Mikro ?



Pada blog kemarin kita sudah membahas tentang apa itu bios nah sekarang pada blog saya kali ini saya akan membahas, Apa itu Pemrograman Mikro ?

1.      Pemrograman Mikro

Pemrograman mikro adalah proses penerjemahan dan eksekusi dari setiap instruksi prosesor menjadi urutan instruksi yang lebih kecil mikro. Unit Kendali Logika atau Control Logic Unit adalah bagian yang mengatur seluruh aktivitas perangkat keras di dalam komputer. CLU menyebabkan suatu instruksi dapat diambil dari memori, memberi kode pada instruksi tersebut untuk menentukan operasi yang akan dilaksanakan, menentukan sumber dan tujuan data, dan menyebabkan perpindahan data dan eksekusi operasi yang diperlukan. CLU menjalankan seluruh proses sampai sebuah operasi HALT secara tiba-tiba masuk ke dalam program dan dieksekusi.

Kode instruksi bersama data, tersimpan di dalam memori. Sebuah instruksi merupakan entitas kompleks yang pelaksanaannya tidak dapat diselesaikan dalam satu waktu/putaran. Karena itu setelah menginterpretasikan kode biner suatu instruksi, CLU menghasilkan serangkaian perintah kendali yang disebut sebagai instruksi-mikro (microinstruction) yang menjalankan instruksi tersebut. Untuk membedakan sebuah instruksi dan sebuah instruksi-micro, seringkali instruksi-instruksi disebut sebagai instruksi-makro (macroinstruction).Durasi siklus eksekusi tergantung pada jenis operasi yang akan dikerjakan, mode pengalamatan data yang digunakan dan jumlah operand yang diperlukan. CLU mengerjakannya dengan membagi setiap siklus instruksi menjadi serangkaian keadaan (state), setiap state mempunyai panjang yang sama dan durasi setiap state sama dengan periode clock/siklus komputer.

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.



I  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 atauinstruction 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).

2.      Konsep komputer Pipeline

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 k emungkinan langkah - langkah lain diantara langkah - langkah tersebut). Sebuah mobil di jalur per akitan hanya satu dari tiga langkah diatas dapat selesai dalam suatu waktu. Setelah sebuah mobil telah terpasang mesinny a, 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 ban yak 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. Biasanya diperlukan 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 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 par alel) 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 beber apa program sekaligus. Parallel processing disebut juga parallel computing.

Klasifikasi arsitektur Komputer Parallel
Sesuai taksonomi Flynn, seor ang Designer Processor, Organisasi Pro sesor 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 secar a 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 (k omesial)
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://kevinwarendra.blogspot.co.id

                        http://priohimawan.blogspot.co.id

Komentar

Postingan populer dari blog ini

Simulasi Setting Mikrotik pada Aplikasi VMware