Anda di halaman 1dari 6

ORGANISASI dan ARSITEKTUR KOMPUTER

PIPELINE

DISUSUN OLEH:
Hanif Maulana Hasbi (A11.2016.09898)

TEKNIK INFORMATIKA
UNIVERSITAS DIAN NUSWANTORO SEMARANG
2017
KATA PENGANTAR

Dengan mengucapkan puji syukur kehadirat Tuhan Yang Maha Esa dan berkat rahmat
dan izinnya sehingga tugas Makalah Mata Kuliah Organisasi dan Arsitektur Komputer yang
mangambil tema PIPELINE dapat kami seleseikan tepat pada waktunya. Dalam penulisan
Makalah ini tidak terlepas dari dukungan dan partisipasi dari berbagai pihak. Sehubungan
dengan hal itu, kami mengucapkan terima kasih kepada pihak-pihak yang telah membantu
dalam kegiatan ini.
Kami menyadari makalah ini masih jauh dari kesempurnaan oleh karena itu, kami
sangat mengharapka masukan, kritik, dan saran untuk kesempurnaan penulis makalah ini pada
masa yang akan datang. Demikian Makalah yang dapat kami sajikan, mudah-mudahan dapat
bermanfaat bagi tim penulis khususnya dan untuk pembaca pada umumnya.
A. 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. Pada
microprocessor yang tidak menggunakan pipeline, satu intruksi dilakukan sampai
selesai, baru intruksi berikutnya dapat dilaksanakan. Sedangkan dalam
microprocessor yang menggunakan teknik pipeline, ketika satu intruksi sedang
diproses, maka intruksi yang berikutnya juga dapat diproses dalam waktu yang
bersamaan. Tetapi, intruksi 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 microprocessor akan didapatkan peningkatan
dalam unjuk kerja microprocessor. Hal ini terjadi karena beberapa instruksi daat
dilakukan secara parallel dalam waktu yang bersamaan. Secara kasarnya diharapkan
akan didapatkan peningkatan sebesar X kali dibandingkan dengan microprocessor
yang tidak menggunakan pipeline, apabila tahapan yang ada dalam satu kali
pemrosesan instruksi adalah X tahap. Karena beberapa instruksi diproses secara
bersamaan ada kemungkina 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.
Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam system
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.
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 sedang
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.

B. Tahapan Instruksi Pipeline


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 1.
Tahapan Pipeline :
- Mengambil instruksi dan membufferkannya.
- Ketika tahapan kedua bebad tahapan pertama mengirimkan instruksi yang
dibufferkan tersebut.
- Pada saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama
memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan
membufferkan instruksi berikutnya.
Instruksi Pipeline :
Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda,
maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut.
Contoh :
Instruksi 1 : ADD AX, AX
Instruksi 2 : ADD EX, CX
Setelah CU menjemput instruksi 1 dari memori (IF), CU akan menerjemahkan
instruksi tersebut(ID). Pada menerjemahkan instruksi 1 tersebut, komponen IF tidak
bekerja. Dengan adanya teknologi pipeline menyebabkan IF akan menjemput
instruksi 2 pada saat ID menerjemahkan instruksi 1. Seterusnya pada saat CU
menjalankan instruksi 1 (EX), instruksi 2 diterjemahkan (ID).
Contoh pengerjaan instruksi tanpa pipeline :
t= 1 2 3 4 5 6 7 8 9 10
ADD AX,AX IF DE IF DE EX
ADD BX,CX IF DE IF DE EX
Instruksi baru akan dijemput jika instruksi sebelumnya telah selesai dilaksanakan.
Contoh pengerjaan instruksi dengan pipeline
t= 1 2 3 4 5 6 7 8 9 10
ADD AX,AX IF DE IF DE EX
ADD BX,CX IF DE IF DE EX
ADD DX,DX IF DE IF DE EX
Instruksi baru akan dipanggil setelah tahap IF menganggur (t2).

