Langsung ke konten utama

Teknik PipeLine

Selamat siang semua , terasa sangat panas ya siang ini, di akhir tahun tetep semangat ya
Mungkin beberapa pembaca sedang liburan , atau masih sedang ujian.
Kali Ini saya akan membahas sebuah bidang komputer dan programan yaitu Pipeline

Berikut ini ada beberapa ilustrasi agar memudahkan pembaca untuk memahami tentang pipeline, jadi misalkan , sebuah perakitan mobil, Kita anggap saja beberapa langkah di jalur perakitan pabrik mobil untuk memasang mesin, memasang kap, dan memasang roda (dalam urutan tersebut, dengan berbagai macam kemungkinan langkah - langkah lain di antara langkah - langkah tersebut).

            Sebuah mobil di jalur perakitan hanya satu dari tiga langkah di atas dapat selesai dalam suatu waktu. Setelah sebuah mobil telah terpasang mesinnya, mobil tersebut pindah ke pemasangan kap, dan mobil kedua sedang dalam tahap pemasangan mesin. Setelah mobil pertama selesai memasang kap, mobil kedua dalam tahap pemasangan kap, mobil pertama dalam tahap pemasangan roda, dan mobil ketiga yang baru masuk dalam tahap pemasangan mesin. Dan begitu seterusnya. Jika seumpama pemasangan mesin butuh 20 menit, pemasangan kap butuh 5 menit dan pemasangan roda butuh 10 menit, maka menyelesaikan ketiga mobil tersebut jika satu mobil dirakit dalam satu waktu akan membutuhkan waktu 105 menit. Sedangkan jika menggunakan jalur perakitan seperti yang disebutkan di atas, waktu yang diperlukan untuk menyelesaikan ketiganya hanya 75 menit.
