Kamis, 25 Juni 2009

Superscalar

Salah satu jenis dari arsitektur, dimana superscalar adalah sebuah uniprocessor yang dapat mengeksekusi dua atau lebih operasi scalar dalam bentuk paralel. Merupakan salah satu rancangan untuk meningkatkan kecepatan CPU. Kebanyakan dari komputer saat ini menggunakan mekanisme superscalar ini.

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 serta perkiraan eksekusi perintah. 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

80486 - CISC

Pentium – ada beberapa komponen superscalar

2 unit eksekusi integer yang terpisah

Pentium Pro – Full superscalar

Memperhalus models subsequent & Meningkatkan design superscalar

Pentium 4 Block Diagram




Pentium 4 Operation

Pengambilan instructions pada memory dari urutan static program

Menterjemahkan instruction menjadi satu atau lebih instruksi RISC dengan panjang yg tetap (micro-operations)

Meng-eksekusi micro-ops pada pipeline superscalar

micro-ops boleh dieksekusi tanpa berurutan

Memasukan hasil dari micro-ops ke register set dalam urutan orisinil program.

Penggabungan CISC (bagian terluar) dengan RISC (bagian terdalam)

Pada pipeline RISC terdapat 20 tahapan

Beberapa micro-ops memerlukan banyak tahapan eksekusi

Pipeline terpanjang

Pada x86 hingga Pentium ada 5 tahapan pipeline


Sumber:

http://aanbageet.blogspot.com/

http://tetti-ekadharma.blogspot.com/2008/12/superscalar-vs-superpipeline.html

http://dewi-biru.blogspot.com/2008/06/pengertian-superscalar-dan-pipeleine.html


Tidak ada komentar:

Posting Komentar