Pertemuan 11 Pipeline

25
MODUL PERKULIAHAN Arsitektur dan Organisasi Komputer Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Fakultas Ilmu Komputer Teknik Informatika 11 MK15004 B. Utami.F. Skom.,MM

description

pipeline

Transcript of Pertemuan 11 Pipeline

Page 1: Pertemuan 11 Pipeline

MODUL PERKULIAHAN

Arsitektur dan Organisasi KomputerModul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Fakultas Ilmu Komputer

Teknik Informatika 11 MK15004 B. Utami.F. Skom.,MM

Abstract Kompetensi

Page 2: Pertemuan 11 Pipeline

1.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 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.A. Kenapa komputer menggunakan teknik Pipelining ?

• Drive for computing speed never ends.

• Improvements from architecture or organization point of view are limited

• Clock speed enhancement is done, but more improvement should be sought from

instruction execution perspective, instead of hardware design

• Flyn’s Taxonomy : SISD (Single Instruction Single stream of Data), SIMD (Single

Instruction Multiple stream of data) or MIMD - Parallel

• Parallel Processor : may be a solution

• Use two processors (or more, instead of one) in a computer system

• How do it runs the code ? (program)

• Suppose, we have a problem :

C = (A2 + B2)

B. Solusi ParalelDengan menggunakan single processor dari sebuah kasus arithmatika yaitu

C = (A2 + B2) didapatkan statment code dengan bahasa rakitan adalah sebagai

berikut:

Original / single Code (single processor) MUL A,AMUL B,B ADD C,AADD C,B

Dari hasil perbandingan analiasa tersebut di dapatkan bahwa dengan

penambahan prosesor menjadi dua tidak menjamin effektifitas dari kasus yang akan

diproses. Malah untuk penambahan prosesor mengakibatkan cost yang yang keluar

Page 3: Pertemuan 11 Pipeline

menjadi lebih besar. Untuk mengatasi hal tersebut di gunakan metode pipelining,

yang memfaatkan hanya satu (single) prosesor menjadi lebih effektif. Pipeling sendiri

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

Press Plat BodyPasang pintu, jendela, kap mesin

Cat dasar, anti karat, cat final

Unit 1 Unit 2 Unit 3

Unit 6 Unit 5 Unit 4

Test engine static, Pasang kabel, Pasang Mesin, Jok,test electric, dll roda, ac, dll kaca,karet , lampu

Gambar 8.1 Bagan Ban befrjalan industri karoseri mobil

• 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

• 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 pen uh, percepatan proses produksi mobil

Page 4: Pertemuan 11 Pipeline

D

dengan assembly (ban berjalan) adalah n kali lebih cepat dibanding tanpa

assembly

Contoh yang lain adalah Laundry

Anti, Bima, Cepy dan Dedi mempunyai beberapa pakaian kotor yang jumlahnya

sama, mereke ingin loundry ke salah satu pusat loundry mandiri. Dimana loundry

tersebut hanya mempunyai mesin cuci, pengering dan setrika hanya satu buah

dimasing-masing pekerjaan membutuhkan waktu sebagai berikut funtuk mencuci

membutuhkan waktu sekitar 30 menit, untuk mengeringkan 40 menit sedangkan

untuk menyetrika membutuhkan waktu 20 menit. Proses kesuluruhan terlihat pada

gambar 8.2 dan 8.3.

A B C D

Gambar 8.2. Perbandingan pekerjaan dengan uang yang di keluarkan

6 7 8 9 1 1 MidnighTime

3 4 2 3 4 2Ta Ask BO Crd e r

3 4 2 3 4 2

Gambar 8.3. waktu yang diperlukan untuk proses keseluruhan loundry

72

Page 5: Pertemuan 11 Pipeline

C

Secara sekuensial didapatkan waktu selesai untuk semua pekerjaan dalam hal

ini 4 pekerjaan laundry membutuhkan waktu sekitar 6 jam. Dengan metode

pipelining apakah akan mendapatkan nilai yang lebih baik?

Kita dapat melihat proses loundry dengan metode pipeling terlihat pada

gambar 8.4 . dari gambar tesebut terlihat bahwa proses loudry dengan pipeling

membutuhkan waktu hanya 3,5 jam untuk 4 orang yaitu anti, bima, chepy dan

dedy.

6 7 8 9Tim

10 1 Midnigh

30 4 40Ta Ask BOr de Dr

4 4 2

Gambar 8.4 Proses loundry dengan metode pipeling

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)

Gambar 8.5

73

