Saturday 20 June 2009

Prosesor Superscalar

Superscalar adalah arsitektur prosessor yang memungkinkan eksekusi yang bersamaan (parallel) dari instruksi yang banyak pada tahap pipeline yang sama sebaik tahap pipeline yang lain. Prosesor superscalar mampu menjalankan 2 atau lebih operasi scalar dalam bentuk paralel. Superscalar mampu menjalankan Instruction Level Parallelism (berupa ; arithmetic, pembacaan/penyimpanan, conditional branch) dengan satu prosesor. Superscalar dapat diaplikasikan di RISC dan CISC, tapi pada umumnya RISC. Seperti pada gambar di bawah ini, prosesor superscalar mampu menjalankan 2 operasi secara bersama - sama. Sebagai perbandingan, kita bandingkan dengan base machine. Dimana base machine hanya mampu menjalankan satu operasi dalam waktu yang sama. Sehingga dapat kita lihat bahwa dengan superscalar, proses mampu berjalan lebih cepat.


Gambar 1. Superscalar vs Base Machine

Alasan munculnya prosesor superscalar ini adalah karena sebagian besar operasi - operasi sebelumnya masih menggunakan besaran/nilai skalar. Operasi ini memungkinkan peningkatan kinerja sistem hingga level tertentu.

Organisasi Prosesor Superscalar secara umum adalah sebagai berikut:


Gambar 2. Blok Diagram

Proses yang dilakukan oleh Prosesor Superscalar:
  • 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.
Beberapa Prosesor yang memakai sistem superscalar:

  • GENERASI 5 Pentium Classic (P54C): Chip ini dikembangkan oleh Intel dan dikeluarkan pada 22 Maret 1993. Prosessor Pentium merupakan super scalar, yang berarti prosessor ini dapat menjalankan lebih dari satu perintah tiap tik clock. Prosessor ini menangani dua perintah tiap tik, sebanding dengan dua buah 486 dalam satu chip. Terdapat perubahan yang besar dalam bus sistem : lebarnya lipat dua menjadi 64 bit dan kecepatannya meningkat menjadi 60 atau 66 MHz. Sejak itu, Intel memproduksi dua macam Pentium yang bekerja pada sistem bus 60 MHz (P90, P120, P150, dan P180) dan sisanya, bekerja pada 66 MHz(P100, P133,P166, dan P200).
  • Pentium Pro, keluar tahun 1995. Kemajuannya pada peningkatan organisasi superscalar untuk proses paralel, ditemukan sistem prediksi cabang, analisa aliran data dan sistem cache memori yang makin canggih.


DAFTAR PUSTAKA:

  1. Superscalar VS Superpipeline
  2. Evolusi dan Kinerja Komputer
  3. Sejarah Perkembangan Prosesor

Perbedaan RISC dan CISC

CISC dan RISC perbedaannya tidak signifikan jika hanya dilihat dari terminologi set instruksinya yang kompleks atau tidak (reduced). Lebih dari itu, RISC dan CISC berbeda dalam filosofi arsitekturnya. Filosofi arsitektur CISC adalah memindahkan kerumitan software ke dalam hardware. Teknologi pembuatan IC saat ini memungkinkan untuk menamam ribuan bahkan jutaan transistor di dalam satu dice. Bermacam-macam instruksi yang mendekati bahasa pemrogram tingkat tinggi dapat dibuat dengan tujuan untuk memudahkan programmermicrocode berupa firmware internal di dalam chip-nya yang berguna untuk menterjemahkan instruksi makro. Mekanisme ini bisa memperlambat eksekusi instruksi, namun efektif untuk membuat instruksi-instruksi yang kompleks. Untuk aplikasi-aplikasi tertentu yang membutuhkan singlechip membuat programnya. Beberapa prosesor CISC umumnya memiliki komputer, prosesor CISC bisa menjadi pilihan.

Sebaliknya, filosofi arsitektur RISC adalah arsitektur prosesor yang tidak rumit dengan membatasi jumlah instruksi hanya pada instruksi dasar yang diperlukan saja. Kerumitan membuat program dalam bahasa mesin diatasi dengan membuat bahasa program tingkat tinggi dan compiler yang sesuai. Karena tidak rumit, teorinya mikroprosesor RISC adalah mikroprosesor yang low-cost dalam arti yang sebenarnya. Namun demikian, kelebihan ruang pada prosesor RISC dimanfaatkan untuk membuat sistem-sistem tambahan yang ada pada prosesor modern saat ini. Banyak prosesor RISC yang di dalam chip-nya dilengkapi dengan sistem superscalar, pipelining, caches memory, register-register dan sebagainya, yang tujuannya untuk membuat prosesor itu menjadi semakin cepat.

