Cara Kerja Pipeline pada Processor
Secara
sederhana, pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah
kerja secara bersamaan tetapi dalam tahap yang berbeda yang dialirkan secara
berlanjut pada unit pemrosesan. Dengan cara ini, maka unit pemroses akan 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 dijalankan oleh microprocessor.
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.
Dalam
microprocessor yang menggunakan teknik pipeline, ketika satu instruksi sedang
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.
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 seterusnya, ketika instruksi
pertama masuk ke langkah 3, instruksi kedua masuk ke langkah 2 dan instruksi
ketiga masuk ke langkah 1.
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 beberapa kali dibandingkan dengan
microprocessor yang tidak menggunakan pipeline, apabila tahapan yang ada dalam
satu kali pemrosesan instruksi adalah banyak tahap.
Teknik
pipeline ini menyebabkan ada sejumlah hal yang harus diperhatikan sehingga
ketika diterapkan dapat berjalan dengan baik. Tiga kesulitan yang sering
dihadapi ketika menggunakan teknik pipeline ini adalah : Terjadinya penggunaan
resource yang bersamaan, ketergantungan terhadap data, dan pengaturan Jump ke
suatu lokasi memori.
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.
Dengan
menerapkan teknik pipeline ini, akan ditemukan sejumlah perhatian yang khusus
terhadap beberapa hal di atas, tetapi tetap akan menghasilkan peningkatan yang
berarti dalam kinerja microprocessor. Ada kasus tertentu yang memang sangat
tepat bila memanfaatkan pipeline ini, dan juga ada kasus lain yang mungkin
tidak tepat bila menggunakan teknologi pipeline.
No comments:
Post a Comment