PIPELINING dan RISC
1. 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 .
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.
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 :
Ø 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.
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.
• 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.
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.
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.
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
• 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.
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
• 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.
Ø KESIMPULAN.
Prosessor dengan arsitektur RISC, yang
berkembang dari riset akademis telah menjadi prosessor komersial yang terbukti
mampu beroperasi lebih cepat dan efisien. Bila teknik rancangan RISC maupun
CISC terus dikembangkan maka pengguna komputer tidak perlu lagi mempedulikan
prosessor apa yang ada di dalam sistem komputernya, selama prosessor tersebut
dapat menjalankan sistem operasi ataupun program aplikasi yang diinginkan
secara cepat dan efisien.
PROSESOR PARALEL
Ø Paralel
prosesor.
adalah
suatu prosesor dimana pelaksanaan instruksinya secara bersamaan waktunya.
Sehingga
menyebabkan pelaksanaan suatu kejadian :
1.
dalam interval waktu yang sama
2.
dalam dalam waktu yang bersamaan
3.
dalam waktu yang saling tumpang tindih
Ø Teknik
Pemrosesan Paralel
Pada
prosesor paralel memiliki beberapa teknik pemrosesan :
1.
Pipelining
2. Unit-unit fungsional berganda
3. Tumpang tindih antara operasi CPUdan
I/O
4. Interleaving memori
5.
Multiprograming
6.
Multiprosesing
1. JARINGAN INTERKONEKSI .
Komunikasi diantara terminal-terminal yang berbeda harus dapat dilakukan
dengan suatu media tertentu. Interkoneksi yang efektif antara prosesor dan
modul memorisangat penting dalam lingkungan komputer. Menggunakan arsitektur
bertopologi busbukan merupakan solusi yang praktis karena bus hanya
sebuah pilihan yang baik ketika digunakan untuk menghubungkan komponen-komponen
dengan jumlah yang sedikit.
Jumlah komponen dalam sebuah modul IC bertambah seiring waktu. Oleh karena
itu, topologi bus bukan topologi yang cocok untuk kebutuhan interkoneksi
komponenkomponen di dalam modul IC. Selain itu juga tidak dapat diskalakan,
diuji, dan kurang dapat disesuaikan, serta menghasilkan kinerja toleransi
kesalahan yang kecil.
Di sisi lain, sebuah crossbar yang ditunjukkan pada Gambar
2.2 menyediakan interkoneksi penuh diantara semua terminal dari
suatu sistem tetapi dianggap sangat kompleks, mahal untuk
membuatnya, dan sulit untuk dikendalikan. Untuk alasan ini jaringan
interkoneksi merupakan solusi media komunikasi yang baik untuk sistem komputer
dan telekomunikasi. Jaringan ini membatasi jalur-jalur diantara terminal
komunikasi yang berbeda untuk mengurangi kerumitan dalam menyusun elemen
switching .
2. Mesin SIMD.
SIMD adalah singkatan dari Single Instruction, Multiple Data,
merupakan sebuah istilah dalam komputasi yang merujuk kepada sekumpulan operasi yang
digunakan untuk menangani jumlah data yang
sangat banyak dalam paralel secara efisien, seperti yang terjadi dalam prosesor vektor atau prosesor larik. SIMD pertama kali dipopulerkan pada superkomputer skala
besar, meski sekarang telah ditemukan pada komputer pribadi.
Contoh
aplikasi yang dapat mengambil keuntungan dari SIMD adalah aplikasi yang
memiliki nilai yang sama yang ditambahkan ke banyak titik data (data point),
yang umum terjadi dalam aplikasi multimedia. Salah satu
contoh operasinya adalah mengubah brightness dari sebuah gambar. Setiap pixel dari sebuah gambar 24-bit
berisi tiga buah nilai berukuran 8-bit brightness dari porsi
warna merah (red), hijau (green), dan biru (blue). Untuk
melakukan perubahan brightness, nilai R, G,
dan B akan dibaca dari memori, dan sebuah nilai baru
ditambahkan (atau dikurangkan) terhadap nilai-nilai R, G, B tersebut dan nilai
akhirnya akan dikembalikan (ditulis kembali) ke memori.
Prosesor yang
memiliki SIMD menawarkan dua keunggulan, yakni:
· Data langsung dapat dipahami dalam bentuk blok data, dibandingkan dengan
beberapa data yang terpisah secara sendiri-sendiri. Dengan menggunakan blok
data, prosesor dapat memuat data secara keseluruhan pada waktu yang sama.
Daripada melakukan beberapa instruksi "ambil pixel ini, lalu ambil pixel
itu, dst", sebuah prosesor SIMD akan melakukannya dalam sebuah instruksi
saja, yaitu "ambil semua pixel itu!" (istilah "semua" adalah nilai yang berbeda dari
satu desain ke desain lainnya). Jelas, hal ini dapat mengurangi banyak waktu
pemrosesan (akibat instruksi yang dikeluarkan hanya satu untuk sekumpulan
data), jika dibandingkan dengan desain prosesor tradisional yang tidak memiliki
SIMD (yang memberikan satu instruksi untuk satu data saja).
· Sistem SIMD umumnya hanya mencakup instruksi-instruksi yang dapat
diaplikasikan terhadap semua data dalam satu operasi. Dengan kata lain, sistem
SIMD dapat bekerja dengan memuat beberapa titik data secara sekaligus, dan
melakukan operasi terhadap titik data secara sekaligus.
3. Mesin MIMD.
MIMD adalah sebuah singkatan dari,
(Multiple Instruction stream-Multiple
Data stream)
yaitu sebuah komputer
yang memiliki beberapa prosesor yang bersifat otonomus yang mampu melakukan
instruksi yang berbeda pada data yang berbeda. Sistem terdistribusi umumnya
dikenal sebagai MIMD, entah itu menggunakan satu ruangan memori secara
bersama-sama atau sebuah ruangan memori yang terdistribusi.
Pada sistem komputer MIMD murni terdapat
interaksi di antara pemrosesan. Hal ini disebabkan seluruh aliran dari dan
ke memori berasal dari space data yang sama bagi semua
pemroses.
Komputer MIMD bersifat tightly
coupled jika tingkat interaksi antara pemroses tinggi dan
disebut loosely coupled jika tingkat interaksi antara pemroses
rendah.
4. ARSITEKTUR PENGGANTI.
Dalam bidang teknik komputer, arsitektur
pengganti merupakan konsep perencanaan atau struktur pengoperasian dasar dalam
komputer atau bisa dikatakan rencana cetak biru dan deskripsi fungsional
kebutuhan dari perangkat keras yang didesain. implementasi perencanaan dari
masing-masing bagian seperti CPU, RAM, ROM, Memory Cache, dll.
SUMBER :