Selasa, 23 Juni 2009

Prosesor RISC, CISC dan Superscalar

Dewasa ini, dunia memberi dan menciptakan gaya hidup baru bagi manusia yang disebut juga manusia modern yaitu kebutuhan akan ketrepatan, kecepatan dan informasi yang luar biasa banyaknya dan dengan waktu yang cepat. Tak disadari be rbagai teknologi canggihpun menghadirkan kemampuan untuk mendukung kebutuhan menusia akan informasi tersebut dengan berbagai fasilitasnya, mulai dari yang menawarkan murahnya biaya pemakaian hingga kemampuan dapat diakses dimanapun.

Akibatnya, badai teknologi inipun juga menunut para produsen untuk lebih berlomba-lomba dengan produsen lain, apalagi kalau bukan untuk merebut pasar, demikian ditinjau dari segi ekonomi kemasyarakatan, namun jauh dasi sisi itu yaitu dari sisi teknologi sendiri memungkinkan berkembangnya piranti pendukung teknologi yang juga arusnya berlawanan atau tidak semakin cepat pula. Tak terkecuali komputer yang disinyalir sebagai piranti paling penting, kompeten dan strategis dalam kemajuan dunia teknologi informasi seperti era sekarang ini.

Mengingar posisi komputer berada dititik sentral, maka mutlak diperlukan pengetahuan lebih tentang komputer, bukan hanya untuk sekedar mengetik atau malah main game, justru seharusnya komputer adalah teman belajar dan tidak sedikit pula orang yang menggunakan komputernya sebagai mesin uang. Namun sayangnya masih banyak pula orang yang belum tertarik mendalami komputer dengan alasan sulit, sudah dsb.

Dalam hal ini saya menyajikan beberapa ulasan singkat tentang beberapa piranti didalam komputer. Meskipun hanya ulasan singkat tapi saya berharap dapat bermanfaat baik bagi pembaca maupun bagi saya sendiri. Saran yang mendukung selalu saya terima.

Prosesor RISC dan CISC

Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:

o Arsitektur komputer dengan kumpulan perintah yang rumit (Complex Instruction Set Computer = CISC)

o Arsitektur komputer dengan kumpulan perintah yang sederhana (Reduced Instruction Set Computer = RISC)

Perkembangan inovasi komputer sejak 1960 menambah satu daftar penemuan yang sangat menarik dan paling penting , yaitu Arsitektur Reduced Instruction Set computers ( RISC). Walaupun sistem RISC telah ditentukan dan dirancang dengan berbagai cara berdasarkan komunitasnya, elemen penting yang digunakan sebagian rancangan umumnya adalah sebagai berikut :

1. Set instruksi yang terbatas dan sederhana

2. Register general purpose berjumlah banyak atau penggunaaan teknologi kompiler untuk mengoptimalklan penggunaan register.

3. Penekanan pada pengoptimalan pipeline instruksi.

RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam penyusunan kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis dalam bahasa tingkat tinggi.

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

· Ciri-Ciri RISC :

1. Instruksi berukuran tunggal

2. Ukuran yang umum adalah 4 byte

3. Jumlah pengalamatan data sedikit, biasanya kurang dari 5 buah.

4. Tidak terdapat pengalamatan tak 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 sebuah 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.

Beberapa prosesor implementasi dari arsiteketur RISC adalah AMD 29000, MIPS R2000, SPARC, MC 88000, HP PA, IBM RT/TC, IBM RS/6000, intel i860, Motorola 88000 (keluarga Motorola), PowerPC G5.

· Kelebihan dan Kekurangan Teknologi RISC

Teknologi RISC relatif masih baru oleh karena itu tidak ada perdebatan dalam menggunakan RISC ataupun CISC, karena tekhnologi terus berkembang dan arsitektur berada dalam sebuah spektrum, bukannya berada dalam dua kategori yang jelas maka penilaian yang tegas akan sangat kecil kemungkinan untuk terjadi.

Kelebihan

1. Berkaitan dengan penyederhanaan kompiler, dimana tugas pembuat compiler untuk menghasilkan rangkaian instruksi mesin bagi semua pernyataan HLL. Instruksi mesin yang kompleks seringkali sulit digunakan karena compiler 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

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

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

4. Penggunaan mode pengalamatan dan format instruksi yang lebih sederhana.

Kekurangan

1. Program yang dihasilkan dalam bahasa simbolik akan lebih panjang (instruksinya lebih banyak).

2. Program berukuran lebih besar sehingga membutuhkan memori yang lebih banyak, ini tentunya kurang menghemat sumber daya.