Dengan adanya pipeline dua instrukasi selesai dilaksanakan pada detik keenam
(sedangkan pada kasus tanpa pipeline baru selesai pada detik kesepuluh). Dengan
demikian telah terjadi percepatan sebanyak 1,67x dari 10T menjadi hanya 6T.
Sedangkan untuk pengerjaan 3 buah instruksi terjadi percepatan sebanyak 2,14 dari
15T menjadi hanya 7T.
Untuk kasus pipeline sendiri, 2 Instruksi dapat dikerjakan dalam 6T(CPI = 3) dan
instruksi dapat dikerjakan dalam 7T (CPT = 2,3) dan untuk 4 instruksi dapat
dikerjakan dalam 8T(CPI = 1,04). Pada kondisi ideal CPI akan bernilai 1.
Teknik perancangan pipeline mendekomposikan debarisan proses ke dalam sub-
sub proses atau segmen. Setiap stadium melakukan fungsi khusus dan menghasilkan
suatu output yang dikehendaki dengan segera.

Setiap stadium akan memuat suatu input latch, atau disebut juga register atau
buffer, yang diikuti oleh satu sirkui pemrosesan. Sinyal clock dikoneksikan ke
masing-masing input latch.
Teknik perancangan pipeline mendekomposisikan sebarisan proses ke dalam sub-
sub proses atau segmen. Setiap stadium melakukan fungsi khusus dan menghasilkan
suatu output yang dikehendaki dengan segera.
Setiap stadium akan memuat suatu input latch, atau disebut juga register atau
buffer, yang diikuti oleh satu sirkuit pemrosesan. Sinyal clock dikoneksikan ke
masing-masing input latch.

C. Klasifikasi Pipeline
Pipeline dapat kita klasifikasikan menurut fungsi dan konfigurasinya. Secara
fungsional, pipeline dapat diklasifikasikan menjadi tiga kelompok pokok :
1. Pipelining aritmatika
Proses segmentasi fungsi dari ALU dari sistem yang muncul dalam kategori ini.
2. Pipelinging Instruksi
Dalam suatu komputer non-pipeline, CPU bekerja melalui suatu siklus yang
berkesinambungan dari fetch-decode-eksekusi untuk semua instruksinya. Proses
fetch suatu instruksi tidak akan dimulai sampai eksekusi instruksi sebelumnya
selesai. Untuk mempipeline fungsi ini, instruksi-instruksi yang berdampingan di-
fetch dari memori ketika instruksi yang sebelumnya di decode dan dijalankan.
Proses pipelining instruksi instrction look ahead, mem-fetch instruksi secara
berurutan. Dengan demikian, jika suatu instruksi menyebabkan percabangan
keluar dari urutan itu maka pipeline akan dikosongkan dari saluran instruksi yang
telah di fetch sebelumnya dari instruksi percabangan tersebut di fetch. Proses
pipelining instruksi dikerjakan pada hampir semua komputer berkemampuan
tinggi.
3. Pipelining Prosesor
Sewaktu stage dari suatu pipeline, prosesor aktual dan latch-latch saling berbagi
memori antara prosesor-prosesor tersebut, sehingga pipeline tersebut disebut
sebagai pipeline prosesor. Dalam pipeline ini, setiap prosesor mempunyai suatu
tugas tertentu yang akan dijalankan pada aliran data. Pipelining banyak
prosesor(multiple prosesor) merupakan konsep yang relatif baru dan belum
umum.

D. Permasalahan Di Dalam Instruksi Pipeline


1. Varisai Waktu
Tidak semua tahapan memakan waktu yang sama. Artinya, kecepatan instruksi
pipelining ditentukan oleh tahap yang paling lambat.
2. Data Berbahaya (Data Hazards)
Ketika beberapa instruksi dieksekusi secara parsial, masalah akan timbul jika
instruksi tersebut memiliki referensi data yang sama. Kita harus memastikan
bahwa instruksi selanjutnya tidak berusaha mengakses data lebih cepat dari
seharusnya.
3. Percabangan (Branch)
Masalah dalam percabangan adalah pipelining diperlambat oleh instruksi karena
kita tidak tahu cabang mana yang harus di ikuti.
4. Jeda (Interupsi)
Interupsi harus berperan antar instruksi. Yaitu, ketika satu instruksi telah selesai
dan instruksi berikutnya belum dimulai. Dengan pipelining, instruksi berikutnya
biasanya dimulai sebelum instruksi yang sekarang telah selesai.

E. Solusi Permasalahan Pipeline


1. Variasi Pemilihan Waktu (Timing Variations)
Metode sinkron adalah jika tahapan telah dianggap lengkap dari sejumlah siklus
waktu tertentu

Anda mungkin juga menyukai