Sabtu, 17 Januari 2015

Penjelasan Tentang RISC dan Pipelining RISC

Penjelasan Tentang RISC dan Pipelining  RISC


1    1.      REDUCE INSTRUCTION SET COMPUTER (RISC) .

Sejarah RISC
          Reduced Instruction Set Computing (RISC) atau "Komputasi set instruksi yang disederhanakan" pertama kali digagas oleh John Cocke, peneliti dari IBM di Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20% instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan kerjanya. Komputer pertama yang menggunakan konsep RISC ini adalah IBM PC/XT pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David Patterson, pengajar pada University of California di Berkely.

Definisi RISC
          RISC, yang jika diterjemahkan berarti "Komputasi Kumpulan Instruksi yang Disederhanakan", merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer vektor. Selain digunakan dalam komputer vektor, desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor Intel 960, Itanium (IA64) dari IntelIntel 960, Itanium (IA64) dari Intel Corporation, Alpha AXP dari DEC,R4x00 dari MIPS Corporation, PowerPC dan Arsitektur POWER dari International Business Machine. Selain itu, RISC juga umum dipakai pada Advanced RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel XScale), SPARC dan Ultra SPARC dari Sun Microsystems, serta PA-RISC dari Hewlett-Packard. Selain RISC, desain Central Processing Unit yang lain adalah CISC (Complex Instruction Set Computing), yang jika diterjemahkan ke dalam Bahasa Indonesia berarti Komputasi Kumpulan Instruksi yang kompleks atau rumit.

Karakteristik RISC

Arsitektur RISC memiliki beberapa karakteristik diantaranya :
·        Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol mikroprogram saat eksekusi instruksi berlangsung.

·        Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan   store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit control. Keuntungan lainnya memungkinkan optimasi pemakaian register sehingga operand yang sering diakses akan tetap ada di penyimpan berkecepatan tinggi. Penekanan pada operasi register ke register merupakan hal yang unik bagi perancangan RISC.

·       Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register,. Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan sel instruksi dan unit kontrol.

·       Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan field yang tetap pendekodean opcode dan  pengaksesan operand register dapat dilakukan secara bersama-sama

Ciri-ciri RISC

·           Instruksi berukuran tunggal
·           Ukuran yang umum adalah 4 byte
·           Jumlah pengalamatan data sedikit, biasanya kurang dari 5 buah.
·           Tidak terdapat pengalamatan tak langsung yang mengharuskan melakukan sebuah akses       memori agar memperoleh alamat operand lainnya dalam memori.
·          Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi         aritmatika, seperti penambahan ke memori dan penambahan dari memori.
·          Tidak terdapat lebih dari satu operand beralamat memori per instruksi
·          Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.
·          Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah       sebuah instruksi .
·          Jumlah bit bagi integer register spesifier sama dengan 5 atau lebih, artinya sedikitnya 32       buah register integer dapat direferensikan sekaligus secara eksplisit.
·         Jumlah bit floating point register spesifier sama dengan 4 atau lebih, artinya sedikitnya         16 register floating point dapat direferensikan sekaligus secara eksplisit.






2.      PIPELINING .

Pengertian pipelining, pipelining yaitu suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesan. Dengan cara ini, maka unit pemrosesan selalu bekerja.
Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistemkomputer. Bisa pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada instruksi yang dijalankan oleh microprocessor.

A.  Pengenalan Pipeline.
Prosesor Pipeline yang berputar adalah prosesor baru untuk arsitektur superscalar komputasi. Ini didasarkan pada cara yang mudah dan pipeline yang biasa, struktur yang dapat mendukung beberapa ALU untuk lebih efisien dalam pengiriman dari bagian beberapa instruksi. Daftar nilai arus yang berputar di sekitar pipa, dibuat oleh dependensi data lokal. Selama operasi normal, kontrol sirkuit tidak berada pada jalur yang kritis dan kinerja hanya dibatasi oleh data harga. Operasi mengalir dengan interval waktu sendiri. Ide utama dari Pipeline Prosesor yang berputar adalah circular uni-arah mengalir dari memori register oleh pusat waktu logika dan proses secara parallel dari operasi ALU            .


Keuntungan pipelining .

1.      Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi dalam      kebanyakan kasus( lebih cepat selesai).

2.      Beberapa combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih             cepat dengan menambahkan lebih banyak sirkuit. Jika pipelining digunakan sebagai         pengganti, hal itu dapat menghemat sirkuit & combinational yang lebih kompleks.

3.      Pemrosesan dapat dilakukan lebih cepat, dikarenakan beberapa proses dilakukan secara        bersamaan dalam satu waktu.
Kekurangan Pipelining:

1.      Pipelined prosesor menjalankan beberapa instruksi pada satu waktu. Jika ada beberapa          cabang yang mengalami penundaan cabang (penundaan memproses data) dan akibatnya             proses yang dilakukan cenderung lebih lama.
2.      Instruksi latency di non-pipelined prosesor sedikit lebih rendah daripada dalam         pipelined setara. Hal ini disebabkan oleh fakta bahwa intruksi ekstra harus ditambahkan       ke jalur data dari prosesor pipeline.
3.      Kinerja prosesor di pipeline jauh lebih sulit untuk meramalkan dan dapat bervariasi   lebih luas di antara program yang berbeda.
4.      Karena beberapa instruksi diproses secara bersamaan ada kemungkinan instruksi                   tersebut sama-sama memerlukan resource yang sama, sehingga diperlukan adanya          pengaturan yang tepat agar proses tetap berjalan dengan benar.
5.      Sedangkan ketergantungan terhadap data, bisa muncul, misalnya instruksi yang        berurutan memerlukan data dari instruksi yang sebelumnya.
6.      Kasus Jump, juga perlu perhatian, karena ketika sebuah instruksi meminta untuk                    melompat ke suatu lokasi memori tertentu, akan terjadi perubahan program counter,      sedangkan instruksi yang sedang berada dalam salah satu tahap proses yang berikutnya mungkin tidak mengharapkan terjadinya perubahan program counter.


*        Kesulitan dalam Pipeline

Untuk menerapkan prinsip multi-stage atau mulai saat ini kita namakan pipelining di prosesor, diperlukan organisasi prosesor khusus. Pada dasarnya, prosesor dipartisi menjadi sejumlah unit-unit kecil dengan fungsi spesifik. Setiap unit berperan untuk  menyelesaikan sebagian dari  instruksi-intruksi berikut :
 Instruction fetch, decode, operand address calculation, operand fetch, execute dan store result.

Dalam proses di atas terkadang sering terjadi kendala/conflict seperti:

1.      Terjadinya pause (Pi), karena adanya data conflict dalam program tersebut
2.      Terjadinya data error dikarenakan banyaknya proses yang dilakukan bersamaan
3.      Terjadinya pengambilan data secara bersamaan, sehingga salah satu proses tertunda
4.      Terjadinya penumpukan data di salah satu intruksi sehingga ada beberapa proses yg di tunda
5.   Dengan terjadinya conflict tadi, speed-up yang diperoleh menjadi lebih kecil (lambat) dibandingkan dengan tanpa conclict.



 

Sumber:

Tidak ada komentar:

Posting Komentar