RISC And CISC | Definisi Dari RISC dan CISC


A.     RISC (Reduced Instruction Set Computing) adalah desain Central Processing Unit alias CPU strategis yang didasarkan pada wawasan yang disederhanakan (tidak kompleks/serumit CPU untuk personal computer). Walaupun instruction set CPU ini telah disederhanakan, namun instruksi tersebut dapat memberikan kinerja yang lebih tinggi apabila penyederhanaan ini memungkinkan eksekusi perintah yang jauh lebih cepat. Sebuah komputer yang didasarkan pada strategi ini biasanya adalah komputer tablet ataugadget yang lebih kecil dari personal komputer atau laptopAda banyak usulan definisi yang tepat, tetapi istilah ini perlahan terjawab oleh arsitektur load-store yang lebih deskriptif. Pohon keluarga dari CPU jenis RISC ini antara lain termasuk seri DEC Alpha, AMD 29K, ARC,ARM, Atmel AVR, Blackfin, MIPS, PA-RISC, Power (termasuk PowerPC), SuperH, dan SPARC.
CISC dan RISC


Pada saat ini ada dua konsep populer yang berhubungan dengan desain CPU dan set instruksi:
1. Complex Instruction Set Computing (CISC).
2. 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 :
  1. Instruksi berukuran tunggal
  2. 2. Ukuran yang umum adalah 4 byte. 
  3. Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima buah. 
  4. Tidak terdapat pengalamatan tak langsung. 
  5. 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 :
  1. Memudahkan pekerjaan kompiler
  2. Meningkatkan efisiensie ksekusi, karena operasi yang kompleks dapat diimplementasikan didalam mikrokode.
  3. Memberikan dukungan bagi HLL yang lebih kompleks dan canggih.



RISC mempunyai karakteristik :
  1. One cycle execution time : satu putaran eksekusi.
  2. Prosessor RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi pada CPU.
  3. Pipelining  adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara simultan. Sehingga proses instruksi lebih efiisien
  4. Large number of registers: Jumlah register yang sangat banyak
  5. RISC didesain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
  6. Rangkaian instruksi built-in pada processor yang terdiri dari perintah-perintah yang lebih ringkas dibandingkan dengan CISC.
  7. 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.


1.Menggunakan Pendekatan RISC
       Prosesor 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


2.Menggunakan Pendekatan  CISC
      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.
      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.
MULT 2:3, 5:2


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

Kesimpulan
      CISC Complex Instruction Set Computer sedangkan RISC merupakan kepanjangan dari Reduced Instruction Set Computer. Chip RISC dibangun mulai pertengahan tahun 1980 sebagai pengganti chip CISC. Pada dasarnya karakteristik CISC yg "sarat informasi" memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Hal inilah yang menyebabkan komputer-komputer pada saat itu memiliki harga yang murah. 


        Filosofi RISC berada dalam tidak satu pun chip yang menggunakan bahasa instruksi assembly yang complex, seperti yang digunakan di CISC. Untuk itulah, instruksi yang simple dan lebih cepat akan lebih baik daripada besar, complex dan lambat seperti CISC. Keuntungan RISC lainnya karena adanya instruksi yang simple, maka chip RISC hanya memiliki beberapa transistor, yang akan membuat RISC mudah didesain dan murah untuk diproduksi untuk menulis compiler yang powerful. RISC memberikan kemudahan di hardware, namun lebih kompleks di software.

VOLATILE MEMORY
  • Volatile memory (volatile storage) : Memori Volatile, juga dikenal sebagai volatile storage, adalah memori komputer yang membutuhkan daya listrikuntuk menjaga informasi yang tersimpan di dalamnya, dengan kata lain perlu daya listrik agar informasi tetap tersimpan. Memori volatile mempertahankan informasi/data selama catu daya aktif, tetapi ketika catu daya di-matikan atau terputus, informasi/data yang tersimpan akan hilang, contohnya : DRAM dan SRAM (lebih dikenal dengan nama RAM).
  • Non-volatile memory, (non-volatile storage - NVM) : Memori Non-volatile, non-volatile memori, NVM atau non-volatile storage adalah memori komputer yang tetap dapat menyimpan/menjaga informasi/data yang ada di dalamnya meski tidak tersedia daya listrik. Contoh memori non-volatile adalah Read Only Memori (ROM), flash memory, RAM feroelektrik (F-RAM), sebagian besar jenis magnetic-storage dalam komputer (mis. hard disk, disket, dan pita magnetik), flashdisk, optical disk, dll.

Pengertian Memori Cache

