Posted by Hasbiyani Ghani
Update at Senin, 13 Juni 2016
Pada umumnya efisiensi sebuah sistem komputer dinilai berdasarkan kecepatan perangkat keras dan fasilitas-fasilitas perangkat lunak. Penilaian ini, disebut sebagai throughput, di definisikan sebagai jumlah pemrosesan yang dapat dikerjakan dalam suatu waktu interval tertentu. Salah satu teknik yang mendorong peningkatan suatu sistem troughput yang sangat hebat disebut sebagai pemrosesan pipeline. Konsep pemrosesan pipeline dalam suatu komputer mirip dengan suatu baris perakitan dalam pabrik industri. Apabila contoh suatu baris dalam suatu pabrik mobil. Ketika mobil sudah dibuat mobil tersebut berpindah sepanjang ban ban berjalan dengan berurutan, melewati beberapa stasiun. Pada setiap stasiun dikerjakan konstruksi pada mobil itu, kemudian berpindah lagi pada ke stasiun berikutnya. Pemindahan mobil itu dari suatu stasiun kestasiun lainnya, memungkinkan beberapa mobil berada pada stasiun yang terpisah. Dengan demikian hal ini kita menghasilkan mobil dari baris perakitan satu persatu secara berurutan. Tanpa teknik baris perakitan seperti ini, pengerjaan suatu mobil tidak bisa dimulai sampai mobil yang sebelumnya selesai.
Pemrosesan pipeline dalam suatu komputer diperoleh dengan membagi suatu fungsi yang akan dijalankan menjadi beberapa sub fungsi yang lebih kecil dan merancang perangkat keras yang terpisah disebut sebagai tingkatan (stage) untuk setiap sub fungsi. Stage-stage itu kemudian dihubungkan bersama-sama dan membentuk sebuah pipeline tunggal (atau pipe) untuk menjalankan fungsi asli tersebut.
Pada semua baris perakitan industri, efisiensi suatu pipeline dapat berkurang jauh akibat suatu botleneck terjadi suatu pemrosesan pada suatu stasiun atau stage lainnya. Karena itu idealnya, kita menginginkan agar setiap stage dalam suatu pipe menghabiskan jumlah waktu prosess yang sama. Meskipun kita dapat memisahkan suatu fungsi menjadi beberapa sub fungsi dengan waktu proses yang relatif sama, perbedaan logika dari setiap stage akan menyukarkan kita menghasilkan waktu yang sama pada setiap stage.
Pipeline dapat diklasifikasikan berdasarkan fungsi dan konfigurasinya. Secara fungsional, meraka diklasifikasikan menjadi tiga kelompok pokok yaitu pipelining aritmatika, instruksim dan proses. Ramamorthy dan Li (1977) mengajukan tiga skema untuk mengklasifikasikan pipeline menurut konfigurasi dan kendalinya: unifungsi atau mulltifungsi, statis atau dinamis, dan skalar atau vektor.
Meskipun kebanyakan pipeline diranang dengan membagi-bagi suatu fungsi menjadi beberapa stage, namun kita dapat membuat sebuah pipeline yang kompleks tanpa salah satu stage yang penting. Proses ini dikenal sebagai cascading atas stage. Iteratife cascading atas stage dapat digunakan untuk membuat unit pipeline unifungsi maupun multi fungsi.