Anda di halaman 1dari 14

PIPELINING INSTRUKSI

Created by :
1. Rizka Ariyanto (08018094)
2. Dian Utari (08018065)
3. Nuryani Rahmawati (08018071)
4. Dian Sulasih (08018072)
5. Dyah Ayu Devi (08018076)
Pipeline

pipeline adalah suatu cara yang digunakan untuk melakukan


sejumlah kerja secara bersamaan tetapi dalam tahap yang
berbeda yang dialirkan secara kontiniu pada unit pemrosesan.
Dengan cara ini, maka unit pemroses selalu bekerja.
pipeline
 Teknik pipeline ini dapat diterapkan pada
berbagai tingkatan dalam sistem komputer. Bisa
pada level yang tinggi, misalnya program
aplikasi, sampai pada tingkat yang rendah, seperti
pada instruksi yang dijalankan oleh
microprocessor.
Perbedaan Microprocesor yang
menggunakan pipeline
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
dalam unjuk kerja 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.
Instruksi Pipeline
Tahapan Pipeline
 Mengambil instruksi dan membuffferkannya
 Ketika tahapn kedua bebas tahapan pertama
mengirimkan instruksi yang dibufferkan tersebut
 Pada saat tahapan kedua sedang mengeksekusi
instruksi ,tahapan pertama memanfaatkan siklus
memori yang tidak dipakai untuk mengambil dan
membuffferkan instruksi berikutnya
Tiga kesulitan yang sering dihadapi
ketika menggunakan teknik pipeline

 Terjadinya penggunaan resource yang bersamaan


 Ketergantungan terhadap data
 Pengaturan Jump ke suatu lokasi memori
Keuntungan dari Pipelining
 Waktu siklus prosesor berkurang, sehingga meningkatkan
tingkat instruksi-isu dalam kebanyakan kasus.
 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 vs combinational yang lebih komplek
sirkuit.
Kekurangan Pipelining
 Non-pipelined prosesor 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.
 Instruksi latency di non-pipelined prosesor sedikit lebih rendah
daripada dalam pipelined setara. Hal ini disebabkan oleh fakta
bahwa sandal jepit ekstra harus ditambahkan ke jalur data dari
prosesor pipelined.
 Non-pipelined prosesor akan memiliki instruksi yang stabil
bandwidth. Kinerja prosesor yang pipelined jauh lebih sulit untuk
meramalkan dan dapat bervariasi lebih luas di antara program yang
berbeda.
Pipelining meniru proses assembly-chain (ban berjalan) di industri :
Misalnya Industri Mobil

Pasang pintu, Cat dasar, anti karat,


Press Plat Body jendela, kap mesin cat final

Unit 1 Unit 2 Unit 3

Unit 6 Unit 5 Unit 4

Test engine static, Pasang kabel, Pasang Mesin, Jok,


test electric, dll roda, ac, dll kaca,karet , lampu

Ban Berjalan
Industri Karoseri
 Setiap unit, menjalankan fungsi tertentu yang unik
 Setiap “clock” (satuan waktu tertentu), setiap unit secara
serentak menyelesaikan pekerjaannya
 Pekerjaan “bergeser” dari unit i ke unit (i + 1), sampai
akhirnya pekerjaan selesai
 Pada waktu seluruh unit terisi penuh, pada setiap
“clock” akan keluar (selesai) satu unit mobil
 Bandingkan dengan proses non-assembly, dimana
pekerjaan diselesaikan semua dahulu (seluruh
pekerjaannya mobil ke j selesai), baru mobil ke (j+1)
mulai dikerjakan
 Secara instinktif, dapat dideduksi bahwa :
Tanpa assembly, maka setiap mobil akan selesai dalam
waktu ( n x waktu setiap unit)
 Dengan assembly : pada saat semua unit penuh, maka
setiap “clock” (waktu pengolahan disetiap unit), akan
keluar satu mobil
 Tnon-assembly = ( n x Tunit-assembly), dimana
n adalah jumlah unit dalam assembly
 Jadi, dalam kondisi assembly penuh, percepatan proses
produksi mobil dengan assembly (ban berjalan) adalah n
kali lebih cepat dibanding tanpa assembly
Pipelining di Prosesor
 Untuk menerapkan prinsip multi-stage atau mulai
saat ini kita namakan pipelining di prosesor,
diperlukan organisasi prosesor khusus
 Pada dasarnya, prosesor dipartisi menjadi
sejumlah unit-unit kecil dengan fungsi spesifik
 Setiap unit berperan menyelesaikan sebagian dari
eksekusi instruksi :
Instruction fetch, decode, operand address
calculation, operand fetch, execute and store result

Anda mungkin juga menyukai