A.
Pemrograman
Mikro
Pemrograman mikro adalah proses penerjemahan dan
eksekusi dari setiap instruksi proses 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.
Pemrograman mikro 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 Control. Micro-kode
atau mikro-program dikembangkan sebagai instruksi set CPU. Dengan demikian,
insinyur desain CPU menulis mikro-program untuk mengimplementasikan set
instruksi mesin.
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.
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
1.
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
2.
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
B.
Computer 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 dijaankan oleh
microprocessor.
Pada microprocessor yang tidak
menggunakan pipeline , satu instruksi
dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan.
Sedangkan dalam microprocessor yang menggunakan teknik pipeline, ketika satu
instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat
diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara
bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada sejumlah tahapan
yang akan dilewati oleh sebuah instruksi.
Dengan penerapan pipeline
ini pada microprocessor akan didapatkan peningkatan kinerja
microprocessor. Hal ini terjadi karena beberapa instruksi dapat dilakukan
secara parallel dalam waktu yang bersamaan. Secara kasarnya diharapkan akan
didapatkan peningkatan sebesar K kali dibandingkan dengan microprocessor yang
tidak menggunakan pipeline , apabila
tahapan yang ada dalam satu kali pemrosesan instruksi adalah K tahap.
Tiga kesulitan yang sering dihadapi ketika menggunakan teknik pipeline ini adalah :
1.
Terjadinya
penggunaan resource yang bersamaan
2.
Ketergantungan
terhadap data, dan
3.
Pengaturan Jump
ke suatu lokasi memori.
Contoh pipeline dalam komputer adalah :
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.
1.
Konsep
Pipeline
Konsep pemrosesan pipeline dalam suatu komputer mirip dengan suatu baris perakitan dalam suatu pabrik industri. Ambil contoh, suatu proses pembuatan sebuah mobil: anggaplah bahwa langkah-langkah tertentu di jalur perakitan adalah untuk memasang mesin, memasang kap mesin, dan memasang roda (dalam urutan tersebut, dengan langkah arbitrary interstitial). Sebuah mobil di jalur perakitan hanya dapat memiliki salah satu dari tiga tahap yang dilakukan sekaligus.
Setelah mobil memiliki mesin yang
terpasang, bergerak ke bagian pemasangan kap, meninggalkan fasilitas pemasangan
mesin yang tersedia untuk mobil berikutnya. Mobil pertama kemudian pindah ke
pemasangan roda, mobil kedua untuk pemasangan kap, dan mobil ketiga dimulai
untuk pemasangan mesin. Jika instalasi mesin membutuhkan waktu 20 menit,
instalasi kap mobil memakan waktu 5 menit, dan instalasi roda membutuhkan waktu
10 menit, kemudian menyelesaikan semua tiga mobil ketika hanya satu mobil dapat
dioperasikan sekaligus akan memakan waktu 105 menit. Di sisi lain, dengan
menggunakan jalur perakitan, total waktu untuk menyelesaikan ketiga adalah 75
menit. Pada titik ini, mobil selanjutnya akan datang dari jalur perakitan pada
kenaikan 20 menit.
2.
Cara
Kerja Komputer Pipeline
·
Mengambil
instruksi dari memori dan menempatkan instruksi tersebut dalam sebuah penyangga
sampai instruksi itu dibutuhkan.
·
Mendekodekan
instruksi tersebut, menentukan jenisnya dan operand apa yang dibutuhkan
instruksi tersebut.
·
Melokasi
dan mengambil operand-operand, baik itu dari register-register ataupun dari
memori.
·
Sebenarnya
melaksanakan pekerjaan menjalankan instruksi tersebut, terutama dengan
menjalankan operand-operand melalui jalur data.
·
Menulis
hasilnya kembali ke register yang sesuai.
3.
Keuntungan
dari Pipeline
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.
4.
Kerugian
dari Pipeline
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.
C.
Pemprosesan
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.
Pemrosesan paralel dapat juga merupakan komputasi dua atau lebih
tugas pada waktu bersamaan dengan tujuan untuk mempersingkat waktu penyelesaian
tugas-tugas tersebut dengan cara mengoptimalkan resource pada sistem komputer
yang ada untuk mencapai tujuan yang sama. Pemrosesan paralel
dapat mempersingkat waktu ekseskusi
suatu program dengan cara membagi
suatu program menjadi bagian-bagian yang lebih kecil yang dapat dikerjakan pada
masing-masing prosesor secara bersamaan.
Tujuan utama
dari pemrosesan paralel adalah untuk
meningkatkan performa komputasi. Performa dalam pemrosesan paralel diukur dari
berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan
teknik paralel. Adapun proses kerja , pemrosesan paralel membagi beban kerja
dan mendistribusikannya pada komputer-komputer lain yang terdapat dalam sistem
untuk menyelesaikan suatu masalah. Sistem yang akan dibangun tidak akan
menggunakan komputer yang didesikasikan secara khusus untuk keperluan
pemrosesan paralel melainkan menggunakan komputer yang telah ada. Artinya,
sistem ini nantinya akan terdiri dari sejumlah komputer dengan spesifikasi
berbeda yang akan bekerjasama untuk menyelesaikan suatu masalah.
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 :
1.
Algoritma
2.
Bahasa Pemrograman
3.
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.
Arsitektur
Komputer Parallel
Sesuai taksonomi Flynn, seorang Designer Processor, Organisasi Prosesor dibagi menjadi 4 :
Sesuai taksonomi Flynn, seorang Designer Processor, Organisasi Prosesor dibagi menjadi 4 :
1. SISD (Single
Instruction Single Data Stream), Arus Instruksi Tunggal dan Data Tunggal
2. SIMD (Single
Instruction Multiple Data Stream), Arus Instruksi Tunggal dan Multiple Data
3. MISD (Multiple
Instruction Single Data Stream), Arus Multiple Instruksi dan Data Tunggal
4. MIMD (Multiple
Instruction Multiple Data Stream), Arus Multiple Instruksi dan Multiple Data
0 komentar:
Posting Komentar