CISC vs RISC
Pada saat ini ada dua konsep populer yang berhubungan dengan desain CPU dan set instruksi. Keduanya adalah:
- Complex Instruction Set Computing (CISC)
- Reduce Instruction Set Computing (RISC).
Semua sistem yang lama (komputer mainframe, komputer mini atau komputer mikro) relatif mempunyai sistem CISC. Walaupun sistem sekarang terdiri atas kedua jenis tersebut. Sistem RISCsaat ini lebih populer karena tingkat kerjanya, dibandingkan dengan sistem CISC. Namun karena biayanya tinggi, sistem RISC hanya digunakan ketika diperlukan kecepatan khusus, keandalan dan sebagainya.
CISC (Complex Instruction-Set Computer)
Complex Instruction Set Computer (CISC) adalah sebuah arsitektur dari set instruksi dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memory, operasi aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi. 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.
Karakteristik CISC yg "sarat informasi" ini memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat. Memang setelah itu banyak desain yang memberikan hasil yang lebih baik dengan biaya yang lebih rendah, dan juga mengakibatkan pemrograman level tinggi menjadi lebih sederhana, tetapi pada kenyataannya tidaklah selalu demikian.
Contoh-contoh prosesor CISC adalah : System/360, VAX, PDP-11, varian Motorola 68000 , dan CPU AMD dan Intel x86.
CISC mempunyai karakteristrik :
Contoh-contoh prosesor CISC adalah : System/360, VAX, PDP-11, varian Motorola 68000 , dan CPU AMD dan Intel x86.
CISC mempunyai karakteristrik :
- 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)
RISC (Reduce Instruction Set Computer)
RISC Reduced Instruction Set Computingatau "Komputasi set instruksi yang disederhanakan. Merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Biasanya digunakan pada komputer berkinerja tinggi seperti komputer vektor.
Bahasa pemprograman memungkinkan programmer dapat mengekspresikan algoritma lebih singkat, lebih memperhatikan rincian, dan mendukung penggunaan pemprograman terstruktur, tetapi ternyata muncul masalah lain yaitu semantic gap, yaitu perbedaan antara operasi-operasi yang disediakan oleh HLL dengan yang disediakan oleh arsitektur komputer, ini ditandai dengan ketidakefisienan eksekusi, program mesin yang berukuran besar,dan kompleksitas kompiler.
Set-set instruksi yang kompleks tersebut dimaksudkan untuk :
Bahasa pemprograman memungkinkan programmer dapat mengekspresikan algoritma lebih singkat, lebih memperhatikan rincian, dan mendukung penggunaan pemprograman terstruktur, tetapi ternyata muncul masalah lain yaitu semantic gap, yaitu perbedaan antara operasi-operasi yang disediakan oleh HLL dengan yang disediakan oleh arsitektur komputer, ini ditandai dengan ketidakefisienan eksekusi, program mesin yang berukuran besar,dan kompleksitas kompiler.
Set-set instruksi yang kompleks tersebut dimaksudkan untuk :
- Memudahkan pekerjaan kompiler
- Meningkatkan efisiensie ksekusi, karena operasi yang kompleks dapat diimplementasikan didalam mikrokode.
- Memberikan dukungan bagi HLL yang lebih kompleks dan canggih
RISC mempunyai karakteristik :
- One cycle execution time : satu putaran eksekusi.
- Prosessor RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi pada CPU.
- Pipelining adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara simultan. Sehingga proses instruksi lebih efiisien.
- Large number of registers: Jumlah register yang sangat banyak.
- RISC didesain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
- Rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang lebih ringkas dibandingkan dengan CISC.
- RISC memiliki keunggulan dalam hal kecepatannya sehingga banyak digunakan untuk aplikasi-aplikasi yang memerlukan kalkulasi secara intensif.
Perbandingan antara RISC dengan CISC
Cara sederhana untuk melihat kekurangan dan kelebihan dari CISC dan RISC adalah dengan membandingkannya secara langsung. Pada tahap perbandingan ini dicoba dengan menghitung perkalian dua bilangan dalam memori. Memori tersebut terbagi menjadi beberapa lokasi yang diberi nomor 1(baris): 1 (kolom) hingga 6:4. Unit eksekusi bertanggung-jawab untuk semua operasi komputasi. Namun, unit eksekusi hanya beroperasi untuk data yang sudah disimpan kedalam salah satu dari 6 register (A, B, C, D, Eatau F). Misalnya, kita akan melakukan perkalian (product) dua angka, satu di simpan di lokasi 2:3 sedangkan lainnya di lokasi 5:2, kemudian hasil perkalian tersebut dikembalikan lagi kelokasi 2:3
- Menggunakan Pendekatan RISCProsesor RISC hanya menggunakan instruksi-instruksi sederhana yang bisa dieksekusi dalam satu siklus. Dengan demikian, instruksi ‘MULT’ sebagaimana dijelaskan sebelumnya dibagi menjadi tiga instruksi yang berbeda, yaitu“LOAD”, yang digunakan untuk memindahkan data dari memori kedalam register, “PROD”, yang digunakan untuk melakukan operasi produk (perkalian) dua operan yang berada di dalam register (bukan yang ada di memori) dan “STORE”, yang digunakan untuk memindahkan data dari register kembali kememori. Berikut ini adalah urutan instruksi yang harus dieksekusi agar yang terjadi sama dengan instruksi “MULT” pada prosesor RISC (dalam 4 baris bahasa mesin):LOAD A, 2:3
LOAD B, 5:2
PROD A, B
STORE 2:3, A - Menggunakan Pendekatan CISCTujuan 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.MULT 2:3, 5:2
Sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang diberi nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yang berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar. Jadi instruksi-nya cukup satu saja.
CISC:
- Penekanan pada perangkat keras (hardware).
- Termasuk instruksi kompleks multi-clock.
- Memori-ke-memori: “LOAD” dan “STORE” saling bekerjasama..
- Ukuran kode kecil, kecepatan rendah.
- Transistor digunakan untuk menyimpan instruksi-instruksi kompleks.
RISC
- Penekanan pada perangkat lunak (software).
- Single-clock, hanya sejumlah kecil instruksi.
- Register ke register: “LOAD” dan “STORE” adalah instruksi - instruksi terpisah.
- Ukuran kode besar, kecepatan (relatif) tinggi.
- Transistor banyak dipakai untuk register memori.
x86 vs ARM
1. x86
Arsitektur x86 adalah rancangan Set Instruksi Komputer Kompleks (Complex Instruction Set Computer) dengan panjang instruksi yang bervariasi. Word disimpan dengan urutan endian-kecil. Kompatibilitas mundur menjadi motivasi terkuat dalam pengembangan arsitektur x86 (keputusan ini menjadi sangat penting dan sering dikritik, terutama oleh pesaing dari pendukung arsitektur prosesor lainnya, yang dibuat frustasi oleh sukses yang berkelanjutan dari arsitektur ini yang secara umum dipandang memilki banyak kelemahan). Prosesor-prosesor terkini dari x86 menerapkan beberapa langkah penerjemah (dekoder) “tambahan” untuk (saat eksekusi) memecah (sebagian besar) instruksi x86 kedalam potongan-potongan kecil instruksi (dikenal dengan “micro-ops”) yang selanjutnya dieksekusi oleh arsitektur setara dengan arsitektur RISC.
- Mode Real (Real Mode)
Intel 8086 dan 8088 dilengkapi dengan 14 16-bit register. Empat diantaranya (AX, BX, CX, DX) dirancang sebagai fungsi umum (general purpouse) (meskipun masing-masing juga memiliki fungsi khusus tambahan; misalnya hanya register CX yang dapat digunakan sebagai penghitung (counter) dalam instruksi loop). Setiap register dapat diakses sebagai dua byte (8-bit) terpisah (jadi byte-atas BX’s dapat diakses sebagai BH dan byte-bawah-nya sebagai BL). Selain itu, terdapat juga empat register segmen (CS, DS, SS dan ES). Register ini digunakan untuk membangun alamat memori. Ada juga dua register penunjuk (pointer) (SP yang menunjuk pada titik awal stack, dan BP yang dapat menunjuk pada titik manapun dalam stack atau memori). Ada dua register indeks (SI dan DI) yang dapat digunakan sebagai penunjuk dalam array. Dan terakhir, ada sebuah register penanda (register flag) yang terdapat didalamnya penanda-penanda seperti carry, overflow, zero dan lain-lain, dan juga sebuah penunjuk instruksi (instruction pointer – IP) yang menunjuk ke alamat instruksi yang sedang dieksekusi.Dalam mode real, memori diakses secara tersegmentasi. Hal ini dilakukan dengan menggeser (shifting) alamat segmen 4 bit ke kiri dan menambah sebuah ofset untuk menghasilkan alamat akhir sepanjang 20-bit. Contohnya, jika DS berisi nilai A000h dan SI berisi nilai 5677h, DS:SI akan mengacu pada titik alamat real DS × 16 + SI = A5677h. Jadi jumlah total alamat memori yang dapat diakses dalam mode real adalah 220 byte, atau 1 MiB, jumlah yang sangat mengesankan di tahun 1978. Seluruh alamat memori terbagi dalam segmen dan ofset; dan setiap tipe akses (kode, data, atau stack) memiliki register segmen tertentu (untuk data register yang digunakan DS, untuk kode digunakan register CS, dan untuk stack digunakan SS). Untuk mengakses data, register segmen dapat secara langsung dipilih (dengan melakukan ubah-paksa (override) prefik segmen) dari empat register segmen yang tersedia.Dengan aturan ini, dua pasang segmen/ofset yang berbeda bisa mengacu ke lokasi memori absolut yang sama. Jadi bila DS berisi A111h dan SI 4567h, DS:SI akan menunjuk ke alamat A56777h seperti di atas. Lebih lanjut, CS dan SS berperan vital bagi program agar berfungsi secara benar, sehingga hanya DS dan ES yang dapat dipakai untuk mengacu ke segmen data diluar program (atau lebih tepatnya, diluar segmen program yang sedang dieksekusi) atau stack. Skema ini, yang semula bertujuan mempertahankan kompatibilitas dengan Intel 8085, sering dikeluhkan oleh para programer (walaupun beberapa programer tidak terlalu mempedulikannya, dan popularitas x86 sebelum tahun-tahun mode proteksi diperkenalkan membuktikan bahwa hal ini bukan cacat yang sangat serius).Selain itu, 8086 juga memiliki 64 KB alamat I/O 8-bit (atau 32 K-word dari 16-bit), dan satu 64 KB (satu segmen) stack di memori yang didukung oleh hardware (memakai register-register SS, SP, dan BP). Hanya word (2 byte) yang bisa di-push ke stack. Stack tumbuh ke bawah (ke arah alamat yang lebih rendah secara numerik), dengan ujung bawah diacu oleh SS:SP. Ada 256 interrupt yang dapat diaktifkan oleh hardware maupun software. Interrupt tersebut bisa bertingkat, memanfaatkan stack untuk menyimpan alamat balik.CPU x86 32-bit yang modern masih mendukung real mode, bahkan memulai operasi pada real mode setelah reset. Kode real mode yang dijalankan pada prosesor-prosesor tersebut bisa memanfaatkan register 32-bit dan register segmen tambahan (FS dan GS) yang mulai tersedia sejak 80386.
- Mode terproteksi 16-bit (16-bit protected mode)
Prosesor 80286 dapat menjalankan Operating System yang menggunakan Mode Real 16-bit prosesor 8086 tanpa perubahan pada OS, namun prosesor ini juga mempunyai mode lain, yaitu mode terproteksi. Mode terproteksi memungkinkan program untuk mengakses RAM yang berukuran 16MB, dan memiliki memori virtual hingga 1GB. Hal ini dimungkinkan karena mode terproteksi menggunakan register segmen untuk menyimpan index ke sebuah tabel segmen. Pada 80286, terdapat dua buah tabel segmen, yaitu tabel GDT dan tabel LDT, masing-masing dapat menyimpan hingga 8192 perinci segmen, tiap segment memberi akses untuk memori sebesar hingga 64KB. Tabel segmen ini menyimpan alamat dasar yang berukuran 24-bit, yang akan digunakan untuk menghitung alamat absolut dari memori yang akan digunakan. Selain itu, segmen-segmen ini dapat diberikan salah satu dari empat jenis level akses.Walaupun dibuatnya prosesor ini merupakan pengembangan yang baik, prosesor ini sangat jarang digunakan karena mode terproteksi tidak dapat menjalankan program-program yang berjalan mode real yang sudah ada sebagai proses, karena program-program mode real sering mengakses perangkat keras secara langsung dan beberapa ada yang melakukan aritmatika segmen, sehingga tidak dapat dijalankan pada mode terproteksi.
2. ARM
Prosesor berasitektur ARM merupakan prosesor yang paling banyak digunakan dalam perangkat mobile saat ini. Desainnya yang sederhana, membuat prosesor ARM cocok untuk aplikasi berdaya rendah.
Bebeda dari Intel dan AMD yang memproduksi dan menjual prosesor rancangan mereka sendiri. ARM hanya menjual lisensi hak paten desain prosesor mereka kepada berbagai perusahaan manufaktur semikonduktor.
Lisensi arsitektur proseor ARM saat ini dimiliki oleh Alcatel, Atmel, Broadcom, Cirrus Logic, Digital Equipment Corporation, Freescale, Intel melalui DEC, LG, Marvell Technology Group, NEC, NVIDIA, NXP Semiconductors, OKI, Quallcomm, Samsung, Sharp, ST Microelectronics, Symbios Logic, Texas Instruments, VLSI Technology, Yamah dan ZiiLABS. Dalam situs resmi perusahaan, ARM mengklaim telah menjual 30 miliar unit prosesor dan lebih dari 16 juta prosesor terjual setiap harinya.
Pada awalnya, Advanced RISC Machines (ARM) yang didirikan pada tahun 1990 ini merupakan sebuah perusahaan patungan antara Acorn Computers, Apple Computer (sekarang Apple Inc), dan VLSI Technology. Pada tahun 1998, Advanced RISC Machines berganti nama menjadi ARM Holdings. Perusahaan ini fokus pada penelitan dan pengembangan desain arsitektur prosesor.
Arsitektur ARM menjadi dasar bagi sebagian besar central processing unit (CPU) di berbagai perangkat mobile. ARM mempunyai desain arsitektur Cortex seri M, R, A, hingga seri A57. Mereka juga memiliki desain arsitektur untuk graphics processing unit (GPU) bernama Mali.
Menurut data dari ARM Holding, arsitektur ARM menguasai 95 persen arsitektur prosesor smartphone, 35 persen televisi digital, serta 10 persen komputer mobile. Hampir semua tablet dan smartphone unggulan, baik yang berbasis Android, iOS, BlackBerry, hingga Windows Phone, memakai prosesor arsitektur ARM. Beberapa konsol game portabel, seperti Game Boy Advance, Nintendo DS, dan PlayStation Portable, memakai prosesor ARM.
ARM juga mengekspansi bisnisnya ke pasar komputer server. Pada Mei 2012, Dell mengumumkan Copper, server yang memakai prosesor Marvell dengan desain ARM.
Pada Oktober 2012, ARM juga mengumumkan prosesor 64-bit dari keluarga Cortex-A57 yang saat ini digunakan oleh iPhone 5s, iPad Air dan iPad Mini generasi kedua. Samsung juga telah membeli lisensi desain ARM 64-bit untuk smartphonenya yang akan dirilis di 2014.
Prosessor X86
|
Prosessor ARM
|
|
|
http://rachmatsn.blogspot.com/2013/05/cisc-dan-risc-pada-saat-iniada-dua.html
http://ernisusanti33.wordpress.com/tag/sejarah-intel-x86/
http://www.jendelatekno.com/2013/10/24/prosesor-arm-prosesor-30-milyar-perangkat-mobile/
http://blog.ub.ac.id/tantiola/2013/03/28/perbedaan-prosessor-x86-dan-arm/
http://ernisusanti33.wordpress.com/tag/sejarah-intel-x86/
http://www.jendelatekno.com/2013/10/24/prosesor-arm-prosesor-30-milyar-perangkat-mobile/
http://blog.ub.ac.id/tantiola/2013/03/28/perbedaan-prosessor-x86-dan-arm/