Pipelining

16
Pipelining

description

Pipelining. Pipelining. Teknologi pipeline yang digunakan pada komputer bertujuan untuk meningkatkan kinerja dari komputer. - PowerPoint PPT Presentation

Transcript of Pipelining

Page 1: Pipelining

Pipelining

Page 2: Pipelining

Pipelining

• 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 kontiniu pada unit pemrosesan. Dengan cara ini, maka unit pemroses selalu bekerja.

Page 3: Pipelining

Pipelining

• 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 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

Page 4: Pipelining

Why Pipelining - continued-2

• Dual Processor System is costly

• Need to find some more “least costly” solution

• Find a way to improve “single” processor solution: Pipelining

Page 5: Pipelining

Why Pipelining ?- continued.3

• Pipelining meniru proses assembly-chain (ban berjalan) di industri : Misalnya Industri Mobil

Ban BerjalanIndustri Karoseri

Press Plat BodyPasang pintu, jendela, kap mesin

Cat dasar, anti karat, cat final

Pasang Mesin, Jok, kaca,karet , lampu

Pasang kabel,roda, ac, dll

Test engine static,test electric, dll

Unit 1 Unit 2 Unit 3

Unit 4Unit 5Unit 6

Page 6: Pipelining

Why Pipelining ?

• Setiap unit, menjalankan fungsi tertentu yang unik

• Setiap “clock” (satuan waktu tertentu), setiap unit secara serentak menyelesaikan pekerjaannya

• Pekerjaan “bergeser” dari unit i ke unit (i + 1), sampai akhirnya pekerjaan selesai

• Pada waktu seluruh unit terisi penuh, pada setiap “clock” akan keluar (selesai) satu unit mobil

• Bandingkan dengan proses non-assembly, dimana pekerjaan diselesaikan semua dahulu (seluruh pekerjaannya mobil ke j selesai), baru mobil ke (j+1) mulai dikerjakan

Page 7: Pipelining

Why Pipelining ? - continued.5

• Secara instinktif, dapat dideduksi bahwa :

Tanpa assembly, maka setiap mobil akan selesai dalam waktu ( n x waktu setiap unit)

• Dengan assembly : pada saat semua unit penuh, maka setiap “clock” (waktu pengolahan disetiap unit), akan keluar satu mobil

• Tnon-assembly = ( n x Tunit-assembly), dimana

n adalah jumlah unit dalam assembly

• Jadi, dalam kondisi assembly penuh, percepatan proses produksi mobil dengan assembly (ban berjalan) adalah n kali lebih cepat dibanding tanpa assembly

Page 8: Pipelining

Let’s take a look at another example

Page 9: Pipelining

Pipelining: Its Natural!• Bayangkan sebuah pabrik kue di mana proses pembakaran dan

pengemasan kue untuk pengiriman dilakukan secara terpisah. • Misalkan departemen pengiriman memiliki sebuah ban berjalan

pembawa panjang dengan lima pekerja (satuan pemrosesan) yang berdiri berjejer sepanjang ban berjalan tersebut.

• Setiap 10 detik (siklus jam), pekerja 1 menempatkan sebuah kotak kue kosong pada ban tersebut. Kotak tersebut dibawa ke pekerja 2, yang memasukkan sebuah kue ke dalam kotak itu. Sesaat kemudian, kotak tersebut sampai di pos kerja pekerja 3, yang kemudian menutup dan menyegel kotak tersebut. Selanjutnya kotak tersebut diteruskan ke pekerja 4, yang memasang sebuah label pada kotak kue itu. Terakhir, pekerja 5 memindahkan kotak tersebut dari ban dan memasukkannya dalam sebuah kontainer besar untuk kemudian dikirim ke sebuah supermarket.

• Pada dasarnya, cara kerja seperti ini juga berlaku pada pipelining komputer: setiap instruksi (kue) melalui beberapa langkah pemrosesan sebelum mencapai hasil sempurna pada akhir proses.

Page 10: Pipelining

Pipelining: Its Natural!

• Laundry Example• Anti, Bima, Cepy dan Dedi

each have one load of clothes to wash, dry, and fold

• Washer takes 30 minutes• Dryer takes 40 minutes• “Folder” takes 20 minutes

A B C D

Page 11: Pipelining

Sequential Laundry

• Sequential laundry takes 6 hours for 4 loads

• If they learned pipelining, how long would laundry take?

A

B

C

D

30 40 20 30 40 20 30 40 20 30 40 20

6 PM 7 8 9 10 11 Midnight

Task

Order

Time

Page 12: Pipelining

Pipelined LaundryStart work ASAP

• Pipelined laundry takes 3.5 hours for 4 loads

A

B

C

D

6 PM 7 8 9 10 11 Midnight

Task

Order

Time

30 40 40 40 40 20

Page 13: Pipelining

Analogi lain : pipa berisi bola berjalan

• Sebuah pipeline system dianalogikan sebagai sebuah pipa yang berisi bola yang mengelinding

• Setelah pipa dipenuhi bola, setiap kali masuk satu bola disisi input, pasti akan keluar bola lain disisi output

• Kondisi “pipa-penuh” tersebut tercapai setelah ada n bola yang masuk (n adalah seksi/unit dari pipeline)

Page 14: Pipelining

Kesulitan dalam pipelining

• Tiga kesulitan yang sering dihadapi ketika menggunakan teknik pipeline ini adalah– Terjadinya penggunaan resource yang

bersamaan– Ketergantungan terhadap data– Pengaturan Jump ke suatu lokasi memori.

Page 15: Pipelining

Kesulitan dalam pipelining

• 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.

Page 16: Pipelining

End of Lecture