Rabu, 24 Juni 2009

Superskalar

Superscalar (superskalar) adalah arsitektur prosessor yang memungkinkan eksekusi yang bersamaan (parallel) dari instruksi yang banyak pada tahap pipeline yang sama sebaik tahap pipeline yang lain. [1]

Merupakan salah satu rancangan untuk meningkatkan kecepatan CPU. Kebanyakan dari komputer saat ini menggunakan mekanisme superscalar ini. Standar pipeline yang digunakan adalah untuk pengolahan bilangan matematika integer (bilangan bulat, bilangan yang tidak memiliki pecahan), kebanyakan CPU juga memiliki kemampuan untuk pengolahan untuk data floating point (bilangan berkoma). Pipeline yang mengolah integer dapat juga digunakan untuk mengolah data bertipe floating point ini, namun untuk aplikasi tertentu, terutama untuk aplikasi keperluan ilmiah CPU yang memiliki kemampuan pengolahan floating point dapat meningkatkan kecepatan prosesnya secara dramatis. [2]

Superscalar ini mampu menjlankan Instruction Level Parallelism dengan satu prosesor. Superscalar dapat diaplikasikan di RISC dan CISC, tapi pada umumnya RISC. [1]

Peristiwa menarik yang bisa dilakukan dengan metoda superscalar ini adalah dalam hal memperkirakan pencabangan instruksi (brach prediction) serta perkiraan eksekusi perintah (speculative execution). Peristiwa ini sangat menguntungkan buat program yang membutuhkan pencabangan dari kelompok intruksi yang dijalankankannya. [2]

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. [2]

gambar-11 Organisasi Superscalar secara umum

Alasan desain Superscalar

  • Sebagian besar operasi menggunakan besaran/nilai skalar
  • Operasi ini memungkinkan peningkatan kinerja sistem hingga level tertentu [1]

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. [1]

 

 

[1] Superscalar vs Superpipeline

[2] Superscalar

CISC (Complex Instruction Set Computing)

Seperti yang tertulis pada Pendahuluan:RISC,CISC dan Superskalar bahwa CISC menggunakan instruksi yang melakukan banyak operasi per instruksi.

CISC dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit).  Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa assembly, tetapi konsep ini menyulitkan dalam penyusunan kompiler bahasa pemrograman tingkat tinggi. [1]

Setiap instruksi CISC ini akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memory, operasi aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi. [2]

CISC merupakan kebalikan dari RISC, biasanya digunakan pada keluarga processor untuk PC (AMD, Cyrix). Para pesaing Intel seperti Cyrix dan AMD juga telah menggunakan chip RISC tetapi ia telah dilengkapi dengan penukar (converter) CISC. [3]

Pada arsitektur CISC seperti Intel x86, yang diperkenalkan pada tahun 1978, bisa terdapat ratusan instruksi program - perintah-perintah sederhana yang menyuruh sistem menambah angka, menyimpan nilai dan menampilkan hasilnya. Bila semua instruksi panjangnya sama, instruksi sederhana akan memboroskan memori. Instruksi sederhana membutuhkan ruang penyimpanan 8 bit, sementara instruksi yang paling kompleks mengkonsumsi sebanyak 120 bit. [3]

Walaupun instruksi dengan panjang bervariasi lebih sulit diproses oleh chip, instruksi CISC yang lebih panjang akan lebih kompleks. Bagaimanapun, untuk memelihara kompatibilitas software, chip x86 seperti Intel Pentium III dan AMD Athlon harus bekerja dengan instruksi CISC yang dirancang pada tahun 1980-an, walaupun keuntungan awalnya yaitu menghemat memori tidaklah penting sekarang. [3]

 

 

[1] Jawaban Soal UTS Arkom

[2] CISC - Wikipedia

[3]  CISC

 

Sabtu, 20 Juni 2009

RISC (Reduced Instruction Set Computer)

Dilihat dari sejarahnya, konsep RISC pertama kali dikembangkan oleh IBM pada era 1970-an. Komputer pertama yang menggunakan RISC adalah komputer mini IBM 807 yang diperkenalkan pada tahun 1980. Dewasa ini RISC digunakan pada keluarga processor buatan MOtorola (PowerPC) dan SUN Microsystem (Sparc Ultra Sparc). RISC dikembangkan melalui seorang peneliti yang bernama John Cokce, beliau menyampaikan bahwa sebenarnya kekhasan dari komputer tidaklah menggunakan banyak instruksi, namun yang dimilikinya adalah instruksi yang kompleks yang dilakukan melalui rangkaian sirkuit. [2]

Seperti yang telah dijelaskan di Pendahuluan:RISC,CISC dan Superskalar. RISC menggunakan instruksi yang lebih simpel. Yang mana rumusan perintahnya lebih disederhanakan sehingga lebih efisien dalam penyusunan kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis dalam bahasa tingkat tinggi.

Beberapa elemen penting pada arsitektur RISC prosesor:

  1. Set instruksi terbatas dan sederhana.
  2. Register general-purpose yang berjumlah banyak atau penggunaan teknologi kompiler untuk mengoptimalkan pemakaian registernya.
  3. Penekanan pada pengoptimalan pipeline instruksi. [1]

Diharapkan dengan adanya RISC prosesor ini pemroses dapat melaksanakan perintah-perintah yang dijalankan secara cepat dan efisien melalui kumpulan instruksi yang jumlahnya relatif sedikit, dengan mengambil perintah-perintah yang sangat sederhana. Akibatnya arsitektur RISC membatasi jumlah instruksi yang dipasang ke dalam mikroposesor tetapi mengoptimasi setiap instruksi, sehingga dapat dilaksanakan dengan cepat. [2]

Dengan demikian prosesor RISC hanya dapat memproses instruksi dalam jumlah terbatas, tetapi instruksi ini dioptimalkan sehingga cepat dieksekusi. Meski demikian, bila harus menangani tugas yang kompleks, instruksi harus dibagi menjadi banyak kode mesin. Karena keterbatasan jumlah instruksi yang ada padanya, apabila terjadi kesalahan dalam pemrosesan akan memudahkan dalam melacaknya. [2]

 

[1] Jawaban Soal UTS Arkom

[2] Reduced Instruction Set Computer

Pendahuluan RISC, CISC dan Superskalar

Reduced Instruction Set computer (RISC)

Menggunakan instruksi yang lebih simpel dan hanya memerlukan siklus clock yang sedikit untuk eksekusi. Pendekatan ini adalah hasil dari peningkatan pada kecepatan memori dan komponen prosesor lainnya, dimana memungkinkan bagian fetch siklus instruksi tidak menjadi lambat lagi dari pada bagian lain siklus. Pada kenyataannya, kehandalan dibatasi oleh waktu decoding dan eksekusi siklus instruksi. [1]

Complex Instruction Set Computer (CISC)

Menggunakan instruksi yang melakukan banyak operasi per instruksi. Konsep ini didasarkan pada fakta bahwa pada teknologi sebelumnya, fetch instruksi adalah bagian terlama dari siklus. Oleh karena itu, dengan mengemas instruksi-instruksi dengan beberapa operasi, maka jumlah fetch bisa dikurangi. [1]

Superscalar Processor

Sebuah prosessor yang memungkinkan eksekusi yang bersamaan dari banyak instruksi pada tahap pipeline, yang sama baiknya dengan tahap pipeline yang lain. [1]

tabel risc,cisc,superskalarTabel from: Jawaban Soal UTS Arkom

[1] Keamanan Sistem Informasi (Tugas Mata Kuliah Proteksi dan Keamanan Sistem Informasi, Firdaus, Magister Teknologi Informasi Universitas Indonesia)

 

Fayza's Blog © 2008 Por *Templates para Você*