- Superscalar adalah arsitektur prosessor yang memungkinkan eksekusi yang bersamaan (parallel) dari instruksi yang banyak pada tahap pipeline yang sama sebaik tahap pipeline yang lain.
- Superscalar mampu menjalankan Instruction Level Parallelism dengan satu prosesor. Superscalar dapat diaplikasikan di RISC dan CISC, tapi pada umumnya RISC.
- Superscalar prosessor
o Memproses lebih dari satu instruksi per clock cycle
o Sangat dimungkinkan untuk memisahkan siklus fetch and execute
o Memiliki Buffers pada fase antara proses fetch and decode
o Memiliki unit eksekusi yang Parallel
- Cara kerja superscalar
o Superscalar dapat mengeksekusi instruksi 1 (I1) dan instruksi 2 (I2) secara pararel dengan syarat:
§ Keduanya instruksi yang sederhana
§ I1 tidak melakukan proses jump
§ Tujuan (destination) dari I1 bukan sumber (source) dari I2
§ Tujuan (destination) dari I1 bukan tujuan (destination) dari I2
o Jika kondisi diatas tidak dapat dipenuhi:
§ I1 melakukan proses U-pipe
§ I2 dijalankan di cycle berikutnya
- Teknik dalam superscalar
Branch prediction
• Program yang terdiri dari kelompok perintah bercabang sering digunakan dalam pemrograman.
• Pada CPU yang mendukung perintah pencabangan, CPU membutuhkan cukup banyak clock cycle, mengingat CPU menempatkan semuanya pada pipeline dan menemukan perintah berikutnya yang akan dieksekusinya.
• Sirkuit untuk branch prediction melakukan pekerjaan ini bekerja sama dengan pipeline, yang dilakukan sebelum proses di ALU dilaksanakan, dan memperkirakan hasil dari pencabangan tersebut.
Speculative execution
• CPU akan menggunakan melakukan perhitungan pada pipeline yang berbeda berdasarkan kemungkinan yang diperkirakan oleh komputer.
o Jika kemungkinan yang dilakukan oleh komputer tepat, maka hasilnya sudah bisa diambil langsung dan tinggal melanjutkan perintah berikutnya.
o Jika kemungkinan yang diperkirakan oleh komputer tidak tepat, maka akan dilaksanakan kemungkinan lain sesuai dengan logika instruksi tersebut.
Tidak ada komentar:
Posting Komentar