Pengertian
Pipeline
Pipeline
adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama
tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit
pemrosesan. Dengan cara ini, maka unit pemrosesan selalu bekerja. Teknik
pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistemkomputer.
Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat
yang rendah, seperti pada instruksi yang dijaankan oleh microprocessor.
Konsep
Pipeline
Pada
umumnya, efisiensi sebuah komputer dinilai beerdasarkan kecepatan perangkat
keras dan fasilitas-fasilitas perangkat lunak. Penilaian ini disebut sebagai
throughput, didefinisikan sebagai jumlah pemrosesan yang dapat dikerjakan dalam
suatu interval waktu tertentu. Salah satu teknik yang mendorong peningkatan
suatu sistem throughput yang cukup hebat disebut sebagai pemrosesan pipeline.
Konsep pemrosesan pipeline dalam suatu komputer mirip dengan suatu baris
perakitan dalam suatu pabrik industri. Ambil contoh, sutu proses pembuatan
mobil. Ketika sebuah mobil dibuat, mobil tersebut berpindah sepanjang ban
berjalan dengan berurutan, melewati beberapa stasiun.
Pada
setiap stasiun, dikerjakan sebagian proses konstruksi pada mobil itu, kemudian
berpindah lagi ke stasiun berikutnya. Perpindahan mobil itu dari satu stasiun
ke stasiun lainnya, memungkinkan beberapa mobil berada pada baris perakitan
pada waktu yang bersamaan, masing-masing pada stasiun yang terpisah. Dengan
demikian, hal ini mengakibatkan kita menghasilkan mobil dari baris perakitan
satu persatu secara berurutan. Tanpa teknik baris perakitan seperti ini,
pengerjaan suatu mobil tidak dapat dimulai sampai mobil yang sebelumnya
benar-benar selesai.
Pemrosesan
pipeline dalam suatu komputer diperoleh dengan membagi suatu fungsi yang akan
dijalankan menjadi beberapa subfungsi yang lebih kecil dan merancang perangkat
keras yang terpisah, disebut sebagai tingkatan (stage), untuk setiap subfungsi.
Stage-stage itu kemudian dihubungkan bersama-sama dan membentuk sebuah pipeline
tunggal (atau pipe) untuk menjalankan fungsi asli tersebut.
Keuntungan
dan Kerugian
Pipelining tidak
membantu dalam semua kasus. Ada beberapa kemungkinan kerugian. Pipa instruksi
dikatakan sepenuhnya pipelined jika dapat menerima instruksi baru setiap clock
cycle. Sebuah pipa yang tidak sepenuhnya pipelined telah menunggu siklus yang
menunda kemajuan pipa.
Keuntungan dari
Pipelining :
1.Waktu siklus prosesor
berkurang, sehingga meningkatkan tingkat instruksi dalam kebanyakan kasus(
lebih cepat selesai).
2.Beberapa
combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat
dengan menambahkan lebih banyak sirkuit. Jika pipelining digunakan sebagai
pengganti, hal itu dapat menghemat sirkuit & combinational yang lebih
kompleks.
3.Pemrosesan dapat
dilakukan lebih cepat, dikarenakan beberapa proses dilakukan secara bersamaan
dalam satu waktu.
Kekurangan Pipelining :
1.Pipelined prosesor
menjalankan beberapa instruksi pada satu waktu. Jika ada beberapa cabang yang
mengalami penundaan cabang (penundaan memproses data) dan akibatnya proses yang
dilakukan cenderung lebih lama.
2.Instruksi latency di
non-pipelined prosesor sedikit lebih rendah daripada dalam pipelined setara.
Hal ini disebabkan oleh fakta bahwa intruksi ekstra harus ditambahkan ke jalur
data dari prosesor pipeline.
3.Kinerja prosesor di
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.
RISC (Reduced Instruction Set Computer)
Reduced
Instruction Set Computing (RISC) atau “Komputasi set instruksi yang
disederhanakan” pertama kali digagas oleh John Cocke, peneliti dari IBM di
Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20%
instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan
kerjanya. Komputer pertama yang menggunakan konsep RISC ini adalah IBM PC/XT
pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David
Patterson, pengajar pada University of California di Berkely.
RISC mempunyai
karakteristik :
one
cycle execution time : satu putaran eksekusi. Prosessor RISC mempunyai CPI
(clock per instruction) atau waktu per instruksi untuk setiap putaran. Hal ini
dimaksud untuk mengoptimalkan setiap instruksi pada CPU.
large
number of registers: Jumlah register yang sangat banyak. RISC di Desain
dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk
mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
pipelining:adalah sebuah teknik yang
memungkinkan dapat melakukan eksekusi secara simultan.Sehingga proses instruksi
lebih efiisien.
Ciri-ciri :
1.Instruksi berukuran tunggal.
2.Ukuran yang umum adalah 4 byte.
3.Jumlah pengalamatan data sedikit.
4.Tidak terdapat pengalamatan tak langsung.
5.Tidak terdapat operasi yang menggabungkan
operasi load/store dengan operasi aritmatika.
6.Tidak terdapat lebih dari satu operand
beralamat memori per instruksi.
7.Tidak mendukung perataan sembarang bagi
data untuk operasi load/ store.
8.Jumlah maksimum pemakaian memori
manajemen bagi suatu alamat data adalah sebuah instruksi.
Contoh pengaplikasian
RISC yaitu pada perangkat elektronika yang dibuat khusus, seperti Kalkulator,
Mesin Kasir, mesin cuci mobil dll.
Sumber:
-http://atinursari95.blogspot.com/2017/12/pipelining-dan-risc.html
-https://ahmadharisandi7.wordpress.com/2017/12/20/pipeline-risc/