Page 6: Pertemuan 11 Pipeline

C. Pipelining di Prosesor

• Untuk menerapkan prinsip multi-stage atau mulai saat ini kita namakan

pipelining di prosesor, diperlukan organisasi prosesor khusus

• Pada dasarnya, prosesor dipartisi menjadi sejumlah unit-unit kecil dengan

fungsi spesifik

• Setiap unit berperan menyelesaikan sebagian dari eksekusi instruksi :

• Instruction f et c h , decode, operand address calculatio n , operand fetc h , execute

and store result

Gambar 8.6

Gambar.

74

Page 7: Pertemuan 11 Pipeline

Contoh : Pipelining program assembler

Contoh : Data Conflict

• Terjadinya pause (Pi), karena adanya data conflict dalam program tersebut

• Pipeline tidak “mulus”, cenderung lebih melebar

• Waktu pelaksanaan program menjadi lebih lama

• Jenis-jenis conflict :

Data, address dan branch

• Dengan terjadinya conflict tadi, speed-up yang diperoleh menjadi lebih kecil

(lambat) dibandingkan dengan tanpa conclict (pipa selalu penuh)

• Menjaga pipa selalu penuh tidak mudah

Contoh Address conflict

Page 8: Pertemuan 11 Pipeline

Contoh Branch Conflict

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

11 8 Orkom Pusat Bahan Ajar dan eLearningB.Utami. F. Skom., MM http://www.mercubuana.ac.id

Page 9: Pertemuan 11 Pipeline

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

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

2. 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 membuffferkannya Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan

tersebut.

11 9 Orkom Pusat Bahan Ajar dan eLearningB.Utami. F. Skom., MM http://www.mercubuana.ac.id

Page 10: Pertemuan 11 Pipeline

Pada saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya .

Instuksi Pipeline:Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut. Sebagai contoh :

Instruksi 1: ADD  AX, AXInstruksi 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. Demikian 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

Disini instruksi baru akan dijemput jika instruksi sebelumnya telah selesai dilaksanakan.

Contoh pengerjaan instruksi dengan pipeline

Disini instruksi baru akan dipanggil setelah tahap IF menganggur (t2).

Dengan adanya pipeline dua instruksi 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.

11 10 Orkom Pusat Bahan Ajar dan eLearningB.Utami. F. Skom., MM http://www.mercubuana.ac.id

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

Page 11: Pertemuan 11 Pipeline

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 =2). Ini berarti untuk 100 instruksi akan dapat dikerjakan dalam 104T (CPI = 1,04). Pada kondisi ideal CPI akan bernilai 1.

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.

Teknik perancangan pipeline mendekomposisikan sebarisan proses ke dalam sub-

subproses atau segmen. Setiap stadium melakukan fungsi khusus dan menghasilkan

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

3.Klasifikasi PipelinePipeline dapat kita klasifikasikan menurut fungsi dan konfigurasinya.

Secarafungsional, pipeline dapat diklasifikasikan menjadi tiga kelompok pokok :

11 11 Orkom Pusat Bahan Ajar dan eLearningB.Utami. F. Skom., MM http://www.mercubuana.ac.id

Page 12: Pertemuan 11 Pipeline

pipeliningaritmatika, instruksi, dan prosesor. Ramamoorthy dan Li (1977) mengajukan tiga skemauntuk mengklasifikasikan pipeline menurut konfigurasi dan strategi kendalinya : unifungsiatau multifungsi ; dan skalar atau vector.

Klasifikasi Berdasarkan Fungsi Pipelining Aritmatika

Proses segmentasi fungsi dari ALU dari sistem yang muncul dalam kategori ini. Pipelining Instruksi

Dalam suatu komputer non-pipeline, CPU bekerja melalui suatu siklus yang berkesinambungan dari fetch-decode-eksekusi untuk semua instruksinya. Proses fetchsuatu instruksi tidak akan dimulai sampai eksekusi instruksi sebelumnya selesai.Untuk mem-pipeline fungsi ini, instruksi-instruksi yang berdampingan di-fetch darimemori ketika instruksi yang sebelumnya di-decode dan dijalankan. Proses pipelininginstruksi instruction look ahead, mem-fetch instruksi secara berurutan. Dengandemikian, jika suatu instruksi menyebabkan percabangan keluar dari urutan itu maka pipe akan dikosongkan dari seluruh instruksi yang telah di-fetch sebelumnya daninstruksi percabangan tersebut di-fetch. Proses pipelining instruksi dikerjakan pada hampir semua komputer berkemampuan tinggi.

