Rabu, 17 Desember 2008

Superscalar VS Superpipeline

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 menjlankan Instruction Level Parallelism dengan satu prosesor. Superscalar dapat diaplikasikan di RISC dan CISC, tapi pada umumnya RISC.

Pipeline

Adalah meningkatkan kinerja komputer dengan cara saling overlap tahapan dari instruksi yang berbeda.

Pada pipenline untuk melakukan proses (stages) overlapping dibutuhkan paling tidak setengah clock. Sedangkan superscalar mengijinkan proses untuk bekerja secara bersamaan pada saat clock yang sama.

Superscalar VS Superpipeline


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


Berikut perbandingan superscalar dengan system i386


Cycles Per Instruction


Instruction Type 386 Cycles 486 Cycles

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 (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

Tujaun (destinition) dari I1 bukan tujuan (destination) dari I2

Jika kondisi diatas tidak dapat dipenuhi

I1 melakukan proses U-pipe

I2 dijalankan di cycle berikutnya

Pengertian Superscalar

Salah satu jenis dari arsitektur, dimana superscalar adalah sebuah uniprocessor yang dapat mengeksekusi dua atau lebih operasi scalar dalm bentuk paralel.

n Satu kesatuan instruksi (berupa ; arithmetic, pembacaan/penyimpanan, conditional branch) yang dapat diinisialisasi dan dieksekusi secara bebas (tidak tergantung instruksi lain).

n Seperti yang diaplikasikan pada sistem RISC & CISC


Alasan desain Superscalar

n Sebagian besar operasi menggunakan besaran/nilai skalar

n Operasi ini memungkinkan peningkatan kinerja sistem hingga level tertentu

Organisasi Superscalar secara umum


Superpipelined

n Banyak tahapan pipeline membutuhkan kurang dari setengah siklus clock.

n Penggandaan kecepatan dari internal clock memungkinkan untuk melakukan dua tugas pada satu siklus external clock

n Superscalar dapat melakukan fetch dan execute secara parallel

Superscalar vs Superpipeline

Superscalar Implementation

n Proses fetch dari beberapa instruksi secara bersamaan.

n Logika untuk menentukan ketergantungan sebenarnya yang meliputi nilai register

n Mekanisme untuk mengkomunikasikan nilai tersebut.

n Mekanisme untuk menginisialisasi instruksi paralel.

n Tersedianya sumber untuk eksekusi paralel dari beberapa instruksi.

n Mekanisme processing instruksi dengan urutan yg sesuai.

Pentium 4

n 80486 - CISC

n Pentium – ada beberapa komponen superscalar

¨ 2 unit eksekusi integer yang terpisah

n Pentium Pro – Full superscalar

n Memperhalus models subsequent & Meningkatkan design superscalar

Pentium 4 Block Diagram

Pentium 4 Operation

n Pengambilan instructions pada memory dari urutan static program

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

n Meng-eksekusi micro-ops pada pipeline superscalar

¨ micro-ops boleh dieksekusi tanpa berurutan

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

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

n Pada pipeline RISC terdapat 20 tahapan

¨ Beberapa micro-ops memerlukan banyak tahapan eksekusi

n Pipeline terpanjang

¨ Pada x86 hingga Pentium ada 5 tahapan pipeline

Pentium 4 Pipeline

Pentium 4 Pipeline Operation (1)

Pentium 4 Pipeline Operation (2)

Pentium 4 Pipeline Operation (3)

Pentium 4 Pipeline Operation (4)

Pentium 4 Pipeline Operation (5)

Pentium 4 Pipeline Operation (6)

PowerPC 601
Pipeline
Structure

PowerPC 601 Pipeline

Senin, 08 Desember 2008

Soal & Jawaban Pada Mode Pengalamatan

1. Jelaskan hubungan antara jumlah bit pada apcode dengan jumlah instruksi yang ada ?
Jumlah bit pada apcode akan mempengaruhi jumlah jenis instruksi semakin sedikit bit semakin cepat instruksinya.

2. Jelaskan hubungan antara jumlah bit pada alamat yang ada di set instruksi dengan jumlah alamat yang bias di jangkau ?
Untuk alamat – alamat yang merefensi memori secara eksplisit, jangkauan ditentukan oleh jumlah bit yang digunakan untuk pengalamatan.

3. Bagaimana cara agar set instruksi jumlah dapat menambah jangkauan pada memori ?
Panjang instruksi harus sama dengan panjang perpindahan memori ( pada system bus, panjang bus data ) dan panjang instruksi seharusnya merupakan kelipatan panjang instruksi lainnya.

4. Jelaskan kapan dan pada saat apa mode pengalamatan digunakan ?
Pada saat Bahasa Tinggkat Tinggi melakukan eksekusi, jadi mode pengalamatan digunakan untuk memudahkan bahasa – bahasa tingkat tinggi mengeksekusi secara efisien.