Welcome ... to Arkomnesia

Pipeline



Definisi Pipeline

Pipeline adalah teknik yang mengoverlapkan eksekusi beberapa sub proses. atau 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 komputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijaankan oleh microprocessor.
     Pada microprocessoryang 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.


Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi. Misalnya sebuah microprocessor menyelesaikan sebuah instruksi dalam 4 langkah. Ketika instruksi pertama masuk ke langkah 2, maka instruksi berikutnya diambil untuk diproses pada langkah 1 instruksi tersebut. Begitu pun seterusnya, ketika instruksi pertama masuk ke langkah 3, instruksi kedua masuk ke langkah 2 dan instruksi ketiga masuk ke langkah 1.

Contoh pipeline dalam komputer adalah:
  • pipeline instruksi. Biasanya digunakan di unit pemrosesan central agar istruksi - instruksi dapat dijalankan dalam satu waktu dalam satu sirkuit digital. Biasany asirkuitnya dibagi dalam beberapa tahap, termasuk decode instruksi, aritmatika dan tahap - tahap penjemputan data dari register , dimana setiap tahap melakukan satu instruksi dalam satu waktu.
  • pipeline grafis. sering ditemukan dalam sebagian besar unit pemrosesan grafis, yang terdiri dari berbagai unit aritmatik atau unit pemrosesan sentral lengkap, yang menerapkan berbagai macam tahap dari operasi render yang umum (seperti proyeksi perspektif, kalkulasi warna dan pencahayaan , primitif gambar, dan sebagainya).
  • pipeline perangkat lunak. Dimana keluaran dari suatu program langsung dipakai oleh program lain sebagai masukkan sehingga dapat langsung diproses. 

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.


Konsep 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 kemungkinan langkah - langkah lain di antara langkah - langkah tersebut). Sebuah mobil di jalur perakitan hanya satu dari tiga langkah diatas dapat selesai dalam suatu waktu. Setelah sebuah mobil telah terpasang mesinnya, 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. 



Masalah-masalah pada Pipeline
        Dengan adanya persyaratan bahwa setiap instuksi yang berdekatan harus tidak saling bergantung, maka ada kemungkinan terjadinya situasi dimana pipeline gagal dilaksanakan atou instruksi berikutnya tidak bisa dilaksanakan. Situasi ini disebut Hazards. Hazards akan berdampak pada pengurangan performans dari CPU dimana percepatan ideal tidak dapat dicapai. Hazards juga menyebabkan pipeline terhambat. Tidak ada instruksi baru yang dijemput sampai hambatan itu selesai. Ini berarti instruksi-instruksi selanjutnya akan ditunda pula penjemputannya.
3
Ada 3 kelompok Hazards :
  1. [] Structural Hazard diakibatkan oleh konflik penggunaan hardware yaitu ketika hardware tidak  dapat mensuport semua kemungkinan kombinasi pelaksanaan instruksi.
  2. [] Data Hazards muncul ketika data untuk suatu instruksi tergantung pada hasil instruksi sebelumnya.
  3. [] Control Hazards muncul pada pelaksanaan instruksi yang mengubah PC (contoh : branch).



Keuntungan dari Pipeline
  1. [] Meningkatkan tingkat instruksi-isu dalam kebanyakan kasus.
  2. [] Pemrosesan dapat dilakukan lebih cepat, dikarenakan beberapa proses dilakukan secara bersamaan dalam satu waktu.
  3. [] Beberapa combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit.



Kerugian dari Pipeline
  1. [] Kinerja prosesor pipelined sangat sulit untuk memprediksi dan dapat bervariasi secara lebih luas di antara berbagai program.
  2. [] Instruksi latency di prossesor pipeline sedikit lebih tinggi daripada dalam non-pipeline. Hal ini disebabkan oleh kenyataan bahwa tiba-tiba harus ditambahkan ke jalur data dari prosesor pipelined
  3. [] Prossesor pipeline akan memiliki instruksi bandwidth yang tidak stabil.

1 komentar:

Powered By Blogger

Pages - Menu

Bang Asep. Diberdayakan oleh Blogger.

Copyright © / Arkomnesia.com

Template by : Urang-kurai / powered by :blogger