PIPELINING dan RISC
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 .
·
Instruksi pipeline
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.
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
danakselerator grafis .
Pada tahun2000, 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
o
IBM dengan Intel Inside-nya.
o
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
NationalSemiconductor 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.
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
Dengan:
·
N adalah jumlah perintah
·
S adalah jumlah rata-rata langkah per perintah
·
T adalah waktu yang diperlukan untuk melaksanakan satu langkah
a.
Kecepatan eksekusi dapat ditingkatkan dengan menurunkan nilai
dari ketiga varisbel di atas.
b.
Arsitektur CISC berusaha menurunkan nilai N (jumlah perintah),
sedangkan
c.
Arsitektur RISC berusaha menurunkan nilai S dan T.
d.
Proses pipeline dapat digunakan untuk membuat nilai efektif S
mendekati 1 (satu) artinya komputer menyelesaikan satu perintah dalam satu
siklus waktu CPU.
e.
Nilai T dapat diturunkan dengan merancang perintah yang
sederhana.
REFRENSI:
Komentar
Posting Komentar