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
(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
Posting Komentar