Nama:Christian Philips Ardiyanto
NIM:13170187
Kelas13.3A.351. apa sih branch prediction itu ?
Dalam arsitektur komputer, sebuah
prediktor cabang adalah sirkuit digital yang mencoba untuk menebak arah mana
cabang (misalnya struktur if-then-else) akan pergi sebelum ini diketahui pasti.
Tujuan dari prediktor cabang untuk meningkatkan aliran dalam pipa intruksi.
rediktor cabang penting dalam mikroprosesor pipelined hari ini untuk encapai kinerja tinggi.
Dua arah percabangan biasanya
diimplementasikan dengan instruksi lompat bersyarat. Sebuah lompat bersyarat
dapat menjadi "tidak diambil" dan melanjutkan eksekusi dengan
cabangpertama dari kode yang mengikuti segera setelah lompat bersyarat - atau
dapat "diambil" dan melompat ke tempat yang berbeda di memori program
dimana cabang kedua ode adalahdisimpan. Hal ini tidak diketahui
secara pasti apakah lompat bersyarat akan diambil atau tidak diambil sampai
kondisi telah dihitung dan lompat bersyarat telah lulus tahap eksekusi dalam
pipa instruksi (lihat gambar. 1).
Tanpa
prediksi cabang, prosesor harus menunggu sampai instruksi lompat bersyarat
telah melewati tahap mengeksekusi sebelum instruksi berikutnya dapat memasuki
tahap fetch dalam pipa. Prediktor cabang upaya untuk menghindari pemborosan
waktu dengan mencoba untuk menebak apakah lompat bersyarat yang paling mungkin
diambil atau tidak diambil. Cabang yang diduga sebagai yang paling mungkin
adalah kemudian diambil dan spekulasi dieksekusi. Jika kemudian mendeteksi
bahwa salah menebak maka instruksi dieksekusi spekulatif atau sebagian
dieksekusi dibuang dan pipa dimulai atas dengan cabang yang benar.
Waktu yang terbuang dalam kasus
misprediction cabang sama dengan jumlah tahap dalam pipa dari tahap ke tahap
fetch mengeksekusi. Mikroprosesor modern cenderung memiliki pipa yang cukup
panjang sehingga penundaan misprediction adalah antara 10 dan 20 siklus clock.
Semakin lama pipa tinggi kebutuhan untuk prediksi cabang yang baik. Pertama
kali instruksi lompat bersyarat ditemui, tidak ada banyak informasi untuk dasar
prediksi di. Tapi prediksi cabang menyimpan catatan dari apakah cabang diambil
atau tidak diambil. Ketika bertemu dengan lompat bersyarat yang telah melihat
beberapa kali sebelum kemudian dapat dasar prediksi pada sejarah masa lalu.
Prediktor cabang mungkin, misalnya, mengakui bahwa lompat bersyarat diambil
lebih sering daripada tidak, atau bahwa itu adalah diambil setiap kali kedua.
Prediksi cabang tidak sama dengan
prediksi cabang target.Prediksi cabang upaya untuk menebak apakah lompatan
bersyarat akan diambil atau tidak. Cabang prediksi target yang mencoba untuk
menebak target lompatan bersyarat atau tanpa syarat diambil sebelum dihitung
oleh decoding dan mengeksekusi instruksi itu sendiri. Cabang cabang prediksi
dan prediksi target sering dikombinasikan ke dalam sirkuit yang sama.
2. apa sih data flow analysis itu ?
data flow analysis adalah teknik untuk
mengumpulkan informasi tentang
kemungkinan himpunan nilai-nilai dihitung pada berbagai titik dalam sebuah program komputer. Kontrol aliran Sebuah
program grafik (CFG) digunakan untuk menentukan bagian-bagian dari program yang
nilai tertentu ditugaskan ke variabel mungkin merambat. Informasi yang
dikumpulkan sering digunakan oleh compiler ketika mengoptimalkan program.
Sebuah contoh kanonik dari analisis data-aliran mencapai definisi. Sebuah cara
sederhana untuk melakukan analisis data aliran program adalah untuk mengatur
aliran data persamaan untuk setiap node dari grafik kontrol aliran dan
menyelesaikannya dengan berulang kali menghitung output dari input lokal disetiap
node sampai seluruh sistem stabil, yaitu, fixpoint mencapai suatu. pendekatan
umum ini dikembangkan oleh Gary Kildall saat mengajar di Naval Postgraduate
School
3. apa sih
speculative execution itu ?
Eksekusi spekulatif dalam sistem
komputer adalah melakukan pekerjaan, yang
hasilnya mungkin tidak diperlukan. Teknik optimasi kinerja
digunakan alam prosesor pipelined dan
sistem lainnya
Komentar
Posting Komentar