Pipelining ProsesorSewaktu stage dari suatu pipeline, prosesor aktual dan latch-latch saling berbagi memori di antara prosesor-prosesor tersebut, sehingga pipeline tersebut disebut sebagai pipeline prosesor. Dalam pipeline ini, setiap prosesor mempunyaisuatu tugas tertentu yang akan dijalankan pada aliran data. Pipelining banyak prosesor(multiple prosesor) merupakan konsep yang relatif baru dan belum umum.

Klasifikasi Berdasarkan Konfigurasi Unifungsi atau multifungsi

Kemampuan suatu pipeline menjalankan hanya satu jenis pokok operasi disebut sebagai pipeline unifungsi.Misalnya, perkalian floating-point mensyaratkan pipeline agar juga menjalankan operasi yang sama pada setiap kelompok input. Jika pipeline dapat menjalankan fungsi-fungsi yang berbeda maka disebut sebagai pipeline multifungsi. Fungsi-fungsi yang berbeda itu bisa dijalankan baik pada waktu yang bersamaan ataupun berbeda, dengan menghubungkan subkelompok-subkelompok stage yang berbeda dalam pipeline. Pipeline disusun seperlunya sesuai dengan nilai input kendali tambahan.

Statis atau dinamis 

11 12 Orkom Pusat Bahan Ajar dan eLearningB.Utami. F. Skom., MM http://www.mercubuana.ac.id

Page 13: Pertemuan 11 Pipeline

Ketika instruksi-instruksi yang berjenis sama akan dijalankan secara bersamaan waktunya, maka digunakan pipeline statis. Pipeline ini dapat berupa pipeline fungsional maupun multifungsional tetapi mungkin mengasumsikan hanya satu konfigurasi fungsional pada suatu waktu. Suatu pipeline multifungsi statis dapat bekerja paling baik jika fungsi yang akan dijalankan tidak sering berubah. Antara perubahan, pipeline terlihat sebagai pipeline unifungsi dan mengulangi operasi yang sama berulang-ulang. Sebelum mengganti fungsi tersebut, kelompok input terakhir dari fungsi sebelumnya harus benar-benar telah melewati pipeline. Kemudian pipeline dikonfigurasikan untuk fungsi yang baru dan input yang baru boleh masuk ke dalampipe. Dengan pipeline dinamis, beberapa konfigurasi fungsional dapat muncul sekaligus. Hal ini berarti harus digunakan sebuah pipeline multifungsional. Dalam kasus ini, konfigurasi pipe berubah-ubah secara konstan, tergantung pada data manauntuk fungsi yang mana pada stage yang mana untuk setiap penangguhan clock. Pipeline dinamis memerlukan kendali yang sangat kompleks dan mekanisme perangkat untuk mengkonfigurasikan pipe bagi input-input tertentu. Untuk alasan ini, pipelining aktual tidak berada di bawah kendali programmer melainkan dibangun kedalam arsitektur mesin tersebut.

Skalar atau vektorSuatu pipeline skalar memproses serangkaian operasi skalar pada operand skalar. Salah satu contoh berupa operasi ADD dalam loop FOR. Pipeline vector dirancang untuk memproses instruksi vektor dengan menggunakan operand vektor.Komputer yang mempunyai instruksi-instruksi vektor disebut sebagai prosesor vektor

4.Permasalahan Didalam Instruksi Pipeline

1. Variasi 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)

11 13 Orkom Pusat Bahan Ajar dan eLearningB.Utami. F. Skom., MM http://www.mercubuana.ac.id

Page 14: Pertemuan 11 Pipeline

Masalah dalam percabangan adalah pipelining diperlambat oleh instruksi karena

kita tidak tahu cabang mana yang harus kita ikuti.

Jeda (Interupsi)

Interupsi harus berperan antar instruksi. Yaitu, ketika satu instruksi telah selesai

daninstruksi berikutnya belum dimulai. Dengan pipelining, instruksi berikutnya

biasanya dimulai sebelum instruksi yang sekarang telah selesai

A. Solusi Permasalahan Pipeline1. Variasi Pemilihan Waktu (Timing Variations)

Metode sinkron = jika tahapan telah dianggap lengkap dari sejumlah siklus waktu

tertentu.Metode asinkron = lebih efisien, karena bit atau garis sinyal harus

dilewatkan maju ketahap berikutnya yang artinya data sudah valid. Ketika data

telah diterima, sinyal jugaharus melewati tahapan berikunya.

2. Data Berbahaya (Data Hazards)

