Sekilas Mengenai Superscalar VS Superpipeline

Pada pembahasan kali ini saya akan membahas mengenai perkembangan komputasi modern mengenai pipeline terutama superpipeline dan superscalar pada komputer. Materi yang saya akan sampaikan masih jauh dari sempurna dikarenakan saya juga mendapat referensi dari berbagai sumber-sumber yang terkait pada kedua masalah diatas. Alas an saya membahas materi ini dikarenakan pipeline merupakan salah satu faktor yang berhubungan erat dengan komputasi modern dalam bidang prosessor. Terutama pada prosessor seperti Intel Pentium 4. Mudah-mudahan materi yang saya berikan bermaanfaat dan berguna bagi teman-teman sekalian. Jika ada salah atau saran dan kritik yang membangun. Saya menerima dengan senang hati. Terima kasih. Selanjutnya saya akan mulai saja dengan pembahasan materinya yaitu:

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

Contoh lain dari SuperScalar

  • 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.

  • Satu kesatuan instruksi (berupa ; arithmetic, pembacaan/penyimpanan, conditional branch) yang dapat diinisialisasi dan dieksekusi secara bebas (tidak tergantung instruksi lain).
  • Seperti yang diaplikasikan pada sistem RISC & CISC.

Alasan desain Superscalar

  • Sebagian besar operasi menggunakan besaran/nilai scalar.
  • Operasi ini memungkinkan peningkatan kinerja sistem hingga level tertentu.

Organisasi Superscalar secara umum

Superpipelined

  • Banyak tahapan pipeline membutuhkan kurang dari setengah siklus clock.
  • Penggandaan kecepatan dari internal clock memungkinkan untuk melakukan dua tugas pada satu siklus external clock.
  • Superscalar dapat melakukan fetch dan execute secara parallel

Superscalar vs Superpipeline

Implementasi Superscalar

  1. Proses fetch dari beberapa instruksi secara bersamaan.
  2. Logika untuk menentukan ketergantungan sebenarnya yang meliputi nilai register.
  3. Mekanisme untuk mengkomunikasikan nilai tersebut.
  4. Mekanisme untuk menginisialisasi instruksi paralel.
  5. Tersedianya sumber untuk eksekusi paralel dari beberapa instruksi.
  6. Mekanisme processing instruksi dengan urutan yg sesuai.

Pada penjelasan diatas bias diterangkan bahwa untuk superscalar dapat digunakan untuk berbagai keperluan dan dapat diimplementasikan pada perangkat prosessor seperti :

Pentium 4

Pada Pentium, implementasi superscalar dapat dijabarkan sebagai berikut :

  • 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 Diagram

Operasi Pada Pentium 4

  • 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.

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

Referensi :

  1. http://en.wikipedia.org/wiki/Superscalar
  2. http://portal.acm.org/citation.cfm?id=891364
  3. http://www42.indowebster.com/ffbb92bcef6461d58fcb1b21036f1ce6.pdf
  4. http://www.rs.tu-darmstadt.de/downloads/docu/dlxdocu/SuperscalarDLX.html
  5. http://daunsalam.net/artikel/intropipeline.htm
  6. http://en.wikipedia.org/wiki/Super_Pipeline

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: