Selasa, 01 Juni 2010

CISC (Complex Instructions Set Computer) , RISC (Reduce Instructions Set Computer) dan Superscala

r
CISC adalah singkatan dari Complex Intruction Set Computer dimana prosesor tersebut
memiliki set instruksi yang kompleks dan lengkap. CISC sendiri adalah salah satu bentuk arsitektur yang
menjalani beberapa instruksi dengan tingkat yang rendah. Misalnya intruksi tingakt rendah tersebut
adalah operasi aritmetika, penyimpanan-pengambilan dari memory dll.
CISC memang memiliki instruksi yang complex dan memang dirasa berpengaruh pada
kinerjanya yang lebih lambat. CISC menawarkan set intruksi yang powerful, kuat, tangguh, maka tak
heran jika CISC memang hanya mengenal bahasa asembly yang sebenarnya ia tujukan bagi para
programmer. Oleh karena itu ,CISC hanya memerlukan sedikit instruksi untuk berjalan.
Sistem mikrokontroler selalu terdiri dari perangkat keras (hardware) dan perangkat
lunak (software). Perangkat lunak ini merupakan deretan perintah atau instruksi yang dijalankan oleh
prosesor secara sekuensial. Instruksi itu sendiri sebenarnya adalah bit-bit logik 1 atau 0 (biner) yang ada
di memori program. Angka-angka biner ini jika lebarnya 8 bit disebut byte dan jika 16 bit disebut word.
Deretan logik biner inilah yang dibaca oleh prosesor sebagai perintah atau instruksi. Supaya lebih
singkat, angka biner itu biasanya direpresentasikan dengan bilangan hexa (HEX). Tetapi bagi manusia,
menulis program dengan angka biner atau hexa sungguh merepotkan. Sehingga dibuatlah bahasa
assembler yang direpresentasikan dengan penyingkatan kata-kata yang cukup dimengerti oleh
manusia.
Bahasa assembler ini biasanya diambil dari bahasa Inggris dan presentasinya itu disebut
dengan Mnemonic. Masing-masing pabrik mikroprosesor melengkapi chip buatannya dengan
set instruksi yang akan dipakai untuk membuat program.
Biner Hexa Mnemonic
10110110 B6 LDAA ...
10010111 97 STAA ...
01001010 4A DECA ...
10001010 8A ORAA ...
00100110 26 BNE ...
00000001 01 NOP...
01111110 7E JMP ...
Jadi sebenarnya 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. 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
Sedangkan RISC adalah singkatan dari Reduced Instruction Set Computer yang artinya
prosesor tersebut memiliki set instruksi program yang lebih sedikit. Karena perbedaan keduanya ada
pada kata set instruksi yang kompleks atau sederhana (reduced). RISC lahir pada pertengahan 1980,
kelahirannya ini dilator belakangi untuK CISC. Perbedaan mencolok dari kelahiran RISC ini adalah tidak
ditemui pada dirinya instruksi assembly atau yang dikenal dengan bahasa mesin sedangkan itu banyak
sekali di jumpai di CISC.
Konsep arsitektur RISC banyak menerapkan proses eksekusi pipeline.
Meskipun jumlah perintah tunggal yang diperlukan untuk melakukan pekerjaan yang diberikan mungkin
lebih besar, eksekusi secara pipeline memerlukan waktu yang lebih singkat daripada waktu untuk
melakukan pekerjaan yang sama dengan menggunakan perintah yang lebih rumit. Mesin RISC
memerlukan memori yang lebih besar untuk mengakomodasi program yang lebih besar.
IBM 801 adalah prosesor komersial pertama yang menggunakan pendekatan RISC.
Lebih lanjut untuk memahami RISC, diawali dengan tinjauan singkat tentang karakteristik eksekusi
instruksi.
Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sbb.:
>>Operasi-operasi yang dilakukan:
Hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya dengan memori.
>> Operand-operand yang digunakan:
Jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi memori untuk
menyimpannya dan mode pengalamatan untuk mengaksesnya.
>> Pengurutan eksekusi:
Hal ini akan menentukan kontrol dan organisasi pipeline.
Gambar 1. Perbedaan blok diagram CISC Vs RISC
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 2. 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 3. 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.
 1997: Intel meluncurkan teknologi prosesor 64-bit Epic. Ia juga memperkenalkan MMX
Pentium untuk aplikasi prosesor sinyal digital, yang juga mencakup grafik, audio, dan
pemrosesansuara.
 1998: Intel memperkenalkan prosesor Celeron di bulan April
 1999: VIA mengakuisisi Cyrix Corp. dan Centaur Technology, pembuat prosesor x86 dan x87 coprocessor.
 2000: Debut Pentium 4 dengan 42 juta transistor.
 2003: AMD memperkenalkan x86-64, versi 64-bit dari x86 instruction set.
 2004: AMD mendemonstrasikan x86 dual-core processor chip.
 2005: Intel menjual prosesor Dual-Core pertamanya.
 2006: Dell Inc. mengumumkan akan menawarkan system prosesor berbasis AMD.
 2006: Intel Memperkenalkan prosesor core 2 duo di bulan juli.
 2007: Intel memperkenalkan prosesor core 2 quad di bulan januari.
Perbedaan karakteristik CISC dan RISC serta SUPERSCALAR
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 programmer membuat programnya. Beberapa prosesor CISC
umumnya memiliki microcode 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 komputer, prosesor CISC bisa menjadi pilihan.
Karakteristik CISC versus RISC
Rancangan RISC dapat memperoleh keuntungan dengan mengambil sejumlah feature CISC
dan Rancangan CISC dapat memperoleh keuntungan dengan mengambil sejumlah feature RISC.
Hasilnya adalah bahwa sejumlah rancangan RISC yang terbaru, yang dikenal sebagai
PowerPC, tidak lagi “murni” RISC dan rancangan CISC yang terbaru, yang dikenal sebagai
Pentium, memiliki beberapa karakteristik RISC.
Ciri-ciri RISC:
Instruksi berukuran tunggal
Ukuran yang umum adalah 4 byte.
Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima buah.
Tidak terdapat pengalamatan tak langsung.
Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmetika
(misalnya, penambahan dari memori, penambahan ke memori).
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.
Sudah sering kita mendengar debat yang cukup menarik antara komputer personal IBM
dan kompatibelnya yang berlabel Intel Inside dengan komputer Apple yang berlabel PowerPC. Perbedaan
utama antara kedua komputer itu ada pada tipe prosesor yang digunakannya. Prosesor PowerPC dari
Motorola yang menjadi otak utama komputer Apple Macintosh dipercaya sebagai prosesor RISC,
sedangkan Pentium buatan Intel diyakini sebagai prosesor CISC. Kenyataannya komputer personal yang
berbasis Intel Pentium saat ini adalah komputer personal yang paling banyak populasinya. Tetapi tidak
bisa pungkiri juga bahwa komputer yang berbasis RISC seperti Macintosh, SUN adalah komputer yang
handal dengan sistem pipelining, superscalar, operasi floating point dan sebagainya.
Tersedia dari peningkatan kinerja superscalar teknik dibatasi oleh dua bidang utama:
• Tingkat dari hakiki paralel dalam instruksi streaming, yakni terbatasnya jumlah instruksi level
parallelism, dan
• Kompleksitas waktu dan biaya yang terkait memberangkatkan dan ketergantungan memeriksa logika.
Binari yang ada telah dijalankan program tahap hakiki paralel. Dalam beberapa kasus
petunjuk tidak tergantung pada satu sama lain dan dapat dijalankan secara bersamaan. Dalam kasus lain
mereka yang antar-tergantung: satu instruksi dampak baik sumber daya atau hasil lainnya. Petunjuk yang
= b + c; d = e + f dapat berjalan secara bersamaan karena tidak ada yang bergantung pada hasil
perhitungan lain. Namun, petunjuk yang = b + c; d = a + f mungkin tidak akan runnable secara paralel,
tergantung pada urutan petunjuk yang lengkap saat mereka bergerak melalui unit.
Bila jumlah yang dikeluarkan secara simultan petunjuk meningkat, biaya memeriksa
dependensi meningkat sangat pesat. Hal ini diperparah oleh kebutuhan untuk memeriksa dependensi di
waktu dan menjalankan di CPU jam menilai. Ini termasuk biaya tambahan gerbang logika diperlukan
untuk melaksanakan pemeriksaan, dan waktu tunda yang melalui pintu. Penelitian menunjukkan pintu
gerbang biaya dalam beberapa kasus dapat NK pintu, dan biaya keterlambatan k2logn, dimana n adalah
jumlah instruksi pada prosesor's set instruksi, dan k adalah jumlah bersamaan menurunkan petunjuk.
Dalam matematika, ini disebut sebagai combinatoric masalah melibatkan permutations.
Meski mungkin berisi instruksi streaming tidak antar-instruksi dependensi, superscalar
CPU yang sebenarnya harus memeriksa bahwa kemungkinan, karena tidak ada jaminan lain dan
kegagalan untuk mendeteksi suatu dependensi akan menghasilkan hasil yang salah.
Tidak peduli bagaimana lanjutan proses yang semikonduktor atau cara cepat kecepatan
yang berpindah, ini tempat yang praktis membatasi berapa petunjuk dapat menurunkan secara bersamaan.
Meskipun proses kemajuan akan mengijinkan pernah lebih besar jumlah unit fungsional (misalnya,
ALUs), beban instruksi memeriksa dependensi sehingga tumbuh pesat yang dicapai superscalar dispatch
batas relatif kecil. - Kemungkinan pada urutan lima hingga enam secara bersamaan menurunkan petunjuk.
Namun akhirnya tak terhingga cepat memeriksa ketergantungan pada logika
konvensional yang lain superscalar CPU, jika instruksi streaming itu sendiri memiliki banyak dependensi,
ini juga akan membatasi speedup mungkin. Dengan demikian tingkat hakiki paralel dalam kode streaming
bentuk kedua keterbatasan.
Tabel Karakteristik dari beberapa Prosesor CISC, RISC, dan Superskalar

Tidak ada komentar:

Posting Komentar