Perkuliahan Ke 12- Arsitekstur Dan Organisasi Komputer - Superscalar
⏩ Perkuliahan Ke 12- Arsitekstur Dan Organisasi Komputer
Nama : Arinda Putri Husaini
NIM : 23420027
Kelas : TIFB 20/Malam
Superscalar
Superscalar merupakan Instruksi Umum (arithmetic, load/store, conditional branch) dapat diinisiasi dan dieksekusi secara independen, Dapat diaplikasikan pada arsitektur RISC dan CISCIde Superscalar pada mulanya merupakan pemikiran peneliti RISC, jadi umumnya terapkan pada RISC.
⇒Mengapa Superscalar? Operasi lebih banyak pada kuantitas scalar
Meningkatkan operasi diatas akan memperoleh peningkatan kinerja keseluruhanIntisari dari pendekatan superskalar adalah kemampuan untuk melaksanakan instruksi2 secara independen dalam pipeline yang berbeda.
⇒Organisasi Umum Superscalar
Merupakan pendekatan alternatif untuk memperoleh kinerja yg lebih baikSuperpipeline ini memanfaatkan fakta bahwa banyak tahapan pipeline memerlukan waktu kurang dari ½ siklus clock, Internal kecepatan clock yg dilipatgandakan akan dapat menjalankan 2 tugas per eksternal siklus clock, Karena processor superscalar mengijinkan pengambilan instruksi secara paralel maka pendekatan superpipeline masih lebih lambat dari superscalar.
⇒Superscalar vs Superpipeline⇒ Keterbatasan Superscalar
Kemampuannya tergantung dari tingkat ke- paralelan instruksiKemampuan juga tergantung pada kombinasi optimasi pada basis compiler dan teknik perangkat kerasnyaSemua kemampuan diatas dibatasi oleh:
⇒Batasan
⇒Superscalar vs Superpipeline⇒ Keterbatasan Superscalar
Kemampuannya tergantung dari tingkat ke- paralelan instruksiKemampuan juga tergantung pada kombinasi optimasi pada basis compiler dan teknik perangkat kerasnyaSemua kemampuan diatas dibatasi oleh:
- True data dependency
- Procedural dependency
- Resource conflicts
- Output dependency
- Antidependency
⇒Batasan
Paralelisme tingkat isntruksi, optimasi berbasis kompiler, teknik perangkat keras dibatasi oleh ketergantungan data yang benar , ketergantungan prosedural konflik sumber daya,
ketergantungan keluaran Antidependensi .
⇒True Data Dependency Contoh instruksi: ADD r1, r2 (r1 := r1+r2;)
MOVE r3,r1 (r3 := r1;)Instruksi diatas menggambarkan:Instruksi kedua dapat diambil dan dikodekan, tetapi tidak dapat dieksekusi sampai instruksi pertama selesai di eksekusi
⇒Prosedural DependencySistem tidak dapat mengeksekusi instruksi sebelum pencabangan juga, jika panjang instruksi tidak tetap (Variabel) , instruksi harus dikode untuk mengetahui berapa kali Fetch yang diperlukan. Hal ini akan mencegah terjadinya Fech pipeline secara simultan Perocedural Dependency ini juga merupakan suatu alasan mengapa teknik superscalar ini lebih diterapkan pada RISC.
⇒RISC - Delayed Branch(Cabang tertunda)
MOVE r3,r1 (r3 := r1;)Instruksi diatas menggambarkan:Instruksi kedua dapat diambil dan dikodekan, tetapi tidak dapat dieksekusi sampai instruksi pertama selesai di eksekusi
⇒Prosedural DependencySistem tidak dapat mengeksekusi instruksi sebelum pencabangan juga, jika panjang instruksi tidak tetap (Variabel) , instruksi harus dikode untuk mengetahui berapa kali Fetch yang diperlukan. Hal ini akan mencegah terjadinya Fech pipeline secara simultan Perocedural Dependency ini juga merupakan suatu alasan mengapa teknik superscalar ini lebih diterapkan pada RISC.
⇒RISC - Delayed Branch(Cabang tertunda)
- Hitung hasil dari cabang sebelum instruksi yang tidak dapat digunakan diambil sebelumnya
- selalu jalankan instruksi tunggal segera setelah cabang
- menjaga pipeline tetap penuh saat mengambil aliran instruksi baru
- Tidak begitu bagus untuk superscalar beberapa instruksi perlu dijalankan di slot penundaan masalah ketergantungan instruksi kembalikan ke prediksi cabang
⇒Superscalar Execution
Kondisi persaingan pada dua instruksi atau lebih yg memerlukan akses pada resource yg sama pada waktu yg bersamaan. contoh pada 2 instruksi aretmatika :Dapat diatasi dengan menduplikasi resourcecontoh: memiliki 2 unit aretmetika
Comments
Post a Comment