12. Teknologi Pipeline

13
12. Teknologi Pipeline By Serdiwansyah N. A.

description

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 . - PowerPoint PPT Presentation

Transcript of 12. Teknologi Pipeline

Page 1: 12.  Teknologi  Pipeline

12. Teknologi Pipeline

By Serdiwansyah N. A.

Page 2: 12.  Teknologi  Pipeline

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.

2Teknologi Pipeline

Page 3: 12.  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.

3Teknologi Pipeline

Page 4: 12.  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.

4Teknologi Pipeline

Page 5: 12.  Teknologi  Pipeline

Instruksi Pipeline

Gambar 1.

5Teknologi Pipeline

Page 6: 12.  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 :o Terjadinya penggunaan resource yang bersamaano Ketergantungan terhadap datao Pengaturan Jump ke suatu lokasi memori

6Teknologi Pipeline

Page 7: 12.  Teknologi  Pipeline

Kategori Pipeline

Pipeline Unit ArithmeticBerguna 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 InstructionBerguna untuk komputer yang mempunyai set instruksi yang sederhana. Tujuan pipeline instruksi adalah untuk memaksimalkan kecepatan mengalirnya instruksi.

7Teknologi Pipeline

Page 8: 12.  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.

8Teknologi Pipeline

Page 9: 12.  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.

9Teknologi Pipeline

Page 10: 12.  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.

10Teknologi Pipeline

Page 11: 12.  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.

11Teknologi Pipeline

Page 12: 12.  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.

12Teknologi Pipeline

Page 13: 12.  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:o Tambahan kunci (latch) perangkat keras yang dibutuhkan.o Kendali yang diperlukan untuk penjadwalan input tersebut.o Waktu yang dihabiskan oleh data dalam latch untuk

menyesuaikan diri dengan suatu penangguhan clock yang seragam.

o Jumlah rata-rata input yang tersedia.

13Teknologi Pipeline