PIPELINING DAN RISC
Pengertian Pipeline
Pipeline
adalah 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 dijaankan oleh microprocessor.
Konsep
Pipeline
Pada
umumnya, efisiensi sebuah komputer dinilai beerdasarkan kecepatan perangkat
keras dan fasilitas-fasilitas perangkat lunak. Penilaian ini disebut sebagai
throughput, didefinisikan sebagai jumlah pemrosesan yang dapat dikerjakan dalam
suatu interval waktu tertentu. Salah satu teknik yang mendorong peningkatan
suatu sistem throughput yang cukup hebat disebut sebagai pemrosesan pipeline.
Konsep pemrosesan pipeline dalam suatu komputer mirip dengan suatu baris
perakitan dalam suatu pabrik industri. Ambil contoh, sutu proses pembuatan
mobil. Ketika sebuah mobil dibuat, mobil tersebut berpindah sepanjang ban
berjalan dengan berurutan, melewati beberapa stasiun.
Pada
setiap stasiun, dikerjakan sebagian proses konstruksi pada mobil itu, kemudian
berpindah lagi ke stasiun berikutnya. Perpindahan mobil itu dari satu stasiun
ke stasiun lainnya, memungkinkan beberapa mobil berada pada baris perakitan
pada waktu yang bersamaan, masing-masing pada stasiun yang terpisah. Dengan
demikian, hal ini mengakibatkan kita menghasilkan mobil dari baris perakitan
satu persatu secara berurutan. Tanpa teknik baris perakitan seperti ini,
pengerjaan suatu mobil tidak dapat dimulai sampai mobil yang sebelumnya
benar-benar selesai.
Pemrosesan
pipeline dalam suatu komputer diperoleh dengan membagi suatu fungsi yang akan
dijalankan menjadi beberapa subfungsi yang lebih kecil dan merancang perangkat
keras yang terpisah, disebut sebagai tingkatan (stage), untuk setiap subfungsi.
Stage-stage itu kemudian dihubungkan bersama-sama dan membentuk sebuah pipeline
tunggal (atau pipe) untuk menjalankan fungsi asli tersebut.
Keuntungan
dan Kerugian
Pipelining
tidak membantu dalam semua kasus. Ada beberapa kemungkinan kerugian. Pipa
instruksi dikatakan sepenuhnya pipelined jika dapat menerima instruksi baru
setiap clock cycle. Sebuah pipa yang tidak sepenuhnya pipelined telah menunggu
siklus yang menunda kemajuan pipa.
Keuntungan
dari 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.
RISC (Reduced Instruction
Set Computer)
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.
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.
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.
pipelining:adalah
sebuah teknik yang memungkinkan dapat melakukan eksekusi secara
simultan.Sehingga proses instruksi lebih efiisien.
Ciri-ciri
:
1.Instruksi
berukuran tunggal.
2.Ukuran
yang umum adalah 4 byte.
3.Jumlah
pengalamatan data sedikit.
4.Tidak
terdapat pengalamatan tak langsung.
5.Tidak
terdapat operasi yang menggabungkan operasi load/store dengan operasi
aritmatika.
6.Tidak
terdapat lebih dari satu operand beralamat memori per instruksi.
7.Tidak
mendukung perataan sembarang bagi data untuk operasi load/ store.
8.Jumlah
maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah
instruksi.
Contoh: pengaplikasian RISC yaitu pada perangkat elektronika yang dibuat khusus, seperti
Kalkulator, Mesin Kasir, mesin cuci mobil dll.
Sumber:
-http://atinursari95.blogspot.com/2017/12/pipelining-dan-risc.html
-https://ahmadharisandi7.wordpress.com/2017/12/20/pipeline-risc/
Tidak ada komentar:
Posting Komentar