PIPELINING
& RISC (Reduced Instruction Set Computer)
A. Pengertian
Pipelining
Pipelining
yaitu suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama
tetapi dalam tahap berbeda yang jalankan secara kontinu pada unit pemrosesan.
Dengan cara ini, maka unit pemrosesan selalu bekerja. Teknik pipelining ini dapat diterapkan pada berbagai
tingkatan dalam sistemkomputer. Seperti pada instruksi yang dijalankan oleh mikroprosessor. Tanpa pipelining, prosesor
komputer mendapatkan instruksi pertama dari memori, melakukan operasi yang
diperintahkan, lalu melanjutkan mengambil instruksi selanjutnya dari memori,
dan seterusnya. Saat mengambil instruksi bagian aritmatik dari prosesor dalam
kondisi menunggu (idle).
Bagian
aritmatik akan tetap menunggu sampai instruksi selanjutnya. Dengan menggunakan
pipelining, arsitektur komputer mengizinkan instruksi selanjutnya untuk
dieksekusi ketika prosesor sedang melakukan operasi aritmatik, menyimpan
instruksi yang akan dijalankan di dalam buffer yang dekat dengan prosesor
sampai setiap operasi instruksi dijalankan. Proses pengambilan instruksi
dilakukan secara kontinu. Dampak yang diberikan adalah jumlah instruksi yang
dapat dijalankan lebih banyak dengan periode waktu yang lebih sedikit.
Tahapan
Pipelining
- Mengambil Instruksi dan mem-bufferkannya.
- Ketika tahapan kedua bebas, tahapan pertama
mengirimkan instruksi yang di bufferkan tersebut.
- Pada saat tahapan kedua sedang mengeksekusi
instruksi, tahapan pertama memanfaatkan siklus memori yang tidak dipakai
untuk mengambill dan membufferkan instruksi berikutnya.
Keuntungan
Pipelining
- Waktu
siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi dalam
kebanyakan kasus( lebih cepat selesai).
- Beberapa
combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih
cepat dengan menambahkan lebih banyak sirkuit. Jika pipelining digunakan
sebagai pengganti, hal itu dapat menghemat sirkuit & combinational
yang lebih kompleks.
- Pemrosesan
dapat dilakukan lebih cepat, dikarenakan beberapa proses dilakukan secara
bersamaan dalam satu waktu.
Kerugian
Pipelining
- Pipelined
prosesor menjalankan beberapa instruksi pada satu waktu. Jika ada beberapa
cabang yang mengalami penundaan cabang (penundaan memproses data) dan
akibatnya proses yang dilakukan cenderung lebih lama.
- Instruksi
latency di non-pipelined prosesor sedikit lebih rendah daripada dalam
pipelined setara. Hal ini disebabkan oleh fakta bahwa intruksi ekstra
harus ditambahkan ke jalur data dari prosesor pipeline.
- Kinerja
prosesor di pipeline jauh lebih sulit untuk meramalkan dan dapat
bervariasi lebih luas di antara program yang berbeda.
- Karena
beberapa instruksi diproses secara bersamaan ada kemungkinan instruksi
tersebut sama-sama memerlukan resource yang sama, sehingga diperlukan
adanya pengaturan yang tepat agar proses tetap berjalan dengan benar.
- Sedangkan
ketergantungan terhadap data, bisa muncul, misalnya instruksi yang
berurutan memerlukan data dari instruksi yang sebelumnya.
- Kasus
Jump, juga perlu perhatian, karena ketika sebuah instruksi meminta untuk
melompat ke suatu lokasi memori tertentu, akan terjadi perubahan program
counter, sedangkan instruksi yang sedang berada dalam salah satu tahap
proses yang berikutnya mungkin tidak mengharapkan terjadinya perubahan
program counter.
B. RISC
(Reduced Instruction Set Computer)
Adalah filosofi desain untuk prosesor komputer, yang
lebih suka menggunakan instruksi mesin sederhana. Istilah ini diciptakan pada
tahun 1980 oleh David A. Patterson und Carlo H. Séquin. Dengan pembatasan pada
perintah sederhana ini, maka desain chip juga menjadi sederhana dan
dimungkinkan detak clock yang tinggi (cepat) untuk Prosesor RISC. Lawan dari
filosofi disain RISC adalah CISC (Complex Instruction Set
Computer).
Sebuah
set instruksi RISC dibebaskan dari perintah yang kompleks – terutama mereka
pada saat menggabungkan akses memori (perlahan) dengan operasi aritmatika
(cepat). Dengan demikian, tingkat pipa prosesor (processor pipeline) dapat
disetel dengan baik, langkah menjadi lebih pendek, pipeline dapat di clock lebih
cepat dan dimanfaatkan lebih berimbang, karena jumlah “penyumbatan” (stalls)
berkurang. Alhasil, karakteristik ini menghasilkan keuntungan besar dalam
efisiensi. Kecuali itu, perintah sederhana juga dapat dikodekan dengan lebar
yang seragam, dan dibandingkan arsitektur CISC upaya dekoder menjadi lebih
rendah, sehingga latensi pipeline jauh berkurang.
Set
instruksi prosesor CISC biasanya diimplementasikan dalam bentuk microcode,
sementara pada prosesor RISC, perintah diterapkan secara individu tertanam.
Arsitektur RISC digunakan pada komputer dengan kinerja tinggi, seperti komputer
vektor. Selain digunakan dalam komputer vektor, desain ini juga
diimplementasikan pada prosesor komputer lain, seperti pada beberapa
mikroprosesor Intel 960, Itanium (IA64) dari Intel Corporation, Alpha AXP dari
DEC, R4x00 dari MIPS Corporation, PowerPC dan Arsitektur POWER dari
International Business Machine. Selain itu, RISC juga umum dipakai pada
Advanced RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel
XScale), SPARC dan UltraSPARC dari Sun Microsystems, serta PA-RISC dari
Hewlett-Packard
REFERENSI
.
PROSESOR
PARALEL
Pemrosesan
paralel (parallel processing) adalah penggunaaan 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
parallel membutuhkan :
- Algoritma
- Bahasan Pemograman
- Compiler
Sebagaian
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. Yang terdiri dari empat
kelompok komputer.
A. Jaringan
Interkoneksi
Komunikasi
diantara terminal-terminal yang berbeda harus dapat dilakukan dengan suatu
media tertentu. Interkoneksi yang efektif antara prosesor dan modul memori sangat penting dalam lingkungan
komputer. Menggunakan arsitektur bertopologi bus bukan
merupakan solusi yang praktis karena bus hanya sebuah pilihan yang baik ketika
digunakan untuk menghubungkan komponen-komponen dengan jumlah yang sedikit.
Jumlah
komponen dalam sebuah modul IC bertambah seiring waktu. Oleh karena itu,
topologi bus bukan topologi yang cocok untuk kebutuhan interkoneksi
komponen-komponen
di dalam modul IC. Selain itu juga tidak dapat diskalakan, diuji, dan kurang
dapat disesuaikan, serta menghasilkan kinerja toleransi kesalahan yang kecil.
Di
sisi lain, sebuah crossbar menyediakan interkoneksi penuh diantara semua terminal
dari suatu sistem tetapi dianggap sangat kompleks, mahal untuk membuatnya,
dan sulit untuk dikendalikan. Untuk alasan ini jaringan interkoneksi merupakan
solusi media komunikasi yang baik untuk sistem komputer dan telekomunikasi.
Jaringan ini membatasi jalur-jalur diantara terminal komunikasi yang berbeda
untuk mengurangi kerumitan dalam menyusun elemen switching.
B. Mesin
SIMD dan MMID
Komputer
SIMD (Single Instruction stream-Multiple Data stream) terdapat lebih dari satu
elemen pemrosesan yang dikendalikan oleh sebuah unit pengendali yang sama.
Seluruh elemen pemrosesan menerima dan menjalankan instruksi yang sama yang
dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan data yang
berbeda yang berasal dari aliran data yang berbeda pula.
Komputer
MIMD (Multiple Instruction stream-Multiple Data stream) terdapat interaksi di antara n
pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari
space data yang sama bagi semua pemroses. Komputer MIMD bersifat tightly
coupled jika tingkat interaksi antara pemroses tinggi dan disebut loosely
coupled jika tingkat interaksi antara pemroses rendah.
A. Arsitektur
Pengganti
Dalam
bidang teknik komputer,
arsitektur pengganti merupakan konsep perencanaan atau struktur pengoperasian
dasar dalam komputer
atau bisa dikatakan rencana cetak biru dari deskripsi fungsional kebutuhan dari
perangkat keras yang didesain, implementasi perencanaan dari masing-masing
bagian seperti CPU, RAM, ROM, Memory Cache, dll
REFERENSI
http://www.academia.edu/7424831/Parallel_PROCESSING_Pemrosesan_paralel
https://id.wikipedia.org/wiki/Interkoneksi.
Tidak ada komentar:
Posting Komentar