Matakuliah Tahun Versi : H0162/ Mikroprosesor : 2006 : 1/0 Pertemuan 05 Pipelining 1 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: •mendemonstrasikan cara kerja Pipeline (C3) 2 Outline Materi • Jenis-jenis Pipeline • Pipeline Hazards • Instruction Level Parallelism (ILP) 3 4 Definisi • Pipelining adalah teknik yang digunakan untuk merealisasi Parallel Processing, yaitu dengan membagi operasi ke dalam k-stage (beberapa tingkatan) atau sub-operasi, sehingga pada satu saat ada k operasi berjalan yang sekaligus. 5 Pipeline • Pipelining adalah salah satu cara yang paling sering digunakan dalam pararel prosesing. Sebuah operasi dibagi menjadi sejumlah sub operasi elementer, kita namakan k. kemudian kita membentuk sebuah sistem dengan banyak stage sebesar k, dan mengeksekusi sub operasi tersebut pada setiap stage satu demi satu. 6 7 Jenis-Jenis Pipeline • Instruction Pipeline – Adalah dimana stage-stage yang berbeda dari pengambilan(fetch) dan eksekusi dari instruksi ditangani dalam sebuah pipeline. • Arithmetic Pipeline – Dimana operasi stage-stage yang berbeda dari operasi aritmatik di tangani sepanjang semua stage dari sebuah pipeline 8 Cara Kerja Pipeline • Download dan lihat Pipelining.swf 9 Pipeline Hazards • Pipeline Hazards adalah suatu situasi di mana yang membuat instruksi berikutnya tidak dapat dilaksanakan padahal sudah seharusnya jatuh tempo pada siklus waktunya. • Ada 3 jenis pipeline hazards – Struktural Hazard, yang dikarenakan masalah dukungan hardware untuk beberapa kombinasi instruksi (ibarat dengan satu lengan kanan saja diinstruksikan untuk mengambil makakan sekaligus menyuap ke mulut) – Data Hazard, instruksi selanjutnya menunggu data yang tergantung dari hasil instruksi sebelumnya yang belum selesai dilaksanakan – Control Hazard, instruksi melompat dan instruksi lainnya yang membuat stall (penundaan) pipeline sampai timbul gelembung (bubles atau NO OPeration instruksi terpaksa diselipkan) di dalam pipeline • Baca lebih detil PowerPoint: Pipeline Concept 10 Struktural Hazards • Bahaya struktural muncul dari konflik-konflik resource dimana hardware tidak dapt mendukung semua kombinasi-kombinasi yang mungkin dari eksekusi instruksi-instruksi yang bersamaan waktunaya secara simultan dalam stage-stage yang berbeda dari pipeline. • Keterbatasan struktur di dalam uP (tergantung jenis uP) terutama pada saat ingin FETCH instruki pada alamat memory tertentu dan WRITE data pada alamat memory lainnya. • Diatasi dengan memecah cache menjadi Instruction Cache dan Data Cache 11 Data Hazards • Bahaya data muncul ketika sebuah instruksi tergantung pada hasil dari instruksi sebelumnya dalam hal bahwa disebabkan oleh instruksi-instruksi yang bersamaan dalam stage-stage yang berbeda dari sebuah pipeline. 12 Control Hazards • Bahaya control muncul dari hadirnya pencabangan (branch), jump, dan perubahan aliran kontrol lainnya didalam pipeline. 13 Instruction Level Parallelism (ILP) • Instruction level parallelism (ILP) adalah family dari teknik desain prosesor dan kompiler yang mempercepat eksekusi dengan menyebabkan operasi mesin secara individual, seperti load memori dan menyimpan memori, operasi integer dan floting point, untuk dieksekusikan secara parallel. – SuperScalar, Dimana sejumlah instruksi dikeluarkan secara simultan dalam setiap cycle. – SuperPipelined, Dimana sejumlah instruksi dikeluarkan dalam sebuah cycle tapi tidak secara simultan. Dalam sejumlah n sistem super pipeline sebuah instruksi baru dikeluarkan setiap 1/n dari sebuah cycle. – VLIW, Very long instruction word(VLIW), dimana sebuah instruksi mengandung beberapa kode operasi dengan spesifikasi operandnya. 14 15 Klasifikasi Sistem ILP • Rau dan Fisher memberikan klasifikasi dari sistem ILP: – Arsitektur sikuensial, dimana program tidak diharapkan membawainformasi eksplisit apa pun mengenai parallelisme. Sistem super scalar termasuk dlam klas ini. – Arsitektur dependence, dimana program secara eksplisit menandakan ketergantungan yang ada antar operasi. data flow prosesor termasuk dalam klas ini. – Arsitektur independence, dimana program menyediakaninformasi terhadap operasi mana, adalah independence atau tidak bergantung satu dengan yang lainnya. Sistem VLIW termasuk dalam klas ini. 16 Perbandingan dari klas-klas ILP 17 UltraSPARC T1 18
© Copyright 2024 Paperzz