1.
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.
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 atau menutup suatu gerbang (gate) dari sebuah register ke sebuah
bus.
2.
Mentransfer data sepanjang sebuah bus.
3.
Memberi inisial sinyal-sinyal kendali seperti READ,
WRITE, SHIFT, CLEAR, dan SET.
4.
Mengirim sinyal-sinyal waktu.
5.
Menunggu sebuah periode waktu tertentu.
6.
Menguji bit-bit tertentu dalam sebuah register.
Adapun keuntungan Pemrograman Mikro yaitu sebagai berikut :
1.
Rancangan microprogrammed relative mudah diubah-ubah
dan dibetulkan
2.
Menyediakan kemampuan diagnostic yang lebih baik dan
lebih dapat diandalkan daripada rancangan hard-wired
3.
Utilisasi memori utama dalam computer microprogrammed
biasanya lebih baik karena perangkat lunak yang seharusnya menggunakan ruang
memori utama justru ditempatkan pada memori kendali
4.
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.
Kekurangan
dari Pemrograman Mikro sebagai berikut :
1.
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).
2.
Untuk CPU kecil dengan sumber daya hardware
yang sangat terbatas, microprogrammed relatif lebih mahal dibanding hard-wired.
2.
Komputer
Pipeline
Pipeline adalah
suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi
dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesor.
Dengan cara ini, maka unit pemrosesan selalu bekerja. Teknik pipeline ini dapat
diterapkan pada berbagai tingkatan dalam sistem computer. Bisa pada level yang
tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti
pada instruksi yang dijalankan oleh microprocessor. Contoh pipeline dalam komputer sebagai
berikut :
1.
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.
2.
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).
3.
Pipeline Perangkat Lunak, dimana keluaran dari suatu
program langsung dipakai oleh program lain sebagai masukkan sehingga dapat
langsung diproses.
Adapun klasifikasi Pipeline yaitu sebagai berikut :
1.
Berdasarkan fungsi
a.
Pipelining Aritmatika
b.
Pipelining instruksi, memfetch instruksi secara
berurutan
c.
Pipelining prosesor, ketika stage suatu pipeline
merupakan prosesor aktual dan latch-latch (tambahan kunci) saling berbagi
memori antara prosesor-prosesor tersebut.
2.
Berdasarkan konfigurasi
a.
Unifungsi, menjalankan hanya satu jenis pokok operasi.
b.
Multifungsi, menjalankan fungsi-fungsi yang berbeda.
c.
Statis, instruksi yang sama dijalankan bersamaan
waktu.
d.
Dinamis, beberapa konfigurasi fungsional dapat muncul
sekaligus.
e.
Skalar yaitu memproses serangkaian skalar (angka) seperti ADD dalam loop for dna vektor yaitu
untuk memproses instruksi vektor (prosesor vektor).
Adapun keuntungan dari Pipeline sebagai berikut :
1.
Waktu siklus prosesor berkurang, sehingga meningkatkan
tingkat instruksi-isu dalam kebanyakan kasus.
2.
Beberapa combinational sirkuit seperti penambah atau
pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit.
3.
Jika pipeline digunakan sebagai pengganti,
hal itu dapat menghemat sirkuit vs combinational yang lebih kompleks sirkuit.
Kekurangan dari Pipeline
sebagai berikut :
1.
Prossesor non-pipeline hanya menjalankan satu
instruksi pada satu waktu. Hal ini untuk mencegah penundaan cabang (yang berlaku,
setiap cabang tertunda) dan masalah dengan serial instruksi dieksekusi secara
bersamaan. Akibatnya desain lebih sederhana dan lebih murah untuk diproduksi.
2.
Instruksi latency di prossesor non-pipeline sedikit
lebih rendah daripada dalam pipeline setara. Hal ini disebabkan oleh fakta
bahwa sandal jepit ekstra harus ditambahkan ke jalur data dari prossesor
pipeline.
3.
Prossesor non-pipeline akan memiliki instruksi
bandwidth yang stabil. Kinerja prossesor yang pipeline jauh lebih sulit untuk
meramalkan dan dapat bervariasi lebih luas di antara program yang berbeda.
3.
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. 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 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.
1.
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
• Prosesor
tunggal
• Aliran
instruksi tunggal
• Data
disimpan dalam memori tunggal
•
Uni-processor
b.
SIMD (Single Instruction Multiple Data Stream) Arus
Instruksi Tunggal dan Multiple Data
• 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
c.
MISD (Multiple Instruction Single Data Stream) Arus
Multiple Instruksi dan Data Tunggal
• Rangkaian
dari data
• Dikirimkan
ke kumpulan prosesor
• Setiap
prosesor mengeksekusi urutan instruksi yang berbeda
• Belum
pernah diimplementasikan (komesial)
d.
MIMD (Multiple Instruction Multiple Data Stream) Arus Multiple
Instruksi dan Multiple Data
•
Kumpulan/sejumlah prosesor
•
Mengeksekusi secara simultan urutan instruksi yang berbeda
• Kumpulan
data yang berbeda
• SMP,
Cluster and sistem NUMA
2.
Bidang-bidang
yang menggunakan pemrosesan parallel sebagai berikut :
a. Simulasi komputer
b. Intelegency buatan
c. Rekayasa genetika
d. Analisis elemen terbatas yaitu perancangan struktur dan eksperimen
terowongan angin
e. Perancangan sirkuit LSI dan VLSI
3.
Kelebihan dan kekurangan Pemrosesan Paralel sebagai
berikut :
Kelebihan :
·
Waktu eksekusi lebih cepat.
·
Throughput jadi lebih tinggi.
Kekurangan
·
Memerlukan perangkat keras lain.
·
Kebutuhan daya juga lebih.
·
Tidak baik untuk daya rendah dan perangkat
mobile.
·
Karena membutuhkan banyak prosesor maka
biaya mahal.
0 komentar: