ORGANISASI & ARSITEKTUR KOMPUTER 2 PROCESSOR SUPERSCALAR IBP WIDJA, MT
Apakah Superscalar? Instruksi Umum (arithmetic, load/store, conditional branch) dapat diinisiasi dan dieksekusi secara independen Dapat diaplikasikan pada arsitektur RISC dan CISC Ide 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 keseluruhan Intisari dari pendekatan superskalar adalah kemampuan untuk melaksanakan instruksi2 secara independen dalam pipeline yang berbeda
Organisasi Umum Superscalar
Superpipeline Merupakan pendekatan alternatif untuk memperoleh kinerja yg lebih baik Superpipeline 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 instruksi Kemampuan juga tergantung pada kombinasi optimasi pada basis compiler dan teknik perangkat kerasnya Semua kemampuan diatas dibatasi oleh: True data dependency Procedural dependency Resource conflicts Output dependency Antidependency
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
Procedural Dependency Sistem tidak dapat mengeksekusi instruksi setelah pencabangan paralel dengan instruksi sebelum pencabangan Juga, jika panjang instruksi tidak tetap (variabel), instruksi harus didekode untuk mengetahui berapa kali fetch yang diperlukan. Hal ini akan mecegah terjadinya fech pipeline secara simultan Perocedural Dependency ini juga merupakan suatu alasan mengapa teknik superscalar ini lebih diterapkan pada RISC
Resource Conflict 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 resource contoh: memiliki 2 unit aretmetika
Effect of Dependencies
Isu Design Paralelisme tingkat instruksi Paralelisme tingkat mesin Instruksi yg berurutan adalah independen Eksekusi dapat di overlap Tergantung oleh dependensi data dan prosedural Paralelisme tingkat mesin Kemampuan untuk mengabil keuntungan dari paralelisme tingkat instruksi Tergantung oleh jumlah dari pipeline paralel