Nama : AHMAD FAJAR SUSILO
Nim : 2115R1067
PIPELINING PADA KOMPUTER
Dalam komputer, pipeline adalah satu set dari
elemen pemrosesan data dihubungkan secara seri, sehingga hasil keluaran dari
satu elemen adalah masukkan bagi elemen berikutnya. Elemen - elemen dari sebuah
pipeline sering dijalankan secara paralel.
Contoh pipeline dalam komputer
adalah:
pipeline
instruksi. Biasanya digunakan di unit
pemroses sentral agar istruksi - instruksi dapat dijalankan dalam satu waktu
dalam satu sirkuit digital. Biasanya sirkuitnya dibagi dalam beberapa tahap,
termasuk decode instruksi, aritmatika dan tahap - tahap penjemputan data dari
register, dimana setiap tahap melakukan satu instruksi dalam satu waktu.
pipeline
grafis, sering ditemukan dalam
sebagian besar unit pemrosesan grafis, yang terdiri dari berbagai unit
aritmatik atau unit pemroses sentral lengkap, yang menerapkan berbagai macam
tahap dari operasi render yang umum (seperti proyeksi perspektif, kalkulasi
warna dan pencahayaan, primitif gambar, dan sebagainya).
pipeline perangkat lunak. Dimana keluaran dari suatu program langsung dipakai
oleh program lain sebagai masukkan sehingga dapat langsung diproses.
Pipelining Pada Processor
Pipelining, merupakan fitur standar pada prosesor RISC, tidak
sama dengan assembly line. Karena prosesor bekerja pada berbagai langkah dari
instruksi pada saat yang sama, beberapa pekerjaan bisa dilaksanakan dalam
jangka waktu yang lebih singkat. Teknologi Pipeline yang digunakan pada
komputer bertujuan untuk meningkatkan kinerja dari komputer.
Secara sederhana, pipeline adalah suatu
cara yang digunakan untuk melakukan sejumlah kerja secara bersamaan tetapi
dalam tahap yang berbeda yang dialirkan secara berlanjut pada unit pemrosesan.
Dengan cara ini, maka unit pemroses akan 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. Teknik pipeline
yang diterapkan pada microprocessor, dapat dikatakan sebuah arsitektur khusus.
Ada perbedaan khusus antara model microprocessor yang tidak menggunakan
arsitektur pipeline dengan microprocessor yang menerapkan teknik ini.
1. Pada microprocessor yang
tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru
instruksi berikutnya dapat dilaksanakan.
2. Pada 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.
Misalnya sebuah microprocessor 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 seterusnya, ketika instruksi pertama
masuk ke langkah 3, instruksi kedua masuk ke langkah 2 dan instruksi ketiga
masuk ke langkah. 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 beberapa kali dibandingkan dengan microprocessor yang
tidak menggunakan pipeline, apabila tahapan yang ada dalam satu kali pemrosesan
instruksi adalah banyak tahap. 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
resource yang bersamaan,
2. Ketergantungan terhadap
data, dan
3. Pengaturan Jump ke suatu
lokasi memori. 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. 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. Dengan menerapkan teknik pipeline ini, akan ditemukan sejumlah
perhatian yang khusus terhadap beberapa hal di atas, tetapi tetap akan
menghasilkan peningkatan yang berarti dalam kinerja microprocessor. Ada kasus
tertentu yang memang sangat tepat bila memanfaatkan pipeline ini, dan juga ada
kasus lain yang mungkin tidak tepat bila menggunakan teknologi pipeline. Gambar
pipeline: lima tahap pipeline pada mesin RISC (IF = Instruction Fetch(FI), ID =
Instruction Decode(DI), EX = Execute(EI), MEM = Memory access, WB = Register
write back(WO)) Dalam siklus waktu keempat (kolom hijau), paling awal adalah instruksi
dalam tahap Mem, dan instruksi terbaru belum masuk set pipelining.
Comments
Post a Comment