Jadi ,  pada pengertian yang sebenernya pipeline adalah suatu teknik implementasi dengan mana berbagai instruksi dapat dilaksanakan secara tumpang tindih (overlapped; hal ini mengambil keuntungan paralelisme yang ada di antara tindakan yang diperlukan untuk mengeksekusi suatu instruksi.
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 dijaankan oleh microprocessor.








Image result for teknik 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.


Dengan penerapan  Pipeline  ini pada mikroprosesor akan didapatkan peningkatan kinerja Mikroprosesor. Hal ini terjadi karena beberapa instruksi dapat dilakukan secara parallel dalam waktu yang bersamaan.  diharapkan akan didapatkan peningkatan sebesar K kali dibandingkan dengan mikroprosesor yang tidak menggunakan  Pipeline , apabila tahapan yang ada dalam satu kali pemrosesan instruksi adalah K tahap.

      Karena beberapa instruksi diproses secara bersamaan banyak kemungkinan instruksi tersebut sama-sama memerlukan sumber yang sama, sehingga diperlukan adanya pengaturan yang tepat agar proses tetap berjalan dengan benar dan lancar. 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.

Teknik Pipeline yang diterapkan pada mikroprosesor, dapat dikatakan sebuah arsitektur khusus. Ada perbedaan khusus antara model mikroprosesor yang tidak menggunakan arsitektur  Pipeline  dengan mikroprosesor yang menerapkan teknik ini.

Pada mikroprosesor yang tidak menggunakan  Pipeline , satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam mikroprosesor 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. Misalnya sebuah mikroprosesor 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 pun seterusnya, ketika instruksi pertama masuk ke langkah 3, instruksi kedua masuk ke langkah 2 dan instruksi ketiga masuk ke langkah 1.

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 :
  1. Terjadinya penggunaan sumber yang bersamaan
  2. Ketergantungan terhadap data, dan Pengaturan Jump ke suatu lokasi memori.
Tahapan dan cara kerja pipeline

  1. Mengambil instruksi dan membuffferkannya
  2. Ketika tahapan kedua bebas, tahapan pertama mengirimkan instruksi yang dibufferkan tersebut
  3. Pada saat tahapan kedua sedang mengeksekusi instruksi ,tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya


Disini saya tidak menjelaskan bagaimana cara menghitung teknik pipeline pada suatu data , namun saya juga akan membahas kelebihan dan kekurangan pipeline :


Keuntungan dari Pipeline
  1. Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi-isu dalam kebanyakan kasus.
  2. Beberapa combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit.
3.  Pemrosesan dapat dilakukan lebih cepat, dikarenakan  proses dilakukan secara bersamaan dalam satu waktu.
Jika  pipeline  digunakan sebagai pengganti, hal itu dapat menghemat sirkuit  yang lebih kompleks.

Kerugian dari Pipeline
  1. Prossesor  non-pipeline hanya menjalankan satu instruksi pada satu 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 diproduksi.
  2. Instruksi latency di prossesor non-pipeline sedikit lebih rendah daripada dalam pipeline setara. Hal ini disebabkan oleh fakta bahwa sandal jepit ekstra harus ditambahkan ke jalur data dari prossesor pipeline.
  3. Prossesor non-pipeline akan memiliki instruksi bandwidth yang stabil. Kinerja prossesor yang pipeline jauh lebih sulit untuk meramalkan dan dapat bervariasi lebih luas di antara program yang berbeda.
  4. 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.
  5.  Sedangkan ketergantungan terhadap data, bisa muncul, misalnya instruksi yang berurutan memerlukan data dari instruksi yang sebelumnya.
  6.    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.

Komentar

Postingan populer dari blog ini

Tugas ekonomi teknik

SOAL ! Nama    : Muhammad yusuf Npm      : 17414594 Kelas     : 3IB03b Matkul  : Ekonomi Teknik Kerjakan soal berikut! 1. Sebuah perusahaan memperkirakan akan memperoleh keuntungan sebesar Rp. 4,150,000 pada tahun ke-7 yang akan mendatang. Kalau MARR 15%, berapakah nilai uang tersebut sekarang? Jawab :                 P = ?                 P = F(P/F .i% .N)                    = 4.150,000 (P/F .15% .7)                    = 4.150,000 (0.3759)                    =  1.559,985 3. Seorang petani memperkirakan mulai tahun depa...

Multiplexing dalam dunia telekomunikasi

adalah Teknik menggabungkan beberapa sinyal untuk dikirimkan secara bersamaan pada suatu kanal transmisi. Dimana perangkat yang melakukan Multiplexing disebut Multiplexer atau disebut juga dengan istilah Transceiver / Mux. Dan untuk di sisi penerima, gabungan sinyal - sinyal itu akan kembali di pisahkan sesuai dengan tujuan masing – masing. Proses ini disebut dengan Demultiplexing. Receiver atau perangkat yang melakukan Demultiplexing disebut dengan Demultiplexer atau disebut juga dengan istilah Demux. Tujuan Muliplexing - meningkatkan effisiensi penggunaan bandwidth / kapasitas saluran transmisi dengan cara berbagi akses bersama. Jenis Teknik Multiplexing Teknik Multiplexing yang umum digunakan adalah : a. Time Division Multiplexing (TDM) : - Synchronous TDM                                    ...

Memory Pembantu

                 Tugas Sofskill Organisasi & Arsitektur Komp. # Bab 7.6 -          -  Memory Pembantu -         -   Pita Magnetik -          -   Disk Magnetik -         -   Floppy Disk -         -   Drum Magnetik -          -  Memory Gelembung Magnetik Memory Pembantu Memori Pembantu (Auxiliary Memory) Yaitu sebuah memori yang Bersifat non-volatile, artinya jika tidak ada listrik, maka isi memori tidak hilang.Tidak mempengaruhi langsung fungsi CPU. Yang termasuk memori ini adalah: ·          Pita Magnetik ·          Disk Magnetik ·          Floppy disk ·      ...