ORGANISASI dan ARSITEKTUR KOMPUTER Superscalar

Apa itu 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 Processor

•Contoh CPU yang telah menerapkan arsitektur superscalar :
oIntel Processors: 486, Pentium, Pentium Pro, Pentium II, Pentium III, dsb
oAMD Processors: AMD K5, AMD K6, AMD Athlon, dsb
•Contoh arsitektur superscalar lainnya:
oMIPS R10000
oDEC Alpha 21264




Superscalar Arsitektur
























Cara Kerja Superskalar

•Superscalar dapat mengeksekusi instruksi 1 (I1) dan instruksi 2 (I2) secara pararel dengan syarat:
oKeduanya instruksi yang sederhana
oI1 tidak melakukan proses jump
oTujuan (destination) dari I1 bukan sumber (source) dari I2
oTujaun (destinition) dari I1 bukan tujuan (destination) dari I2
•Jika kondisi diatas tidak dapat dipenuhi:
oI1 melakukan proses U-pipe
oI2 dijalankan di cycle berikutnya



Contoh Penerapan Superscalar

•Load 4 1
Store 2 1
ALU 2 1
Jump taken 9 3
Jump not taken 3 1
Call 9 3
•Superscalar dapat mengeksekusi instruksi 1 (L1) dan instruksi 2 (L2) secara pararel dengan syarat
oKeduanya instruksi yang sederhana
oL1 tidak melakukan proses jump
oTujuan dari L1 bukan sumber dari L2
oTujaun dari L1 bukan tujuan dari L2
•Jika kondisi diatas tidak dapat dipenuhi
oL1 melakukan proses U-pipe
oL2 dijalankan di cycle berikutnya

Pipeline

•Adalah meningkatkan kinerja komputer dengan cara saling overlap tahapan dari instruksi yang berbeda.
•Pada pipeline untuk melakukan proses (stages) overlapping dibutuhkan paling tidak setengah clock. Sedangkan superscalar mengijinkan proses untuk bekerja secara bersamaan pada saat clock yang sama.

Teknik Dalam Superskalar

•Teknik yang dapat dilakukan dengan metode superscalar ini adalah dalam hal memperkirakan pencabangan instruksi (brach prediction) serta perkiraan eksekusi perintah (speculative execution).
•Peristiwa ini sangat menguntungkan untuk program yang membutuhkan pencabangan dari kelompok intruksi yang dijalankannya.

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.
oJika kemungkinan yang dilakukan oleh komputer tepat, maka hasilnya sudah bisa diambil langsung dan tinggal melanjutkan perintah berikutnya.
oJika kemungkinan yang diperkirakan oleh komputer tidak tepat, maka akan dilaksanakan kemungkinan lain sesuai dengan logika instruksi tersebut.

Superpipelined

•Banyak tahap pipeline memerlukan waktu kurang dari setengah siklus clock
•Kecepatan clock internal yag double bisa mengerjakan dua tugas per siklus clock eksternal
•Superscalar memungkinkan mengambil eksekusi secara paralel

0 comments:

Post a Comment