Ada beberapa pendapat yang menguraikan tentang pengertian dari superscalar, antara lain:
1. Superscalar adalah sebuah inti prosesor yang mengeksekusi dua kali/lebih operasi scalar dalam bentuk paralel. Superscalar ini merupakan salah satu rancangan untuk meningkatkan kecepatan CPU.
2. Superscalar adalah sebuah prosesor yang memungkinkan eksekusi yang bersamaan dari instruksi yang banyak pada tahap pipeline yang sama sebaik tahap pipeline yang lain.
3. Superscalar adalah uniprocessor yang dapat mengeksekusi dua atau lebih operasi scalar dalam bentuk paralel.
Peristiwa menarik yang bisa dilakukan dengan metoda superscalar ini adalah dalam hal memperkirakan pencabangan instruksi (brach prediction) serta perkiraan eksekusi perintah (speculative execution). Peristiwa ini sangat menguntungkan buat program yang membutuhkan pencabangan dari kelompok intruksi yang dijalankankannya. Program yang terdiri dari kelompok perintah bercabang ini sering digunakan dalam pemrograman. Contohnya dalam menentukan aktifitas yang dilakukan oleh suatu sistem berdasarkan umur seseorang yang sedang diolahnya, katakanlah jika umur yang bersangkutan lebih dari 18 tahun, maka akan diberlakukan instruksi yang berhubungan dengan umur tersebut, anggaplah seseorang tersebut dianggap telah dewasa, sedangkan untuk kondisi lainnya dianggap belum dewasa. Tentu perlakuannya akan dibedakan sesuai dengan sistem yang sedang dijalankan. Lalu apa yang dilakukan oleh CPU untuk hal ini? Komputer akan membandingkan nilai umur data yang diperolehnya dengan 18 tahun sehingga komputer dapat menentukan langkah dan sikap yang harus diambilnya berdasarkan hasil perbandingan tersebut. Sikap yang diambil tentu akan diambil berdasarkan pencabangan yang ada.
Pada CPU yang mendukung perintah pencabangan ini, CPU membutuhkan lumayan 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. Jika CPU berfikir bahwa branch akan menuju suatu cabang, biasanya berdasarkan pekerjaan sebelumnya, maka perintah berikutnya sudah dipersiapkan untuk dieksekusi berikut data-datanya, bahkan dengan adanya pipeline ini, bila tidak diperlukan suatu referensi dari instruksi terakhir, maka bisa dilaksanakan dengan segera, karena data dan instruksi yang dibutuhkan telah dipersiapkan sebelumnya..
Dalam hal speculative execution, artinya CPU akan menggunakan melakukan perhitungan pada pipeline yang berbeda berdasarkan kemungkinan yang diperkirakan oleh komputer. Jika kemungkinan yang dilakukan oleh komputer tepat, maka hasilnya sudah bisa diambil langsung dan tinggal melanjutkan perintah berikutnya, sedangkan jika kemungkinan yang diperkirakan oleh komputer tidak tepat, maka akan dilaksanakan kemungkinan lain sesuai dengan logika instruksi tersebut.
Contoh CPU yang telah menerapkan arsitektur superscalar : Intel Processors
• 486, Pentium, Pentium Pro
Superscalar Processor Design
• Use PowerPC 604 as case study
• Speculative Execution, Register Renaming, Branch Prediction
More Superscalar Examples
• MIPS R10000
• DEC Alpha 21264
Alasan desain Superscalar
Ø Sebagian besar operasi menggunakan besaran/nilai skalar
Ø Operasi ini memungkinkan peningkatan kinerja sistem hingga level tertentu
Organisasi Superscalar secara umum :
Superscalar Implementation
Ø Proses fetch dari beberapa instruksi secara bersamaan.
Ø Logika untuk menentukan ketergantungan sebenarnya yang meliputi nilai register
Ø Mekanisme untuk mengkomunikasikan nilai tersebut.
Ø Mekanisme untuk menginisialisasi instruksi paralel.
Ø Tersedianya sumber untuk eksekusi paralel dari beberapa instruksi.
Ø Mekanisme processing instruksi dengan urutan yg sesuai.
Pentium 4
v 80486 - CISC
v Pentium – ada beberapa komponen superscalar
2 unit eksekusi integer yang terpisah
v Pentium Pro – Full superscalar
v Memperhalus models subsequent & Meningkatkan design superscalar
Pentium 4 Block Diagram
Pentium 4 Operation
v Pengambilan instructions pada memory dari urutan static program
v Menterjemahkan instruction menjadi satu atau lebih instruksi RISC dengan panjang yg tetap (micro-operations)
v Meng-eksekusi micro-ops pada pipeline superscalar
o micro-ops boleh dieksekusi tanpa berurutan
v Memasukan hasil dari micro-ops ke register set dalam urutan orisinil program.
v Penggabungan CISC (bagian terluar) dengan RISC (bagian terdalam)
v Pada pipeline RISC terdapat 20 tahapan
o Beberapa micro-ops memerlukan banyak tahapan eksekusi
§ Pipeline terpanjang
o Pada x86 hingga Pentium ada 5 tahapan pipeline
aanbageet.blogspot.com
tetti-ekadharma.blogspot.com/...
dewi-biru.blogspot.com/...