3. Program yang berukuran lebih besar akan menyebabkan :

a. Menurunnya kinerja, yaitu instruksi yang lebih banyak artinya akan lebih banyak byte-byte instruksi yang harus diambil.

b. Pada lingkungan paging akan menyebabkan kemungkinan terjadinya page fault lebih besar 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 rakitan, tetapi konsep ini menyulitkan dalam penyusunan kompiler bahasa pemrograman tingkat tinggi. Dalam CISC banyak terdapat perintah bahasa mesin.

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. Sehingga hal tersebut akan mengurangi kecepatannya.

Arsitektur berbasis CISC juga memungkinkan para perancang prosesor untuk menambahkan set instruksi tambahan untuk keperluan tertentu disamping set instruksi standar yang sudah ada, misalnya set instruksi MMX (Multimedia Extension) yang ditambahkan pada prosesor buatan Intel, dan 3Dnow! pada prosesor keluaran AMD. Karena itulah maka keluarga prosesor CISC lebih banyak digunakan dalam komputer pribadi dimana aplikasinya lebih luas, sementara keluarga prosesor RISC hanya digunakan pada workstation yang biasanya memiliki lingkup aplikasi yang lebih sempit.

Diantara kelebihan dan kekurangan dari arsitektur RISC dan arsitektur CISC sampai sekarang masih menjadi sebuah perdebatan. Ada juga teknologi yang menggabungkan kedua arsitektur tersebut, contohnya : Prosesor Intel dan AMD yang dijual secara komersil sekarang adalah pengembangan dari prosesor x86 yang menggunakan basis prosesor CISC. Lucunya, instruksi set yang didukung oleh kedua prosesor tersebut menggunakan instruksi RISC yang lebih efisien dalam menangani data.

· Karakteristik CISC versus RISC

o Rancangan RISC dapat memperoleh keuntungan dengan mengambil sejumlah feature CISC dan Rancangan CISC dapat memperoleh keuntungan dengan mengambil sejumlah feature RISC.

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

· Secara singkat perbedaaan CISC dan RISC :

CISC :

- Lebih menekankan pada perangkat keras, sesuai dengan takdirnya untuk programer

- Memilik instruksi komplek

- LOAD & STORAGE atau memory ke memory berkeja sama

- Memiliki ukuran kode yang kecil dan kecepatannya rendah

- Transistor didalamnya digunakan untuk menyimpan intruksi-intruksi bersifat komplek.

RISC :

- Menekankan para perangkat lunak dengan sedikit transistor,

- Intruksi sederhana bahkan single

- LOAD & STORAGE atau memory ke memory bekerja terpisah

- Ukuran kode besar dan kecepatan lebih tinggi

- Transistor didalamnya lebih untuk register memory.

Prosesor Superscalar

Superscalar CPU arsitektur menerapkan suatu bentuk paralel disebut-tingkat instruksi paralel dalam satu prosesor. Ia sehingga memungkinkan lebih cepat CPU akan dibandingkan Throughput lain mungkin pada jam yang sama menilai. 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.

Sementara superscalar CPU biasanya juga pipelined, mereka adalah dua teknik peningkatan kinerja yang berbeda. Hal ini secara teoritis memungkinkan untuk mendapatkan non-pipelined superscalar CPU atau pipelined non-superscalar CPU.

Teknik superscalar yang secara tradisional terkait dengan mengidentifikasi beberapa karakteristik. Catatan ini diterapkan dalam suatu CPU inti.

• Instruksi yang dikeluarkan dari berurutan instruksi streaming

• CPU hardware secara dinamis untuk memeriksa dependensi data antara petunjuk berjalan di waktu (versus perangkat lunak memeriksa di waktu kompilasi)

• Terima petunjuk beberapa jam per siklus

Sederhana superscalar pipa. Dengan mengambil dua dispatching dan petunjuk sekaligus, maksimal dua instruksi per siklus dapat diselesaikan.

Processor papan yang CRAY T3e supercomputer dengan empat prosesor superscalar Alpha 21164

Sejarah Superscalar

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.

Dari skalar untuk superscalar

Prosesor yang paling sederhana adalah skalar prosesor. Setiap instruksi dijalankan oleh prosesor skalar manipulates biasanya satu atau dua item data sekaligus. Sebaliknya, setiap instruksi yang dijalankan oleh prosesor vector beroperasi secara simultan pada banyak data item. Sebuah analogi adalah perbedaan antara skalar dan vector aritmatika. Sebuah prosesor superscalar adalah jenis campuran ke dua. Setiap instruksi proses data satu item, namun ada beberapa fungsional berlebihan dalam setiap unit CPU sehingga beberapa petunjuk dapat memproses data terpisah item serentak.

