Minggu, Maret 04, 2018

Pengertian dan contoh dari pipelining pada komputer

Pengertian pipelining

Pipelining adalah teknik pemecahan atau pembagian suatu pekerjaan atau tugas menjadi beberapa sub-sub tugas, dan mengeksekusi sub-sub tugas tersebut secara paralel dalam unit-unit multihardware atau segmen-segmen. Konsep atau teknik Pipelining pada sistem komputer dapat diimplementasikan pada berbagai tingkatan level.Tingkatan level tinggi dapat diterapkan pada proses pengeksekusian suatu program aplikasi, sedangkan pada tingkatan level rendah adalah ketika bagaimana intruksi dijalankan pada microprocessor.

Pada microprocessor yang tidak menggunakan teknik pipeline, maka satu siklus instruksi harus dilakukan sampai selesai, baru siklus instruksi berikutnya dapat dilaksanakan. Sedangkan dalam microprocessor yang telah menggunakan teknik pipeline, ketika satu siklus instruksi sedang diproses, maka siklus 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.

pipelining2
Penerapan konsep pipeline pada microprocessor akan memberikan peningkatan dalam bentuk kerja microprocessor. Hal ini dapat terjadi karena beberapa instruksi program dapat dieksekusi secara parallel dalam waktu yang bersamaan. Proses ini dipastikan dapat peningkatan sebesar X kali dibandingkan dengan microprocessor yang tidak menggunakan pipeline, apabila tahapan yang ada dalam satu kali pemrosesan instruksi adalah X tahap.

Solusi dengan penambahan prosessor  menjadi dua, sebetulnya tidak menjamin efektifitas dari kasus yang diproses, penambahan prosessor malah bisa berdampak pada sistem kerja komputer yang lain dan juga meningkatkan cost atau biaya yang dikeluarkan. Hanya dengan cukup satu prosessor dengan metode pipelining, sudah bisa membuat proses kerja lebih efektif.


Contoh teknik pipelining pada kehidupan sehari-hari

Proses assembly atau perakitan mobil. Misalkan diketahui pada proses perakitan mobil harus melalui beberapa tahapan, yaitu proses:

  1. Pembuatan body, lama proses 10 jam
  2. Pengecatan, lama proses 10 jam
  3. Perakitan engine, lama proses 10 jam
  4. Tes drive, lama proses 10 jam
Dari proses-proses tersebut, untuk menghasilkan 1 unit mobil memerlukan waktu 40 jam. Tanpa teknik pipelining, maka perakitan mobil harus diselesaikan dahulu seluruhnya mulai dari pembuatan body, pengecatan, perakitan hingga tes drive baru perakitan mobil selanjutnya bisa dijalankan. Akibatnya adalah pekerjaan yang tidak efisien dan efektif, karena memakan waktu terlalu lama. Dengan begitu untuk menyelesaikan 2 mobil perlu waktu 2x lipat, yaitu menjadi 80 jam. Perlu waktu 40 jam untuk menuggu unit mobil selanjutnya selesai diproduksi.

Akan berbeda hasilnya jika menggunakan teknik pipelining. Ketika unit mobil “A” selesai dengan proses 1 (pembutan body) mobil “A” akan berpindah ke proses 2 (pengecatan), tanpa menuggu hingga proses ke 4 (terakhir) langsung menyambung dibelakangnya unit mobil “B” masuk dalam proses 1 (pembuatan body), setelah selesai bergeser lagi unit mobil “C” masuk ke proses 1, hingga seterusnya. Sehingga mirip proses berantai. teknik ini akan membuat waktu perakitan mobil lebih efektif dan efisien. Untuk membuat 2 unit mobil, hanya memerlukan waktu 50 jam pada tahap awal dan selisih waktu ketika sudah berjalan hanya 10 jam untuk tiap unit mobil.

Pipelining pada Prosessor

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 seperti: Instruction fetch, decode, operand address calculation, operand fetch, execute dan store result.

1 komentar: