Selasa, 23 Juni 2009

Arsitektur Komputer Berbasis Superscalar

Artikel ini merupakan bagian 3 (ketiga) dari pembahasan tentang arsitektur komputer berbasis RISC, CISC dan 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. Pipeline sendiri 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 ini menerapkan suatu bentuk paralel disebut-tingkat instruksi paralel dalam satu prosesor, sehingga memungkinkan lebih cepat. Sebuah prosesor superscalar melaksanakan lebih dari satu instruksi selama satu jam secara bersamaan dengan siklus dispatching beberapa petunjuk ke membazir fungsional unit pada prosesor. Setiap unit fungsional tidak terpisah CPU inti, tetapi sebuah sumber daya eksekusi dalam satu CPU seperti aritmetika logis unit, sedikit Shifter, atau kelipatan.

Perkembangan superscalar pertama kali diawali oleh Seymour Cray's CDC 6600 dari 1965 sering disebut sebagai pertama superscalar desain. Intel i960CA (1988) dan seri AMD 29000-29050 (1990) mikro yang komersial pertama chip tunggal superscalar mikro. CPU RISC seperti ini membawa konsep superscalar untuk mikro komputer RISC karena hasil desain yang sederhana inti, agar mudah instruksi dispatch dan keterlibatan beberapa unit fungsional (seperti ALUs) pada satu CPU dalam rancangan peraturan yang terpaksa waktu. Ini adalah alasan yang RISC desain yang lebih cepat dari CISC desain melalui ke dalam tahun 1980-an dan 1990-an.

Kecuali untuk digunakan dalam beberapa CPU-daya baterai perangkat, pada dasarnya semua tujuan-CPU umum dikembangkan sejak 1998 adalah superscalar. Diawali dengan "P6" (Pentium Pro dan Pentium II) pelaksanaan, Intel x86 arsitektur mikro yang telah menerapkan CISC pada set instruksi RISC superscalar mikro. Kompleks petunjuk yang diterjemahkan secara internal ke-RISC seperti "micro-ops" set instruksi RISC, prosesor yang memungkinkan untuk mengambil keuntungan dari performa yang lebih tinggi-prosesor yang melandasi tetap kompatibel dengan prosesor Intel sebelumnya.[2]

Contoh Penerapan Superscalar

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
  • Tujuan (destinition) dari I1 bukan tujuan (destination) dari I2

Jika kondisi diatas tidak dapat dipenuhi
  • I1 melakukan proses U-pipe
  • I2 dijalankan di cycle berikutnya

Pustaka
[1] Superscalar VS Pipelining
[2] Superscalar Processor

Arsitektur Komputer Berbasis CISC

Artikel ini merupakan bagian 2 (kedua) dari pembahasan tentang arsitektur komputer berbasis RISC, CISC dan Superscalar.

CISC (baca : ’sisk’ ) merupakan satu jenis arstiktur computer yang terdiri atas perintah-perintah yang cukup komplek, sesuai dengan namanya Complex Instruction Set Computing. Tujuan dasar dari dibuatnya sebuah prosesor berbasis CISC adalah agar dalam ekskusi suatu perintah cukup dengan menggunakan sedikit bahasa mesin. Hal ini dapat dicapai dengan membuat hardware yang mampu memahami dan menjalankan beberapa rangkaian operasi. Contoh dari instruksi pada prosesor CISC adalah MULT, yakni sebuah perintah yang mampu melaksanakan operasi perkalian.

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

Pada dasarnya 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.

Para perancang mikroprosesor mencari kinerja lebih bagus di dalam keterbatasan teknologi kontemporer. Pada tahun 1970-an misalnya, memori diukur dengan kilobyte dan sangat mahal saat itu. CISC merupakan pendekatan dominan karena menghemat memori.
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.

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

Perbedaan RISC dengan CISC

Berikut ini adalah gambar perbandingan ekskusi instruksi antara RISC dan CISC
Dan berikut adalah tabel perbandingan antar prosesor berbasis RISC dan CISC


Perbedaan mencolok antara RISC dan CISC adalah bahwa RISC lebih hemat daya dibandingkan dengan CISC. Dari sisi fisik kedua prosesor ini mengemisikan panas hanya saja pada CISC dibutuhkan sistem pendinginan. Metode pengalamatan RISC lebih unggul dalam kecepatan dengan menggunakan pengalamatan secara langsung. Interrupt pada RISC lebih mudah diterapkan dan lebih cepat. Dengan jumlah instruksi yang lebih sedikit maka jumlah transistor yang dibutuhkan semakin sedikit yang tentu saja berujung pada murahnya sistem ini dibandingkan dengan CISC. Selain itu dengan lebih sedikitnya instruksi hanya pada instruksi yang sering digunakan saja maka waktu komputasi computer akan semakin sedikit. Kelebihan utama dari RISC adalah fasilitas prefatch dan pipeline, untuk CISC sendiri eksekusi dilakukan secara sekuensial.

Sementara keunggulan CISC terletak pada kecepatan komputasinya dan dalam pengimplementasian menggunakan software dimana akan lebih memudahkan programmer, dimana untuk RISC software yang dibuat akan jauh lebih kompleks dikarenakan instruksinya yang sedikit dibandingkan dengan RISC. Hanya saja, karena kompleksitasnya prosesor CISC ini menjadi sangat mahal dibandingkan dengan RISC. [2]

Jadi mana yang lebih bagus ? Jawabannya ada pada kebutuhan Anda masing-masing dan komputer mana yang Anda gunakan.

Pustaka
[1] Kamus Komputer dan Teknologi Informasi
[2] RISC VS CISC

Note : Bagian berikutnya tentang Arsitektur Komputer Berbasis Superscalar

Arsitektur Komputer Berbasis RISC

Artikel ini merupakan bagian 1 (pertama) dari pembahasan tentang arsitektur komputer berbasis RISC, CISC dan Superscalar.
Ide dasar dari sebuah arsitektur prosesor (CPU) berbasis RISC adalah penyusunan yang tidak rumit dan membatasi jumlah instruksi (instruction set) hanya pada yang dibutuhkan saja.
RISC, atau Reduced Instruction Set Computer. Adalah sebuah tipe arsitektur computer yang memiliki set instruksi yang sedikit, efisien, dan lebih sederhana karena menggunakan instruksi dasar dibandingkan dengan is jenis arsitektur yang lain. [1]

Rancangan ini berawal dari pertimbangan dan analisa model perancangan yang kompleks sehingga harus ada pengurangan set instruksinya.
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 Microsystems (Sparc, Ultrasparc) [2]

John Cocke [3], seorang peneliti yang mengembangkan arsitektur RISC, menyampaikan bahwa sebenarnya kekhasan dari komputer tidaklah harus menggunakan banyak instruksi untuk menyelesaikan pekerjaan yang komplek, akan tetapi instruksi yang komplek tersebut cukup diselesaikan oleh rangkaian sirkuit, sehingga menghemat jumlah instruksi.

Pada desain chip mikroprosesor jenis ini, pemroses diharapkan dapat melaksanakan perintah-perintah yang dijalankannya secara cepat dan efisien melalui penyediaan himpunan instruksi yang jumlahnya relatif sedikit, dengan mengambil perintah-perintah yang sangat sederhana, akibatnya arsitektur RISC membatasi jumlah instruksinya yang dipasang ke dalam mikroprosesor tetapi mengoptimasi setiap instruksi sehingga dapat dilaksanakan dengan cepat.
Dengan demikian instruksi yang sederhana dapat dilaksanakan lebih cepat apabila dibandingkan dengan mikroprosesor yang dirancang untuk menangan susunan instruksi yang lebih luas.
Dengan demikian chip 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, terutama sebelum chip RISC dapat menanganinya. Karena keterbatasan jumlah instruksi yang ada padanya, apabila terjadi kesalahan dalam pemrosesan akan memudahkan dalam melacak kesalahan tersebut.

Pada tahun 1980-an kapasitas modul memori meningkat dan harganya turun. Penekanan pada desain CPU bergeser ke kinerja, dan RISC menjadi trend baru. Contoh arsitektur RISC meliputi SPARC dari Sun Microsystems; seri MIPS Rxxxx dari MIPS Technologies; Alpha dari Digital Equipment; PowerPC yang dikembangkan bersama oleh IBM dan Motorola; dan RISC dari Hewlett-Packard. [2]

Karekteristik

RISC mempunyai beberapa karakteristik, antara lain adalah
  • Siklus instruksi, merupakan siklus mesin yang ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU dan menyimpan hasil operasi ke dalam register. Dan instruksi ini biasa dibatasi dengan instruksi dasar saja.
  • Operasi Pertukaran Data, pertukaran data ini biasanya berbentuk register ke register yang mana mengoptimalkan penggunaan memori register agar siklus operasinya semakin cepat. Penggunaan register ini dikarenakan register merupakan memori yang paling cepat dibandingkan cache maupun memori utama.
  • Mode pengalamatan, fitur rancangan ini juga dapat menyederhanakan sel instruksi dan unit control. Yang mana dengan mode pengalamatan yang sederhana akan didapatkan operasi pengambilan data dan penyimpanan data semakin cepat.
  • Format instruksi, umumnya hanya digunakan sebuah format atau beberapa format saja untuk menyederhanakan implementasi perangkat kerasnya.

Ciri - Ciri
  1. Instruksi berukuran tunggal.
  2. Ukuran yang umum adalah 4 byte.
  3. Jumlah pengalamatan data sediki, biasanya kurang dari 5 buah.
  4. Tidak terdapat pengalamatan tidak langsung yang mengharuskan melakukan sebuah akses memori agar memperoleh alamat operand lainnya dalam memori.
  5. Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika, seperti penambahan ke memori dan penambahan dari memori.
  6. Tidak terdapat lebih dari satu operand beralamat memori per instruksi.
  7. Tidak mendukung perataan sembarang bagi data untuk operasi load/store.
  8. Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuh instruksi.
  9. Jumlah bit bagi integer register spesifier sama dengan 5 atau lebih, artinya sedikitnya 32 buah register integer dapat direferensikan sekaligus secara eksplisit.
  10. Jumlah bit floating point register spesifier sama dengan 4 atau lebih, artinya sedikitnya 16 register floating point dapat direferensikan sekaligus secara eksplisit.

Plus Minus

RISC mempunyai beberapa kelebihan dan kekurangan, antara lain:
[+] Plus
  • Berkaitan dengan penyederhanaan kompiler, dimana tugas pembuat kompiler untuk menghasilkan rangkaian instruksi mesin bagi semua pernyataan HLL.
  • Instruksi mesin yang kompleks seringkali sulit digunakan karena kompiler harus menemukan kasus-kasus yang sesuai dengan konsepnya.
  • Pekerjaan mengoptimalkan kode yang dihasilkan untuk meminimalkan ukuran kode, mengurangi hitungan eksekusi instruksi, dan meningkatkan pipelining jauh lebih mudah apabila menggunakan RISC dibanding menggunakan CISC.
  • Arsitektur RISC yang mendasari PowerPC memiliki kecenderungan lebih menekankan pada referensi register dibanding referensi memori, dan referensi register memerlukan bit yang lebih sedikit sehingga memiliki akses eksekusi instruksi lebih cepat.
  • Kecenderungan operasi register ke register akan lebih menyederhanakan set instruksi dan menyederhanakan unit kontrol serta pengoptimasian register akan menyebabkan operand-operand yang sering diakses akan tetap berada dipenyimpan berkecepatan tinggi.
  • Penggunaan mode pengalamatan dan format instruksi yang lebih sederhana.
[-] Minus
  • Program yang dihasilkan dalam bahasa simbolik akan lebih panjang (instruksinya lebih banyak).
  • Program berukuran lebih besar sehingga membutuhkan memori yang lebih banyak, ini tentunya kurang menghemat sumber daya.
  • Program yang berukuran lebih besar akan menyebabkan menurunnya kinerja, yaitu instruksi yang lebih banyak artinya akan lebih banyak byte-byte instruksi yang harus diambil. Selain itu,Pada lingkungan paging akan menyebabkan kemungkinan terjadinya page fault lebih besar. [4]

Pustaka
1. Shopomore College, CSE Stanford
2. Total.or.id : RISC
3. Wikipedia : John Cocke
4. Iskandar Zulkarnain : RISC

Note : Bagian berikutnya tentang Arsitektur Komputer Berbasis CISC

Minggu, 21 Juni 2009

Tugas 1 : Sistem Operasi (OS)

Berikut ini adalah file presentasi materi Arsitektur Komputer tentang Sistem Operasi (OS) [format .PPT]

Mata kuliah : Arsitektur Komputer
Dosen : Sigit Wasista, M.Kom
File Link : http://edybilanghai.googlepages.com/tugas_os_arkom.rar

Anggota kelompok:
(7107040013) Irawan Kholfanani
(7107040015) Fadjar Aditia
(7107040017) Edy Supangat
(7107040025) Salman ALfarisi