Anda di halaman 1dari 2

A.

Pengertian Pipeline

Pipeline adalah suatu teknik yang digunakan untuk melaksanakan beberapa komputasi yang berbeda
dalam waktu yang sama, namun pada saat itu setiap komputasi akan berada pada tahapan eksekusi
yang berbeda. Teknik ini tidak mengurangi waktu eksekusi sebuah instruksi, tetapi meningkatkan
jumlah instruksi yang dapat dikomputasi. Pipeline ditujukan untuk meningkatkan kecepatan eksekusi
suatu instruksi atau disebut throughput eksekusi instruksi pada Central Processing Unit (CPU).

B. Kategori Pipeline

Arithmetic Pipeline

Arithmetic pipeline adalah suatu operasi aritmatika yang digunakan untuk melakukan penjumlahan,
perkalian, pembagian, dan sebagainya. Dalam melakukan operasi aritmatika, beberapa unit logika
disusun secara pararel untuk melakukan komputasi dalam berbagai format data.

Instruction Pipeline

Instruction pipeline adalah suatu instruksi yang digunakan untuk melakukan beberapa komputasi
instruksi secara sekaligus. Instruksi ini berguna bagi komputer yang mempunyai set instruksi
sederhana.

C. Faktor Penghambat Pipeline

Variasi Waktu (Timing Variations)

Variasi waktu adalah masalah perbedaan penggunaan instruksi pada waktu yang berbeda. Misalnya,
ketika beberapa instruksi dikomputasi secara bersamaan, umumnya ada sebuah instruksi yang
memerlukan instruksi yang berbeda dalam waktu yang sama. Hal ini akan mengakibatkan terjadinya
penghentian proses komputasi.

Bahaya Data (Data Hazards)

Bahaya data adalah masalah penggunaan resource data yang sama. Misalnya, ketika sebuah instruksi
dikomputasi dan instrkusi tersebut memerlukan data yang belum dikomputasi, maka hasil
komputasinya akan bernilai salah atau error.

Percabangan (Branching)

Percabangan adalah masalah instruksi percabangan yang harus mengambil instruksi berikutnya
untuk dikomputasi. Misalnya, ketika ada sebuah instruksi bercabang yang dikomputasi maka setelah
dikomputasi instruksi tersebut akan mengarahkan untuk mengambil instruksi berikutnya. Namun,
pengarahan pengambilan instruksi tersebut kemungkinan tidak diketahui sampai kapan. Hal tersebut
akan mengakibatkan terhambatnya proses komputasi.
Interupsi (Interrupts)

Interupsi adalah masalah ketika instruksi meminta untuk menghentikan komputasi terhadap aliran
atau bagian instruksinya. Misalnya, ketika suatu instruksi dikomputasi dan instruksi tersebut
meminta untuk melakukan proses interupsi maka proses komputasi akan dihentikan. Hal tersebut
akan mempengaruhi proses eksekusi instruksi tersebut.

Ketergantungan Data (Data Dependency)

Ketergantungan data adalah masalah ketika instruksi meminta data dari instruksi sebelumnya yang
sudah di proses. Misalnya, ketika suatu instruksi dikomputasi dan instruksi tersebut memerlukan
data dari instruksi sebelumnya maka akan terjadi proses pengambilan data dari instruksi sebelumnya
atau dikenal dengan istilah JUMP Memori. Hal tersebut mengakibatkan terjadinya perubahan
Program Counter yang menghambat proses komputasi.

D. Kelebihan Dari Penggunaan Pipeline

Banyak instruksi yang dapat diproses secara bersamaan.

Siklus waktu CPU berkurang dan meningkatkan kinerja CPU.

Meningkatkan kecepatan throughput.

E. Kekurangan Dari Penggunaan Pipeline

Desain pipeline untuk CPU sangat rumit dan mahal untuk diproduksi.

Latensi instruksi meningkat.

Semakin lama penggunaan pipeline maka semakin ada kemungkinan terjadinya Data Hazards untuk
Branching.

Anda mungkin juga menyukai