Pipelining instruksi adalah teknik yang digunakan dalam desain mikroprosesor modern, mikrokontroler dan CPU untuk meningkatkan throughput instruksi mereka (jumlah instruksi yang dapat dieksekusi dalam satuan waktu).

Ide utamanya adalah membagi (disebut "split") pemrosesan instruksi CPU, seperti yang didefinisikan oleh mikrokode instruksi, menjadi serangkaian langkah independen operasi mikro (juga disebut "microinstructions", "micro-op" atau "µop"), dengan penyimpanan di akhir setiap langkah. Hal ini memungkinkan logika kontrol CPU untuk menangani instruksi pada tingkat pemrosesan langkah paling lambat, yang jauh lebih cepat daripada waktu yang dibutuhkan untuk memproses instruksi sebagai satu langkah.

Istilah pipeline mengacu pada fakta bahwa setiap langkah membawa satu mikroinstruksi (seperti setetes air), dan setiap langkah dihubungkan ke langkah lain (analogi; mirip dengan pipa air).

Kebanyakan CPU modern digerakkan oleh clock. CPU secara internal terdiri dari logika dan memori (flip flop). Ketika sinyal clock tiba, flip flop menyimpan nilai barunya kemudian logika memerlukan periode waktu untuk mendekode nilai baru flip flop. Kemudian pulsa clock berikutnya tiba dan flip flop menyimpan nilai yang lain, dan seterusnya. Dengan memecah logika menjadi potongan-potongan yang lebih kecil dan menyisipkan flip flop di antara potongan-potongan logika, waktu yang dibutuhkan oleh logika (untuk memecahkan kode nilai hingga menghasilkan keluaran yang valid tergantung pada nilai-nilai ini) berkurang. Dengan cara ini periode clock dapat dikurangi.
Sebagai contoh, pipeline RISC dipecah menjadi lima tahap dengan satu set flip flop di antara setiap tahap sebagai berikut:

  1. Pengambilan instruksi
  2. Dekode instruksi dan register fetch
  3. Jalankan
  4. Akses memori
  5. Daftar tulis kembali

Prosesor dengan pipelining secara internal terdiri dari tahapan (modul) yang dapat bekerja secara semi-independen pada instruksi mikro yang terpisah. Setiap tahap dihubungkan oleh flip flop ke tahap berikutnya (seperti "rantai") sehingga output tahap tersebut merupakan input ke tahap lain sampai pekerjaan pemrosesan instruksi selesai. Organisasi modul internal prosesor seperti itu mengurangi waktu pemrosesan instruksi secara keseluruhan.

Arsitektur non-pipeline tidak seefisien karena beberapa modul CPU menganggur sementara modul lain aktif selama siklus instruksi. Pipelining tidak sepenuhnya menghilangkan waktu menganggur dalam CPU pipelined, tetapi membuat modul CPU bekerja secara paralel meningkatkan throughput instruksi.

Pipeline instruksi dikatakan sepenuhnya pipelined jika dapat menerima instruksi baru setiap siklus clock. Pipeline yang tidak sepenuhnya pipelined memiliki siklus tunggu yang menunda kemajuan pipeline.