Superscalar desain CPU menekankan peningkatan instruksi memberangkatkan akurasi, dan mengoperasikannya menyimpan beberapa unit fungsional digunakan setiap waktu. Hal ini menjadi semakin penting ketika jumlah unit meningkat. Sementara awal superscalar CPU akan memiliki dua ALUs dan satu fpu, desain yang modern seperti PowerPC 970 mencakup empat ALUs, dua FPUs, dan dua unit SIMD. Jika memberangkatkan adalah menjaga tidak efektif di semua unit bosan dengan petunjuk, kinerja sistem akan menderita.

A superscalar prosesor biasanya sustains yang menilai pelaksanaan melebihi satu instruksi per siklus mesin. Tetapi hanya memproses beberapa instruksi serentak tidak membuat sebuah arsitektur superscalar, sejak pipelined, multiprocessor atau multi-inti yang mencapai arsitektur juga, tetapi dengan metode yang berbeda.

Dalam superscalar CPU yang memberangkatkan bacaan instruksi dari memori dan memutuskan mana yang dapat dijalankan secara paralel, dispatching mereka ke membazir unit fungsional yang terdapat di dalam satu CPU. Oleh karena itu prosesor superscalar dapat envisioned memiliki beberapa pipa paralel, yang masing-masing adalah instruksi pemrosesan secara simultan dari sebuah instruksi benang.

Keterbatasan

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.

Alternatif

Secara kolektif, kedua batas berkendara investigasi ke alternatif arsitektur meningkatkan kinerja seperti Long Sangat Instruksi Word (VLIW), secara paralel Instruksi Computing (EPIC), serentak multithreading (SMT), dan multi-core.

Dengan VLIW, tugas yang memberatkan ketergantungan memeriksa hardware dengan logika berjalan di waktu akan dihapus dan didelegasikan kepada compiler. Instruksi secara paralel Computing (EPIC) adalah seperti VLIW, dengan tambahan cache prefetching petunjuk.

Serentak multithreading, sering disingkat sebagai SMT, adalah teknik untuk meningkatkan efisiensi superscalar CPU. SMT izin dari beberapa rangkaian independen untuk pelaksanaan lebih baik memanfaatkan sumber daya yang disediakan oleh prosesor arsitektur modern.

Superscalar berbeda dari prosesor multi-core yang berlebihan di unit fungsional tidak seluruh prosesor. Satu prosesor terdiri dari halus-halus unit fungsional seperti ALU, kelipatan bulat, bulat Shifter, floating point unit, dll Mungkin ada beberapa versi dari masing-masing unit fungsional untuk memungkinkan pelaksanaan banyak instruksi secara paralel. Ini berbeda dari multicore CPU yang serentak proses instruksi dari beberapa rangkaian, satu per benang inti. Ia juga berbeda dari pipelined CPU, dimana beberapa instruksi dapat dilakukan serentak di berbagai tahapan pelaksanaan, assembly-line mode.

Berbagai alternatif teknik tidak saling eksklusif-mereka dapat (dan sering adalah) digabungkan dalam satu prosesor. Dengan demikian yang multicore CPU dapat di mana masing-masing inti adalah independen prosesor berisi beberapa pipa paralel, masing-masing pipa yang superscalar. Beberapa prosesor juga termasuk vector kemampuan.

Sumber

http://margono.staff.uns.ac.id/2008/10/31/complex-instruction-set-computing-cisc/

http://images.deroom.multiply.com/attachment/0/SYp@6AoKCt8AAB1l3uo1/Arsikom4%20tema.pdf?nmid=192548469

http://74.125.153.132/search?q=cache:Ho-LkqUpM7AJ:iskandar-zulkarnaen1.tripod.com/risc.pdf+risc+filetype:pdf&cd=1&hl=id&ct=clnk&gl=id&lr=lang_id&client=firefox-a

http://74.125.153.132/search?q=cache:JXxJpfllR2sJ:www.suwidi.or.id/downloads/kuliah/ArKom%252003%2520(RISC%2520dan%2520CISC)%2520PDF.pdf+ArKom+03+(RISC+dan+CISC)+PDF.pdf&cd=1&hl=id&ct=clnk&gl=id

http://fqorib160.blogspot.com/2009/06/superscalar-processor.html