Pipeline biasanya dilengkapi dengan small associative check memory yang dapat

menyimpan alamat dan jenis operasi. Ketika ada konflik, instruksi memasuki pipa

dan alamat operand disimpan dalam memory check. Ketika selesai, alamat ini akan

dihapus.

3. Percabangan (Branching)

Menunda Percabangan

Menyusun kembali program sehingga percabangan menjadi lebih sedikit.

Memprediksi jenis cabang.

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

1. Keuntungan dari Pipelining yaitu :

Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi

dalam kebanyakan kasus ( lebih cepat selesai).

11 14 Orkom Pusat Bahan Ajar dan eLearningB.Utami. F. Skom., MM http://www.mercubuana.ac.id

Page 15: Pertemuan 11 Pipeline

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.

Pemrosesan dapat dilakukan lebih cepat, dikarenakan beberapa proses

dilakukan secara bersamaan dalam satu waktu.

2. Kekurangan Pipelining yaitu :

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.

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.

Kinerja prosesor di pipeline jauh lebih sulit untuk meramalkan dan dapat

bervariasi lebih luas di antara program yang berbeda.

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.

C. Kesulitan dalam PipelineUntuk menerapkan prinsip multi-stage atau mulai saat ini kita namakan

pipelining di prosesor, diperlukan organisasi prosesor khusus. Pada dasarnya, prosesor

dipartisi menjadi sejumlah unit-unit kecil dengan fungsi spesifik. Setiap unit berperan

untuk menyelesaikan sebagian dari instruksi-intruksi berikut :

11 15 Orkom Pusat Bahan Ajar dan eLearningB.Utami. F. Skom., MM http://www.mercubuana.ac.id

Page 16: Pertemuan 11 Pipeline

Instruction fetch, decode, operand address calculation, operand fetch, execute dan

store result.

Dalam proses di atas terkadang sering terjadi kendala/conflict seperti:

Terjadinya pause (Pi), karena adanya data conflict dalam program tersebut

Terjadinya data error dikarenakan banyaknya proses yang dilakukan bersamaan

Terjadinya pengambilan data secara bersamaan, sehingga salah satu proses

tertunda

Terjadinya penumpukan data di salah satu intruksi sehingga ada beberapa proses

yg di tunda

Dengan terjadinya conflict tadi, speed-up yang diperoleh menjadi lebih kecil

(lambat) dibandingkan dengan tanpa conclict.

D. Kesimpulan :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 :

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

2. 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).

3. Pipeline perangkat lunak.

Dimana keluaran dari suatu program langsung dipakai oleh program lain sebagai

masukkan sehingga dapat langsung diproses.

11 16 Orkom Pusat Bahan Ajar dan eLearningB.Utami. F. Skom., MM http://www.mercubuana.ac.id

Page 17: Pertemuan 11 Pipeline

Pipeline adalah konsep alami di kehidupan sehari-hari. Umpamakan sebuah

perakitan mobil, asumsikan beberapa langkah di jalur perakitan adalah untuk

memasang mesin, memasang kap, dan memasang roda (dalam urutan tersebut,

dengan berbagai macam kemungkinan langkah - langkah lain diantara :

Sebuah mobil di jalur perakitan hanya satu dari tiga langkah diatas dapat selesai

dalam suatu waktu. Setelah sebuah mobil telah terpasang mesinnya, mobil tersebut

pindah ke pemasangan kap, dan mobil kedua sedang dalam tahap pemasangan

mesin. Setelah mobil pertama selesai memasang kap, mobil kedua dalam tahap

pemasangan kap, mobil pertama dalam tahap pemasangan roda, dan mobil ketiga

yang baru masuk dalam tahap pemasangan mesin. Dan begitu seterusnya.

Jika pemasangan mesin butuh 20 menit, pemasangan kap butuh 5 menit dan

pemasangan roda butuh 10 menit, maka menyelesaikan ketiga mobil tersebut jika

satu mobil dirakit dalam satu waktu akan membutuhkan waktu 105 menit. Sedangkan

jika menggunakan jalur perakitan seperti yang disebutkan diatas, waktu yang

diperlukan untuk menyelesaikan ketiganya hanya 75 menit.

PUSTAKA 1. http: // www.cs.ui.ac.id/~iki20210/ 2. http://blog.ub.ac.id/milan/2010/09/26/pipelining/ 3. http://id.wikipedia.org/wiki/Pipeline

11 17 Orkom Pusat Bahan Ajar dan eLearningB.Utami. F. Skom., MM http://www.mercubuana.ac.id