Jumat, 22 Desember 2017

Pipelining & RISC



1.      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.

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

            Struktur lain yang menggunakan penyelesaian deteksi atau selain penundaan yang tepat dari pengaturan waktu pusat tetapi karena masalah waktu yang Syncronization, Pipelines memaksakan sebuah penurunan kinerja. Misalnya counterflow pipeline prosesor yang dirancang sekitar dua arah, pipa membawa petunjuk dan argumen dalam satu arah dan hasil yang lainnya b ini dapat menyebabkan Syncronization masalah antara prosesor.

            Pipeline yang berputar menghindari masalah yang hanya melewati data dalam satu arah. Pada prinsipnya, prosesor dari register terus beredar di sekitar cincin yang berhubungan dengan berbagai fungsi ALU, akses memori dan sebagainya .ada tiap tahap, nilai-nilai yang memeriksa dan disampaikan, kemungkinan setelah perubahan, tidak signifikan dengan pengeluaran tambahan untuk sinkronisasi. Dispatched adalah instruksi dari pusat ke fungsi unit yang memungkinkan beberapa masalah instruksi.

Tahapan pipeline :
1.      Mengambil instruksi dan membuffferkannya
2.      Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut .
3.      Pada saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya

Instuksi pipeline
Karena untuk setiap tahap pengerjaan instruksi, komponen yang bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen tersebut.Sebagai contoh :

Instruksi 1: ADD  AX, AX
Instruksi 2: ADD EX, CX

Setelah CU menjemput instruksi 1 dari memori (IF), CU akan menerjemahkan instruksi tersebut(ID). Pada menerjemahkan instruksi  1 tersebut, komponen IF tidak bekerja. Adanya teknologi pipeline menyebabkan IF akan menjemput instruksi 2 pada saat ID menerjemahkan instruksi 1. Demikian seterusnya pada saat CU menjalankan instruksi 1 (EX), instruksi 2 diterjemahkan (ID).

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.

Kerugian pipeline.
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

2.      REDUCE INSTRUCTION SET COMPUTER (RISC) .

RISC merupakan rancangan arsitektur CPU yang mengembil dasar filosofi bahwa prosesor dibuat dengan arsitektur yang tidak rumit dengan membatasi jumlah instruksi hanya pada instruksi dasar yang diperlukan saja. Dengan kata lain RISC adalah arsitektur komputer dengan kumpulan perintah (instruksi) yang sederhana, tetapi dalam kesederhanaan tersebut didapatkan kecepatan operasi setiap siklus instruksinya. Kebanyakan pada proses RISC , instruksi operasi dasar aritmatik hanya penjumlahan dan pengurangan, untuk perkalian dan pembagian sudah dianggap operasi ang kompleks. RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam penyusunan kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis dalam bahasa tingkat tinggi.

Ada beberapa elemen penting dalam arsitektur RISC, yaitu :
a.       Set instruksi yang terbatas dan sederhana
b.      Register general-purpose yang berjumlah banyak, atau pengguanaan teknologi kompiler untuk mengoptimalkan pemakaian regsiternya.
c.       Penekanan pada pengoptimalan pipeline instruksi.

Ciri-ciri karakteristik RISC :
a.       Instruksi berukuran tunggal.
b.      Ukuran yang umum adalah 4 byte.
c.       Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima buah.
d.      Tidak terdapat pengalamatan tak langsung.
e.       Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika .

Ada tiga buah elemen yang menentukan karakter arsitektur RISC, yaitu: 

a. Penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian operand.
b. 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.
c. Terdapat set instruksi yang disederhanakan (dikurangi).

Perkembangan RISC
Pada tahun 1980, John Cocke di IBM menghasilkan minikomputer eksperimental, yaitu IBM 801 dengan prosesor komersial pertama yang menggunakan RISC. Pada tahun itu juga, Kelompok Barkeley yang dipimpin David Patterson mulai meneliti rancangan RISC dengan menghasilkan RISC-1 dan RISC-2.

Pemakai Teknik RISC
a.       IBM dengan Intel Inside-nya.
b.      b. Prosessor PowerPC, prosessor buatan motorola yang menjadi otak utama komputer Apple Macintosh.

Konsep Arsitektur RISC
Konsep 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. RISC memerlukan memori yang lebih besar untuk mengakomodasi program yang lebih besar. Dengan mengoptimalkan penggunaan memori register diharapkan siklus operasi semakin cepat.


Sumber :




Tidak ada komentar:

Posting Komentar