Definisi Cache
Cache adalah memori yg lebih kecil, lebih cepat yang menyimpan salinan data dari yang paling sering digunakan memori utama lokasi.
Fungsi Cache
Cache berfungsi untuk mempercepat akses data pada komputer karena cache menyimpan data/informasi yang telah diakses oleh suatu buffer, sehingga meringankan kerja processor.

Cache beasal dari kata cash. Dari istilah tersebut cache adalah tempat menyembunyikan atau tempat menyimpan sementara. Sesuai definisi tersebut cache memori adalah tempat menyimpan data sementara. Cara ini dimaksudkan untuk meningkatkan transfer data dengan menyimpan data yang pernah diakses pada cache tersebut, sehingga apabila ada data yang ingin diakses adalah data yang sama maka maka akses akan dapat dilakukan lebih cepat.Cache memori ini adalah memori tipe SDRAM yang memiliki kapasitas terbatas namun memiliki kecepatan yang sangat tinggi dan harga yang lebih mahal dari memori utama. Cache memori ini terletak antara register dan RAM (memori utama) sehingga pemrosesan data tidak langsung mengacu pada memori utama.

 Level Memori Cache

Cache memori ada tiga level yaitu L1,L2 dan L3.
• Cache memori level 1 (L1) adalah cache memori yang terletak dalam prosesor (cache internal). Cache ini memiliki kecepatan akses paling tinggi dan harganya paling mahal. Ukuran memori berkembang mulai dari 8Kb, 64Kb dan 128Kb.Cache level 2 (L2) memiliki kapasitas yang lebih besar yaitu berkisar antara 256Kb sampai dengan 2Mb. Namun cache L2 ini memiliki kecepatan yang lebih rendah dari cache L1.
• Cache L2 terletak terpisah dengan prosesor atau disebut dengan cache eksternal.
• Cache level 3 hanya dimiliki oleh prosesor yang memiliki unit lebih dari satu misalnya dualcore dan quadcore. Fungsinya adalah untuk mengontrol data yang masuk dari cache L2 dari masing-masing inti prosesor.
• L1 CACHE, L2 CACHE, L3 CACHE
• L1 dan L2 Cache adalah memori sementara pada processor. Jadi ketika komputer dimatikan, maka ingatan yang ada pada processor pun akan hilang. L1 dan L2 mempunyai fungsi dan perbedaan, diantaranya adalah.

Fungsi Cache L1, L2, dan L3

• Fungsi Cache L1:
Sejumlah kecil SRAM memori yang digunakan sebagai cache yang terintegrasi atau satu paket di dalam modul yang sama pada prosesor. L1 cache ini dikunci pada kecepatan yang sama pada prosesor. Berguna untuk menyimpan secara sementara instruksi dan data, dan memastikan bahwa prosesor memiliki supply data yang stabil untuk diproses sementara memori mengambil dan menyimpan data baru.
• Fungsi Cache L2:
Fungsinya sama dengan L1 Cache, L2 Cache dikenal juga dengan nama secondary cache, adalah memory yang memiliki urutan kecepatan kedua (tipe memori yang paling cepat adalah L1 Cache) yang disediakan untuk mikroprosesor.

• Fungsi Cache L3 :
L3 cache memori khusus yang bekerja tangan-di-tangan dengan L1 dan L2 cache untuk meningkatkan kinerja komputer. L1, L2 dan L3 cache yangpemrosesan komputer unit ( CPU ) cache, ayat-ayat jenis lain dalam sistem cache seperti hard disk cache


Perbedaan L1 cache, L2 cache, L3 cache adalah :


     Cache L1 adalah memori yang utama.
   
      Kecepatannya sama dengan kecepatan processor
     Cache L2 adalah memori yang kedua (sekunder)
   
      Kecepatannya dibawah kecepatan Cache L1
     Cache L3 memiliki kapasitas lebih besar dari Cache L2
  
     Lebih lambat dari Cache L2 tetapi lebih cepat dari memori utama (L1)

Letak Cache Memory

• L1 cache terintegrasi dengan chip prosesor, artinya letak L1 cache sudah menyatu dengan chip prosesor (berada di dalam keping prosesor). 
• L2 cache, ada yang menyatu dengan chip prosesor, ada pula yang terletak di luar chip prosesor, yaitu di motherboard dekat dengan posisi dudukan prosesor. Pada era prosesor intel 80486 atau sebelumnya, letak L2 cache kebanyakan berada di luar chip prosesor. Chip cache terpisah dari prosesor, berdiri mandiri dekat chip prosesor. Sejak era prosesor Intel Pentium, letak L2 cache ini sudah terintegrasi dengan chip prosesor (menyatu dengan keping prosesor). Posisi L2 cache selalu terletak antara L1 cache dengan memori utama (RAM). 
• L3 cache belum diimplementasikan secara umum pada semua jenis prosesor. Hanya prosesor-prosesor tertentu yang memiliki L3 cache.

