PIPELINING, RISC DAN PROSESOR PARALELL
1. PIPELINING
DAN RISC
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.
1.1.1 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 .
1.1.2 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).
1.1.3 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.
1.1.4 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.
1.1.5 Prosesor vector 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 .
2. 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 :
1. Set
instruksi yang terbatas dan sederhana
2. Register
general-purpose yang berjumlah banyak, atau pengguanaan teknologi kompiler
untuk mengoptimalkan pemakaian regsiternya.
3. Penekanan
pada pengoptimalan pipeline instruksi.
Ciri-ciri
karakteristik RISC :
1. Instruksi
berukuran tunggal.
2. Ukuran
yang umum adalah 4 byte.
3. Jumlah
mode pengalamatan data yang sedikit, biasanya kurang dari lima buah.
4. Tidak
terdapat pengalamatan tak langsung.
5. Tidak
terdapat operasi yang menggabungkan operasi load/store dengan operasi
aritmatika .
Ada
tiga buah elemen yang menentukan karakter arsitektur RISC, yaitu:
1. Penggunaan
register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan
pereferensian operand.
2. 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.
3. Terdapat
set instruksi yang disederhanakan (dikurangi).
2.1.1 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
1. IBM
dengan Intel Inside-nya.
2. Prosessor
PowerPC, prosessor buatan motorola yang menjadi otak utama komputer Apple
Macintosh.
2.1.2
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.
2.1.3 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.
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
1. Kecepatan
eksekusi dapat ditingkatkan dengan menurunkan nilai dari ketiga varisbel di
atas.
2. Arsitektur
CISC berusaha menurunkan nilai N (jumlah perintah), sedangkan
3. Arsitektur
RISC berusaha menurunkan nilai S dan T.
4. Proses
pipeline dapat digunakan untuk membuat nilai efektif S mendekati 1 (satu)
artinya komputer menyelesaikan satu perintah dalam satu siklus waktu CPU.
5. 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.
2. PROSESOR
PARALEL
2.1.1 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
2.1.2
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.1.3 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:
1. 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).
2. 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.
2.1.4 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.
2.1.5 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.
Komentar
Posting Komentar