Tipe Processor
1. RISC ( Reduced Instruction Set Computer )
    - CPU Apple
2. CISC ( Complex Instruction Set Computer )
    - AMD CPU dan Intel
RISC singkatan dari Reduced   Instruction Set Computer. Merupakan bagian dari arsitektur   mikroprosessor, berbentuk kecil dan berfungsi untuk negeset istruksi   dalam komunikasi diantara arsitektur yang lainnya.
Sejarah RISC
Proyek   RISC pertama dibuat oleh IBM, stanford dan UC –Berkeley pada akhir   tahun 70 dan awal tahun 80an. IBM 801, Stanford MIPS, dan Barkeley RISC 1   dan 2 dibuat dengan konsep yang sama sehingga dikenal sebagai RISC.   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 di Desain dimaksudkan untuk dapat 
  menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang 
  berlebih dengan memory.
Disingkat dengan CISC. Rangkaian   instruksi built-in pada processor yang terdiri dari perintah-perintah   yang kompleks. Instruksi-instruksi yang tersedia memudahkan para   programmer untuk mengembangkan aplikasi untuk plattform CISC. Di lain   pihak, banyaknya instruksi dalam CISC dapat mengurangi kecepatannya.   Chip Intel x86 merupakan chip dari jenis CISC karena ia menggunakan set   instruksi kompleks.
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.
Di sini   chip jenis RISC akan membahagikan operasi besar kepada beberapa  operasi  yang lebih mudah sehingga terdapat perintah-perintah kecil yang  mampu  memproses dengan cepat.
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.
Kelebihan  dan  kekurangan dari dua arsitektur tersebut sering menjadi  perdebatatan  diantara para ahli. Namun demikian teknologi terkini  menggunakan  arsitektur RISC ini.
Perbedaan RISC dengan CISC dilihat dari segi instruksinya
RISC ( Reduced Instruction Set Computer ) 
- Menekankan pada perangkat lunak, dengan sedikit transistor
- Instruksi sederhana bahkan single
- Load / Store atau memory ke memory bekerja terpisah
- Ukuran kode besar dan kecapatan lebih tinggi
- Transistor didalamnya lebih untuk meregister memori 
CISC ( Complex Instruction Set Computer )
- Lebih menekankan pada perangkat keras, sesuai dengan takdirnya untuk pragramer.
- Memiliki instruksi komplek. Load / Store atau Memori ke Memori bekerjasama 
- Memiliki ukuran kode yang kecil dan kecepatan yang rendah.
- Transistor di dalamnya digunakan untuk menyimpan instruksi - instruksi bersifat komplek
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.
Apakah   memang RISC lebih lebih baik dari CISC atau sebaliknya. Tetapi tahukah   kita dimana sebenarnya letak perbedaan itu. Apakah prosesor dengan   instruksi yang lebih sedikit akan lebih baik dari prosesor yang   instruksinya kompleks dan lengkap. Apakah memang perbedaan prosesor itu   hanya dari banyak atau tidaknya instruksi saja. Bukankah jumlah   instruksi tidak berhubungan dengan ke-handal-an suatu prosesor.   Pertanyaan-pertanyaan ini yang hendak dijawab melalui tulisan berikut.   Namun supaya lebih dekat dengan elektronika praktis,  ElectronicLab akan   lebih fokus pada mikrokontroler low-cost yang berbasis RISC dan CISC.   Sebagai contoh dari mikrokontroler CISC adalah 68HC11 buatan Motorola   dan  80C51 dari Intel. Kita juga mengenal keluarga PIC12/16CXX dari   Microchip dan COP8 buatan National Semiconductor sebagai mikrokontroler   yang berbasis RISC.
CISC adalah   singkatan dari Complex Intruction Set Computer dimana prosesor tersebut   memiliki set instruksi yang kompleks dan lengkap. 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), maka mari kita bahas sedikit tentang intruksi  itu  sendiri.
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 …
Sebagian set instruksi 68HC11 
Pada   awalnya, instruksi yang tersedia amat sederhana dan sedikit. Kemudian   desainer mikroprosesor berlomba-lomba untuk melengkapi set instruksi  itu  selengkap-lengkapnya. Jumlah instruksi itu berkembang seiring  dengan  perkembangan desain mikroprosesor yang semakin lengkap dengan  mode  pengalamatan yang bermacam-macam. Mikroprosesor lalu memiliki  banyak  instruksi manipulasi bit dan seterusnya dilengkapi dengan   instruksi-instruksi aritmatik seperti  penjumlahan, pengurangan,   perkalian dan pembagian. Seperti contohnya 68HC11 banyak sekali memiliki   set instruksi untuk percabangan seperti BNE, BLO, BLS, BMI, BRCLR,   BRSET dan sebagainya.
Perancang   mikroprosesor juga memperkaya  ragam instruksi tersebut dengan membuat   satu instruksi tunggal untuk program yang biasanya dijalankan dengan   beberapa intruksi. Misalnya pada 80C51 untuk contoh program berikut ini.
LABEL    …
…
DEC    R0
MOV  A,R0
JNZ     LABEL
Program ‘decrement’ 80C51
Program   ini adalah program pengulangan yang mengurangi isi register R0 sampai   register R0 menjadi kosong (nol). Intel menambah set instruksinya  dengan  membuat satu instruksi khusus untuk keperluan seperti ini :
LABEL    ….
DJNZ   R0,LABEL
Instruksi ‘decrement jump not zero’  80C51 
Kedua   contoh program ini hasilnya tidak berbeda. Namun demikian, instruksi   kompleks seperti DJNZ mempermudah pembuat program. Set instruksi yang   lengkap diharapkan akan semakin membuat pengguna mikroprosesor leluasa   menulis  program dalam bahasa assembler yang mendekati bahasa   pemrograman level tinggi. Intel 80C51 yang  dikembangkan dari basis   prosesor 8048 dirilis pada tahun 1976 memiliki  tidak kurang dari 111   instruksi. Tidak ketinggalan, 68HC11 dari Motorola yang populer di tahun   1984 dilengkapi dengan 145 instruksi. Karena banyak dan kompleksnya   instruksi yang dimiliki 68HC11 dan 80C51, kedua contoh mikrokontroler   ini disebut sebagai prosesor CISC.
Debat   CISC versus RISC dimulai ketika pada tahun 1974 IBM mengembangkan   prosesor 801 RISC. Argumen yang dipakai waktu itu adalah mengapa   diperlukan instruksi yang kompleks. Sebab pada prinsipnya, instruksi   yang kompleks bisa dikerjakan oleh instruksi-instruksi yang lebih   sederhana dan kecil. Ketika itu penggunaan bahasa tingkat tinggi seperti   Fortran dan kompiler lain (compiler/interpreter) mulai berkembang.   Apalagi saat ini compiler seperti C/C++ sudah lazim digunakan. Sehingga   sebenarnya tidaklah diperlukan instruksi yang kompleks di tingkat   prosesor. Kompiler yang akan bekerja men-terjemahkan program  dari   bahasa tingkat tinggi menjadi bahasa mesin.
Untuk   melihat bagaimana perbedaan instruksi RISC dan CISC, mari kita lihat   bagaimana keduanya melakukan perkalian misalnya c = a x b.    Mikrokontroler 68HC11 melakukannya dengan program sebagai berikut :
LDAA #$5
LDAB #$10
MUL
Program 5×10 dengan 68HC11
Cukup   tiga baris saja dan setelah ini accumulator D pada 68HC11 akan berisi   hasil perkalian dari accumulator A dan B, yakni 5 x 10 = 50. Program   yang sama dengan PIC16CXX, adalah seperti berikut ini.
MOVLW 0×10
MOVWF Reg1
MOVLW 0×05
MOVWF Reg2
CLRW
LOOP  ADDWF  Reg1,0
CFSZ      Reg2,1
GOTO     LOOP
…
…
Program 5×10 dengan PIC16CXX
Prosesor   PIC16CXX yang RISC ini, tidak memiliki instruksi perkalian yang  khusus.  Tetapi perkalian 5×10 itu sama saja dengan penjumlahan nilai 10   sebanyak 5 kali. Kelihatannya membuat program assembly dengan prosesor   RISC menjadi lebih kompleks dibandingkan dengan prosesor CISC. Tetapi   perlu diingat, untuk membuat instruksi yang kompleks seperti instruksi   MUL dan instruksi lain yang rumit pada prosesor CISC, diperlukan   hardware yang kompleks juga. Dibutuhkan ribuan gerbang logik (logic   gates) transistor untuk membuat prosesor yang demikian. Instruksi yang   kompleks juga membutuhkan jumlah siklus mesin (machine cycle) yang lebih   panjang untuk dapat menyelesaikan eksekusinya. Instruksi perkalian MUL   pada 68HC11 memerlukan 10 siklus mesin dan instruksi pembagiannya   memerlukan 41 siklus mesin.
Pendukung   RISC berkesimpulan, bahwa prosesor yang tidak rumit akan semakin cepat   dan handal. Hampir semua instruksi prosesor RISC adalah instruksi  dasar  (belum tentu sederhana),  sehingga instruksi-instruksi ini  umumnya hanya  memerlukan 1 siklus mesin untuk menjalankannya. Kecuali  instruksi  percabangan yang membutuhkan 2 siklus mesin. RISC biasanya  dibuat dengan  arsitektur Harvard, karena arsitektur ini yang  memungkinkan untuk  membuat eksekusi instruksi selesai dikerjakan dalam   satu atau dua  siklus mesin.
Sebagai   perbandingan jumlah instruksi pada prosesor RISC,  COP8 hanya  dilengkapi  dengan 58 instruksi dan PIC12/16CXX hanya memiliki 33  instruksi saja.  Untuk merealisasikan instruksi dasar yang jumlah tidak  banyak ini,  mikroprosesor RISC tidak memerlukan gerbang logik yang  banyak. Karena  itu dimensi dice IC dan konsumsi daya prosesor RISC  umumnya lebih kecil  dibanding prosesor CISC. Bukan karena kebetulan,  keluarga mikrokontroler  PICXX banyak yang dirilis ke pasar dengan  ukuran mini. Misalnya  PIC12C508 adalah mikrokontroler DIP 8 pin.
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.
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.



Tidak ada komentar:
Posting Komentar