Gambar 1. RISC vs CISC

Secara singkat perbedaan CISC dan RISC:

CISC:
  1. Lebih menekankan pada perangkat keras, sesuai dengan takdirnya untuk programer.
  2. Memiliki instruksi komplek.
  3. Load/store atau memori ke memori bekerja sama.
  4. Memiliki ukuran kode yang kecil dan kecepatannya rendah.
  5. Transistor di dalamnya digunakan untuk menyimpan instruksi - instruksi bersifat komplek.
RISC:
  1. Menekankan pada perangkat lunak, dengan sedikit transistor.
  2. Instruksi sederhana bahkan single.
  3. Load/store atau memori ke memori bekerja terpisah.
  4. Ukuran kode besar dan kecepatan lebih tinggi.
  5. Transistor di dalamnya lebih untuk register memori.

DAFTAR PUSTAKA:
  1. CISC vs RISC
  2. Pipeline, Superscalar, L1 & L2 Chance, RISC & CISC
ARTIKEL TERKAIT TENTANG RISC DAN CISC


CISC (Complex Instruction Set Computer)

CISC (Complex Instruction Set Computer) adalah salah satu bentuk arsitektur yang menjalankan set instruksi dan tiap instruksi dapat menjalankan beberapa instruksi tingkat rendah. Misalnya instruksi tingkat rendah tersebut adalah operasi aritmatika, penyimpanan – pengambilan dari memori dll. Prosesor CISC memiliki kapasitas instruksi yang cukup besar yang memberikan fleksibilitas untuk menulis sebuah program menjadi lebih pendek dan lebih efektif.

CISC banyak digunakan di AMD CPU dan Intel. CISC memang memiliki instruksi yang kompleks dan memang dirasa berpengaruh pada kinerjanya yang lebih lambat. Mungkin sudah jadi takdir bagi CISC yang selalu ingin hardware berkembang jauh lebih cepat ketimbang software maka CISC menawarkan set instruksi yang powerful, kuat, tangguh, maka tak heran jika CISC memang hanya mengenal bahasa assembly yang sebenarnya ia tujukan bagi para programmer. Karena instruksi yang ia usung bersifat komplek, maka ia hanya memerlukan sedikit instruksi untuk berjalan.

Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi.

Hal ini sangat mungkin karena pembangunan perangkat prosesor CISC dapat memahami dan mengeksekusi operasi yang banyak. Sebagai contoh pada MCS-51, instruksi pengkalian (MUL) merupakan instruksi yang kompleks yang mana hanya operand yang akan ditentukan dalam instruksi, dan operasi pengkalian diselesaikan oleh hardware. Dalam tipe instruksi yang demikian, pembentukan inkstruksi kompleks ke dalam hardware yang dilakukan secara langsung, membantu dalam dua cara yang berbeda. Tidak hanya pengimplementasian hardware menjadi lebih cepat, tetapi juga menghemat ruang memori program mengingat kode instruksi sangatlah pendek jika dibandingkan dengan yang diperlukan untuk operasi pengalian dengan instruksi ADD. Hal tersebut mengharuskan programer bekerja dalam level yang lebih tinggi.

Untuk tujuan contoh kita kali ini, sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang kita beri nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yag berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar. Jadi instruksi-nya cukup satu saja.

MULT 2:3, 5:2

MULT dalam hal ini lebih dikenal sebagai “complex instruction”, atau instruksi yang kompleks. Bekerja secara langsung melalui memori komputer dan tidak memerlukan instruksi lain seperti fungsi baca maupun menyimpan. Satu kelebihan dari sistem ini adalah kompailer hanya menerjemahkan instruksi-instruksi bahasa tingkat-tinggi ke dalam sebuah bahasa mesin. Karena panjang kode instruksi relatif pendek, hanya sedikit saja dari RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut.


DAFTAR PUSTAKA

  1. RISC vs CISC
  2. Pipeline, Superscalar, L1 & L2 Chance, RISC & CISC
  3. Embedded vs Perangkat Memori Eksternal