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.
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
·
Mengambil instruksi dan membuffferkannya
·
Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang
dibufferkan tersebut .
·
Pada saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama
memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan
instruksi berikutnya .
INSTRUKSI 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
·
Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi
dalam kebanyakan kasus( lebih cepat selesai).
·
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.
·
Pemrosesan dapat dilakukan lebih cepat, dikarenakan beberapa proses
dilakukan secara bersamaan dalam satu waktu.
KERUGIAN PIPELINE
·
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.
·
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.
·
Kinerja prosesor di pipeline jauh lebih sulit untuk meramalkan dan dapat
bervariasi lebih luas di antara program yang berbeda.
·
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.
·
Sedangkan ketergantungan terhadap data, bisa muncul, misalnya instruksi
yang berurutan memerlukan data dari instruksi yang sebelumnya.
·
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.
PROSESOR VEKTOR PIPELINING
Sebuah prosesor vektor atau prosesor array,
adalah unit pemrosesan sentral (CPU) yang mengimplementasikan set instruksi berisi instruksi yang beroperasi pada satu
dimensi array data yang disebut vektor. Hal ini kontras
dengan prosesor
skalar , yang instruksi beroperasi pada item data tunggal. Meskipun prosesor
Intel dan klon mereka desain awalnya sebagai skalar, model baru berisi
peningkatan jumlah vektor instruksi khusus seperti yang disediakan oleh Ekstensi Vector Lanjutan ditetapkan.
Prosesor vektor pertama kali muncul pada 1970-an,
dan membentuk dasar dari yang palingsuperkomputer di tahun 1980 dan 1990-an.
Perbaikan dalam prosesor skalar, terutamamikroprosesor , mengakibatkan penurunan
prosesor vektor tradisional di superkomputer, dan munculnya teknik pengolahan
vektor di CPU pasar massal sekitar awal 1990-an. Hari ini, CPU komoditas yang
paling mengimplementasikan arsitektur yang menampilkan instruksi untuk beberapa
pemrosesan vektor pada beberapa (vektoralisasi) set data, biasanya dikenal
sebagai SIMD (S Ingle saya nstruction, M
ultiple D ata).
Teknik pemrosesan vektor juga ditemukan di konsol
video game hardware dan akselerator
grafis . Pada tahun 2000, IBM, Toshiba dan Sony berkolaborasi untuk
menciptakan prosesor
Cell , yang terdiri dari satu prosesor skalar dan delapan prosesor vektor,
yang ditemukan digunakan dalam Sony PlayStation 3 di antara aplikasi
lain.Desain CPU lain mungkin termasuk beberapa instruksi untuk pemrosesan
vektor pada beberapa (vectorised) set data, biasanya dikenal sebagai MIMD (M ultiple saya nstruction,
M ultiple D ata). Desain seperti biasanya didedikasikan untuk aplikasi
tertentu dan tidak umum dipasarkan untuk komputasi tujuan umum .
REDUCE INSTRUCTION SET
COMPUTER (RISC)
Kata “reduced” berarti pengurangan pada set instruksi.
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 :
·
Set instruksi yang terbatas dan sederhana
·
Register general-purpose yang berjumlah banyak, atau pengguanaan teknologi
kompiler untuk mengoptimalkan pemakaian regsiternya.
·
Penekanan pada pengoptimalan pipeline instruksi.
CIRI-CIRI KARAKTERISTIK 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
Ada tiga buah elemen yang menentukan karakter
arsitektur RISC, yaitu:
·
Penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk
mengoptimalkan pereferensian operand.
·
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.
·
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
·
IBM dengan Intel Inside-nya.
·
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.
RISC vs CISC
Dari segi kecepatannya, Reduced Instruction Set
Computer (RISC) lebih cepat dibandingkan dengan Complex Instruction Set
Computer (CISC). Ini dikarenakan selain instruksi-instruksi pada RISC lebih
mudah untuk diproses, RISC menyederhanakan instruksi . Jumlah instruksi yang
dimiliki oleh prosesor RISC kebanyakan berjumlah puluhan (±30-70), contoh: COP8
buatan National Semiconductor memiliki 58 instruksi; sedangkan untuk prosesor
CISC jumlahnya sudah dalam ratusan (±100 atau lebih).
CISC dirancang 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 kompiler bahasa
pemrograman tingkat tinggi. Dalam CISC banyak terdapat perintah bahasa
mesin.
EKSEKUSI INSTRUKSI RISC
Waktu eksekusi dapat dirumuskan dengan: Waktu eksekusi = N x S x T
Dimana:
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 varisbel di atas.
·
Arsitektur CISC berusaha menurunkan nilai N (jumlah perintah),
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.
Sumber :
baak.gunadarma.ac.id
studentsite.gunadarma.ac.id
Tidak ada komentar:
Posting Komentar