12. Teknologi Pipeline By Serdiwansyah N. A.
Pipeline Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersamaan tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesan. Dengan cara ini, maka unit pemroses 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. Teknologi Pipeline
Perbedaan Microprocessor 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. Teknologi Pipeline
Perbedaan Microprocessor yang menggunakan Pipeline 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. Teknologi Pipeline
Instruksi Pipeline Gambar 1. Teknologi 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 Teknologi Pipeline
Kategori Pipeline Pipeline Unit Arithmetic Berguna untuk operasi vector. Pengembangan pipeline aritmetik dapat dilihat dari perkalian biner unsigned. Operasi shift dan penambahan menjadi tahapan pemrosesan dalam pengali pipelined. Pengalian bilangan biner dengan 2n adalah sama dengan menggesernya ke kiri sebesar n bit dan menyisipkan nol pada sebelah kanannya. Pipeline Unit Instruction Berguna untuk komputer yang mempunyai set instruksi yang sederhana. Tujuan pipeline instruksi adalah untuk memaksimalkan kecepatan mengalirnya instruksi. Teknologi Pipeline
Pipeline di Processor 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. Prosesor dengan pipelining diatur ke dalam tahap yang dapat semi-independen bekerja pada pekerjaan yang terpisah. Setiap tahap disusun dan dihubungkan ke dalam 'rantai' sehingga output setiap tahap adalah makan untuk tahap lain sampai pekerjaan selesai. Organisasi prosesor ini memungkinkan waktu keseluruhan proses untuk dikurangi secara signifikan. Teknologi Pipeline
Kelebihan Pipeline Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi-isu dalam banyak kasus. Beberapa sirkuit kombinasional seperti adders atau pengali dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit. Jika pipelining digunakan sebagai pengganti, dapat menyimpan sirkuit vs sirkuit kombinasional lebih kompleks. Teknologi Pipeline
Kekurangan Pipeline Sebuah prosesor non-pipelined hanya melaksanakan instruksi tunggal pada suatu 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 memproduksi. Latency instruksi di prosesor non-pipelined sedikit lebih rendah daripada yang setara pipelined. Hal ini disebabkan oleh fakta bahwa ekstra Flip Flops harus ditambahkan ke jalur data prosesor pipelined. Teknologi Pipeline
Komplikasi Pipeline Dalam kasus ekstrim, kinerja prosesor pipelined pendekatan yang secara teoritis dapat dari un-pipelined prosesor, atau bahkan sedikit lebih buruk jika semua kecuali satu tahap pipa yang menganggur dan overhead kecil hadir antara tahap. Prediksi cabang upaya untuk mengatasi masalah ini dengan menebak apakah cabang akan diambil atau tidak dan spekulasi mengeksekusi kode jalan yang memprediksi akan diambil. Ketika prediksi yang benar, prediksi cabang menghindari hukuman yang terkait dengan percabangan. Namun, prediksi cabang sendiri dapat berakhir memperburuk masalah jika cabang yang diperkirakan buruk, sebagai jalan yang salah kode yang telah mulai memerah eksekusi harus dari pipa sebelum melanjutkan eksekusi di lokasi yang benar. Teknologi Pipeline
Sinkronisasi Pipeline Pada semua baris perakitan industri, efesiensial suatu pipeline dapat berkurang jauh akibat suatu bottleneck. Bottleneck terjadi sewaktu pemrosesan pada suatu stage, menghabiskan waktu lebih lama dari stage yang lain. Karena itu idealnya menginginkan pada semua stage menghabiskan waktu yang sama. Untuk menyamakan waktu yang diperlukan pada setiap stage maka stage-stage tersebut harus disinkronisasi. Dapat dilakukan dengan menyisipkan kunci-kunci sederhana antara stage-stage tersebut. Teknologi Pipeline
Efisiensi Pipeline Suatu fungsi pipeline hampir selalu lebih baik dari pada fungsi non-pipeline. Namum pada kenyataannya, harga pipeline tersebut sangat mempengaruhi kapan dan apakah fungsi-fungsi yang dipipeline-kan lebih baik atau tidak. Beberapa penyebab harga pipeline: Tambahan kunci (latch) perangkat keras yang dibutuhkan. Kendali yang diperlukan untuk penjadwalan input tersebut. Waktu yang dihabiskan oleh data dalam latch untuk menyesuaikan diri dengan suatu penangguhan clock yang seragam. Jumlah rata-rata input yang tersedia. Teknologi Pipeline