Sabtu, 21 Mei 2011

Perbedaan Arsitektur RISC dengan CISC

Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
  • Arsitektur komputer dengan kumpulan perintah yang rumit
    (Complex Instruction Set Instruction Computer = CISC)
    • Arsitektur komputer dengan kumpulan perintah yang sederhana
      (Reduced Instruction Set Computer = RISC)
      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 compiler bahasa pemrograman tingkat tinggi. Dalam CISC banyak terdapat perintah bahasa mesin.
      Konsep RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam
      penyusunan kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis dalam bahasa tingkat tinggi. 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.
      Eksekusi Instruksi
      Waktu eksekusi dapat dirumuskan sebagai berikut :
      Waktu eksekusi = N x S x T
      Dengan
      N adalah jumlah perintah
      S adalah jumlah rata-rata langkah per perintah
      T adalah waktu yang diperlukan untuk melaksanakan satu langkah
      Kecepatan eksekusi dapat ditingkatkan dengan menurunkan nilai dari ketiga variabel di atas. Arsitektur CISC berusaha menurunkan nilai N, sedangkan Arsitektur RISC berusaha menurunkan nilai S dan T.
      Proses pipeline dapat digunakan untuk membuat nilai efektif S mendekati 1 (satu) artinya komputer menyelesaikan satu perintah dalam satu siklus waktu CPU. Nilai T dapat diturunkan dengan merancang perintah yang sederhana.
      Reduce Instruction Set Computer (RISC)
      Beberapa elemen penting pada arsitektur RISC :
      • Set instruksi yang terbatas dan sederhana
      • Register general-purpose yang berjumlah banyak, atau penggunaan
      teknologi kompiler untuk mengoptimalkan pemakaian registernya
      • Penekanan pada pengoptimalan pipeline instruksi
      Lebih lanjut untuk memahami RISC, diawali dengan tinjauan singkat
      tentang karakteristik eksekusi instruksi.
      Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sebagai berikut:
      • 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
      Implikasi
      Hasil-hasil penelitian secara umum dapat dinyatakan bahwa terdapat tiga
      buah elemen yang menentukan karakter arsitektur RISC
      • Pertama, penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian operand
      • Kedua, diperlukan perhatian bagi perancangan pipeline instruksi. Karena tingginya proporsi instruksi pencabangan bersyarat dan prosedur call, pipeline instruksi yang bersifat langsung dan ringkas akan menjadi tidak efisien
      • Ketiga, terdapat set instruksi yang disederhanakan (dikurangi)
      Keinginan untuk mengimplementasikan keseluruhan CPU dalam keping tunggal akan merupakan solusi Reduced Instruction Set.
      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 aritmatika (misalnya, penambahan dari memori, penambahan ke memori)
      Penggunaan File Register Besar
      • Terdapat statement assignment yang jumlahnya banyak dalam program-program HLL (High Level Language), dan banyak diantaranya berupa statement assignment sederhana seperti A=B
      • Di samping itu, terdapat pula akses operand per statement HLL dalam jumlah yang cukup besar
      • Apabila kita menghubungkan kedua di atas dengan kenyataan bahwa sebagian besar akses adalah menuju ke skalar-skalar lokal, maka sangat mungkin kita memerlukan penyimpanan register yang besar
      • Alasan diperlukannya penyimpanan register adalah register merupakan perangkat penyimpanan yang paling cepat, yang lebih cepat dibandingkan dengan memori utama dan memori cache
      • Dimungkinkan untuk menerapkan dua buah pendekatan dasar, yaitu berdasarkan perangkat lunak dan perangkat keras :
        • Pendekatan perangkat lunak mengandalkan kompiler untuk memaksimalkan pemakaian register. Pendakatan ini membutuhkan algoritma analisis program yang canggih
        • Pendekatan perangkat keras dilakukan hanya dengan memperbanyak jumlah register sehingga akan lebih banyak variabel yang dapat ditampung di dalam register dalam periode waktu yang lebih lama
      Register Windows
      • Jendela register dibagi menjadi tiga buah daerah yang berukuran tetap :
        • Register-register parameter
      Menampung parameter-parameter yang dilewatkan dari prosedur
      • Register-register local
      Digunakan untuk variable lokal, setelah di-assign oleh compiler
      • Register-register temporer
      Digunakan untuk pertukaran parameter
      • Overlap ini memungkinkan parameter-parameter dapat dilewatkan tanpa perpindahan aktual data
      Variabel-variabel Global
      Teknik Register Windows memberikan organisasi yang efisien untuk penyimpanan variable skalar lokal di dalam register. Akan tetapi teknik ini tidak dapat memenuhi kebutuhan penyimpanan variabel global, yang diakses oleh lebih dari sebuah prosedur (misalnya, variabel COMMON dalam FORTRAN). Terdapat dua pilihan untuk memenuhi hal tersebut :
      • Pertama, Variabel-variabel yang dideklarasikan sebagai global pada HLL dapat disediakan lokasi-lokasi oleh kompiler. Namun, bagi yang sering mengakses variabel-variabel global, teknik tersebut tidaklah efisien
      • Alternatifnya adalah melibatkan kumpulan register global di dalam CPU. Register-register ini harus memiliki jumlah yang tetap dan dapat dipakai oleh semua prosedur
      CISC (Complex Intruction Set Computer)
      CISC adalah singkatan dari Complex Intruction Set Computer dimana prosessor tersebut memiliki set instruksi yang kompleks dan lengkap, dan dirasa ber4pengaruh pada kinerjanya yang lebih lambat. CISC menawarkan set instruksi yang powerful kuat, tangguh, maka tidak heran jika CISC memang hanya mengenal bahasa assembly yang sebenarnya ditujukan bagi para programmer. Oleh karena itu, CISC memerlukan sedikit instruksi untuk berjalan
      Jadi sebenarnya tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin.
      Mengapa CISC?
      Jumlah instruksi yang banyak dan instruksi yang lebih kompleks. Dua alasan utama yang menjadi motivasi kecenderungan ini adalah adanya keinginan untuk menyederhanakan kompiler dan keinginan untuk meningkatkan kinerja. Alasan penting lainnya adalah harapan bahwa CISC akan menghasilkan program yang lebih kecil dan lebih cepat.
      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.
      RISCCISC
      Penekanan pada perangkat lunakPenekanan pada perangkat keras
      Single-clock,hanya sejumlah kecil instruksiTermasuk instruksi kompleks multi-clock
      Register toRegister :”LOAD”&”STORE” adalah instruksi2 terpisahMemori ke Memori:”LOAD”&”STORE” saling bekerjasama
      Ukuran kode besar(kecepatan relatif tinggi)Ukurang kode kecil,kecepatan rendah
      Transistor banyak dipakai untuk register memoriTransistor digunakan untuk menyimpan instruksi2 kompleks
      Bagaimanapun juga,strategy pada RISC meberikan beberapa kelebihan. Karena masing-masing instruksi hanya membutuhkan satu siklus detak untuk eksekusi,maka seluruh program(yang sudah dijelaskan sebelumnya)dapat dikerjakan setara dengan kecepatan eksekusi,instruksi”MULT”. Secara perangkat keras,prosesor RISC tidak terlalu banyak membutuhkan transistor dibandingkan dengan CISC. Sehingga menyisakan ruangan untuk register-register serbaguna (general purpose registers). Selain itu,karena semua instruksi dikerjakan dalam waktu yang sama (yaitu satu detak),maka dimungkinkan untuk melakukan pipelining.
      Memisahkan instruksi “L0AD” dan “STORE” sesungguhnya mengurangi kerja yang harus dilakukan oleh prosesor. Pada CISC,setelah intruksi “MULT” dieksekusi,prosesor akan secara otomatis menghapus isi register,jika ada operan yang dibutuhkan lagi untuk operasi berikutnya,maka prosesor harus menyimpan ulang data tersebut dari memori ke register. Sedangkan pada RISC operan tetap berada dalam register yang bersangkutan.
      Persamaan untuk kerja (PEFORMANCE)
      Persamaan berikut biasa digunakan sebagai ukuran unjuik kerja suatu komputer :
      Time/Program = Time/Cycle x cycles/Instruction x instructions/Program
      Pendekatan CISC bertujuan untuk meminimalkan jumlah instruksi per program,dengan cara mengorbankan kecepatan eksekusi sekian siklus/detik. Sedangkan RISC bertolak belakang,tujuannya mengurangi jumlah siklus/detik setiap instruksi dibayar dengan bertambahnya jumlah instruksi per program
      Penghadang jalan (Roadblocks) RISC
      Walaupun pemrosesan berbasis RISC memiliki beberapa kelebihan, dibutuhkan waktu kurang lebih 10 tahunan mendapatkan kedudukan di dunia
      komersil. Hal ini dikarenakan kurangnya dukungan perangkat lunak.
      Walaupun Apple’s Power Macintosh menggunakan chip berbasis RISC dan Windows NT adalah kompatibel RISC, Windows 3.1 dan Windows 95 dirancang berdasarkan prosesor CISC Banyak perusahaan segan untuk masuk ke dalam
      dunia teknologi RISC. Tanpa adanya ketertarikan komersil, pengembang prosesor RISC tidak akan mampu memproduksi chip RISC dalam jumlah besar sedemikian hingga harganya bisa kompetitif.Kemerosotan juga disebabkan
      munculnya Intel, walaupun chip-chip CISC mereka semakin susah digunakan dan sulit dikembangkan Intel memiliki sumberdaya untuk menjajagi dan melakukan berbagai macam pengembangan dan produksi prosesor-prosesor yang ampuh. Walaupun prosesor RISC lebih unggul dibanding Intel dalam beberapa area, perbedaan tersebut kurang kuat untuk mempengaruhi pembeli agar merubah teknologi yang digunakan.
      Keunggulan RISC
      Saat ini, hanya Intel x86 satu-satunya chip yang bertahan menggunakan arsitektur CISC. Hal ini terkait dengan adanya kemajuan teknologi komputer pada sektor lain. Harga RAM turun secara dramatis. Pada tahun 1977, DRAM ukuran
      1MB berharga %5,000, sedangkan pada tahun 1994 harganya menjadi sekitar $6. Teknologi kompailer juga semakin canggih, dengan demikian RISC yang
      menggunakan RAM dan perkembangan perangkat lunak menjadi semakin banyak ditemukan.
      KETERANGAN TENTANG MULT 2:3, 5:2
      MULT dalam hal ini lebih dikenal sebagai “complex instruction”, atau instruksi yang kompleks. Bekerja secara langsung melalui memori komputer dan tidak memerlukan instruksi lain seperti fungsi baca maupun menyimpan. Satu kelebihan dari sistem ini adalah kompailer hanya menerjemahkan instruksi-instruksi bahasa
      tingkat-tinggi ke dalam sebuah bahasa mesin. Karena panjang kode instruksi relatif pendek, hanya sedikit saja dari RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut.
      CISC
      Contoh mikroprosesor dengan arsitektur CISC adalah Intel 8088, 8085, 8086, Zilog Z-80 CPU, NS 32016, MC6800. Karena jumlah instruksi lebih banyak jenis dan ragamnya maka kelemahan CISC terletak pada sulitnya mengembangkan interpreter dan kompiler.
      RISC
      Merupakan arsitektur instruction set yang menekankan kepada kesederhanaan instruksi “bekerja sedikit” tetapi tetap memberikan hasil performansi yang tinggi. Hal ini bisa terjadi karena
      Proses eksekusi instruksinya sangat cepat. Arsitektur ini lebih baru dibandingkan dengan arsitektur CISC. Arsitektur RISC memiliki sedikit instruksi banyak register. Contoh mikroprosesor dengan artsitektur RISC adalah AMD 2900, MIPS R2000, SUN ,SPARC, MC 8800, ATMET 90S1200, 90S2313, 90S2323, 90S2343, 90S4434,90S8515

      1 komentar: