download

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