PIPELINING dan RISC
PIPELINING dan RISC
1. PIPELINING.
Pipelining merupakan 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.
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 .
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
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. 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 .
3. 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 :
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 aritmetika.
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).
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.
PERBEDAAN RISC DAN 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.
SUMBER
Komentar
Posting Komentar