Cache memory yang letaknya terpisah dengan prosesor disebut cache memory non integrated atau diskrit (diskrit artinya putus atau terpisah). 
Cache memory yang letaknya menyatu dengan prosesor disebut cache memory integrated, on-chip, atau on-die (integrated artinya bersatu/menyatu/ tergabung, on-chip artinya ada pada chip).

L1 cache (Level 1 cache) disebut pula dengan istilah primary cache, first cache, atau level one cache. 
L2 cache disebut dengan istilah secondary cache, second level cache, atau level two cache.


Kecepatan Cache Memory

Transfer data dari L1 cache ke prosesor terjadi paling cepat dibandingkan L2 cache maupun L3 cache (bila ada). Kecepatannya mendekati kecepatan register. L1 cache ini dikunci pada kecepatan yang sama pada prosesor. Secara fisik L1 cache tidak bisa dilihat dengan mata telanjang. L1 cache adalah lokasi pertama yang diakses oleh prosesor ketika mencari pasokan data. Kapasitas simpan datanya paling kecil, antara puluhan hingga ribuan byte tergantung jenis prosesor. Pada beberapa jenis prosesor pentium kapasitasnya 16 KB yang terbagi menjadi dua bagian, yaitu 8 KB untuk menyimpan instruksi, dan 8 KB untuk menyimpan data.

Transfer data tercepat kedua setelah L1 cache adalah L2 cache. Prosesor dapat mengambil data dari cache L2 yang terintegrasi (on-chip) lebih cepat dari pada cache L2 yang tidak terintegrasi. Kapasitas simpan datanya lebih besar dibandingkan L1 cache, antara ratusan ribu byte hingga jutaan byte, ada yang 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, bahkan 8 MB, tergantung jenis prosesornya. 
Kapasitas simpan data untuk L3 cache lebih besar lagi, bisa ratusan juta byte (ratusan mega byte).

Prioritas Penyimpanan Dan Pengambilan Data

Dalam mekanisme kerjanya, data yang akan diproses oleh prosesor, pertama kali dicari di L1 cache, bila tidak ada maka akan diambil dari L2 cache, kemudian dicari di L3 cache (bila ada). Jika tetap tidak ada, maka akan dicari di memori utama. Pengambilan data di L2 cache hanya dilakukan bila di L1 cahe tidak ada.

Jika isi cache penuh, data yang paling lama akan dibuang dan digantikan oleh data yang baru diproses oleh prosesor. Proses ini dapat menghemat waktu dalam proses mengakses data yang sama, dibandingkan jika prosesor berulang-ulang harus mencari data ke memori utama.

Secara logika, kapasitas cache memory yang lebih besar dapat membantu memperbaiki kinerja prosesor, setidak-tidaknya mempersingkat waktu yang diperlukan dalam proses mengakses data.

Cara Kerja Memori Cache

Jika prosesor membutuhkan suatu data, pertama-tama ia akan mencarinya pada cache. Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang kecepatannya lebih rendah. Pada umumnya, cache dapat menyediakan data yang dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi. Dengan cara ini maka memory bandwidth akan naik dan kerja prosesor menjadi lebih efisien. Selain itu kapasitas memori cache yang semakin besar juga akan meningkatkan kecepatan kerja komputer secara keseluruhan.

Dua jenis cache yang sering digunakan dalam dunia komputer adalah memory caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari memori utama komputer atau sebuah media penyimpanan data khusus yang berkecepatan tinggi.

Implementasi memory caching sering disebut sebagai memory cache dan tersusun dari memori komputer jenis SDRAM yang berkecepatan tinggi. Sedangkan implementasi disk caching menggunakan sebagian dari memori komputer.

Struktur System Cache 

Memori utama terdiri dari sampai dengan 2n word beralamat, dengan masing-masing word mempunyai n-bit alamat yang unik. Untuk keperluan pemetaan, memori ini dinggap terdiri dari sejumlah blok yang mempunyai panjang K word masing-masing bloknya. Dengan demikian, ada M = 2n/K blok. Cache terdiri dari C buah baris yang masing-masing mengandung K word, dan banyaknya baris jauh lebih sedikit dibandingkan dengan banyaknya blok memori utama (C << M). Di setiap saat, beberapa subset blok memori berada pada baris dalam cache. jika sebuah word di dalam blok memori dibaca, blok itu ditransfer ke salah satu baris cache. karena terdapat lebih banyak blok bila dibanding dengan baris, maka setiap baris tidak dapat menjadi unik dan permanen untuk dipersempahkan ke blok tertentu mana yang disimpan. Tag biasanya merupakan bagian dari alamat memori utama


close
==[ Klik disini 2X ] [ Close ]==