380 likes | 1.03k Views
PIPELINE DAN PROSESOR PARALEL. Pengertian pipeline. Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinou pada unit pemrosesor. Dengan cara ini, maka unit pemrosesan selalu bekerja.
E N D
Pengertian pipeline • Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinou pada unit pemrosesor. Dengan cara ini, maka unit pemrosesan selalu bekerja.
Urutan Pengolahan Instruksi • Fetch Intrukasi (FI) • Decode Instruction (DI) • Calculate Operand (CO) • Fetch Operand (FO) • Execute Instruction (EI) • Write Operand (WO)
Contohpengerjaaninstruksitanpapipeline Waktu proses = 6 x jml Instruksi Contoh diatas dengan 2 instruksi berarti butuh waktu proses = 12 satuan waktu.
Contohpengerjaaninstruksidenganpipeline Waktu proses = 6 + (jml instruksi-1) Contoh diatas jika dengan 3 intruksi maka waktu proses = 6 + (3-1) = 8
Masalah-masalah pada Pipeline • Ada 3 macam resiko2 dengan pipeline : • ResikopadaStrukturharwaremunculdarikonflikresource sistemyaituketika hardware tidakdapatmendukungsemuakemungkinankombinasiinstruksi. • Resikopada Data munculketika data untuksuatuinstruksitergantungpadahasilinstruksisebelumnya. • Resikopadakontrol program munculpadapelaksanaaninstruksi yang mengubahnilaipada Program Counter (PC) (contoh:branch/ percabangan).
Keuntungan dari Pipelining: • Waktu siklus prosesor berkurang, sehingga meningkatkan kecepatan proses. • Beberapa rangkaian digital seperti ADDER dapat dibuat lebih cepat dengan menambahkan lebih banyak rangkaian. • Jika pipelining digunakan sebagai pengganti, hal itu dapat menghemat rangkaian yang kompleks.
Kekurangan Pipelining: 1. Non-pipelined prosesor hanya menjalankan satu instruksi pada satu waktu. Hal ini untukmencegah penundaan cabang (yang berlaku, setiap cabang tertunda) dan masalah dengan serial instruksi dieksekusi secara bersamaan. Akibatnya desain lebih sederhana dan lebih murah untuk diproduksi. 2. Instruksi yang bersifat laten (terpendam) di non-pipelined prosesor sedikit lebih rendah daripada dalam pipelined setara. 3. Non-pipelined prosesor akan memiliki bandwidth yang stabil. Kinerja prosesor yang pipelined jauh lebih sulit untuk diprediksi karena harus memiliki kecepatan proses yang bervariasi di antara program yang berbeda.
Apa itu Prosesor Paralel • Sebuah komputer yang memiliki lebih dari satu central processing unit, komputer ini digunakan untuk paralel processing. • Suatu sistem prosesor dengan banyak perhitungan yang dilakukan secara bersamaan agar prosesor dapat mempunyai kinerja tinggi
KlasifikasiPadaArsitekturKomputerParalel • Paralelisme dalam suatu komputer dapat diaplikasikan pada beberapa tingkatan, seperti berikut: • Tingkat pekerjaan: antara pekerjaan-pekerjaan atau fase-fase suatu pekerjaan. Hal ini menjadi prinsip dasar dari multiprograming. • Tingkat prosedur: antara prosedur-prosedur dan di dalam loop. Hal ini harus tercakup sebagai hal yang penting bagi suatu bahasa. • Tingkat instruksi: antara fase-fase sebuah siklus instruksi, yaitu fetch, decode dan eksekusi suatu instruksi. • Tingkat aritmatika dan bit: antara bit-bit dalam sirkuit aritmatika. Salah satu contohnya adalah adder paralel.
Paradigma Pengolahan Paralel • Berdasarkanstrukturprosesor-nya, Flynn mengklasifikasikankomputermenjadiempatkelasyaitu : • SISD (single instruction and single data) • MISD (multiple instruction and single data) • SIMD (single instruction and multiple data) • MIMD (multiple instruction and multiple data)
SIMD (Single Instruction stream, Multiple Data stream) DS1 CU CU IS DS2 CU CU CU SM DSn CU CU IS Ket : CU : Control Unit SM : Shared Memory DS : Data Stream IS : Instruction Stream
SIMD (Single Instruction stream, Multiple Data stream) • Instruksi mesin tunggal • Eksekusi dikendalikan secara simultan • Terdapat sejumlah elemen proses • Setiap instruksi dieksekusi dalam set data yang berbeda oleh proses yang berbeda • Yang termasuk SIMD adalah Array Processor dan Vector Processor • Sifat komputer SIMD adalah • Mendistribusikan pemrosesan ke sejumlah hardware. • Beroperasi secara bersama-sama pada beberapa elemen data yang berbeda. • Menjalankan komputasi yang sama pada semua elemen data.
MIMD (Multiple Instruction stream, Multiple Data stream) IS DS CU1 PU1 MM1 DS IS CU2 PU2 MM2 IS DS CUn PUn MM3 Ket : -CU : Control Unit -PU : Processor Unit -MM : Memory Modul -IS : Instruction Stream -DS : Data Stream
MIMD (Multiple Instruction stream, Multiple Data stream) • Terdiri dari sejumlah set prosesor • Terdiri dari sejumlah set data yang berbeda • Secara simultan mengeksekusi urutan instruksi yang berbeda • Sifat komputer MIMD : 1. Mendistribusikan pemrosesan ke sejumlah prosesor independen. 2. Membagikan sumber termasuk memori utama ke prosesor independen. 3. Setiap prosesor menjalankan programnya sendiri. 4. Setiap prosesor berfungsi secara independen dan bersama- sama. • Yang termasuk MIMD 1. Multikomputer (Loosely Coupled) 2. Multiprosesor (Tightly Coupled)
MULTIPROSESOR • Sebuahsistemkomputerparalel yang didasarkanpadapemakaianmemoritunggalsecarabersama-sama • Model multiprosesorberkembangmenjadi software • Menggunakanbersamasebuahruangalamat virtual tunggal yang dipetakanpadamemoribersama • Untukmembacaataumenulissebuah word memoridenganmenjalankaninstruksi LOAD dan STORE • Multiprosesorsulituntukdikembangkantapimudahdiprogram • Contoh : Sun Enterprise 10000, Sequent NUMA-Q, SGI Origin 2000 dan HP/ Convex Exemplar
Sistem Multiprosesor • SMP (Symmetric Multiprocessor) Merupakansistemmultiprosesordenganmasing-masingprosesorbekerjasecarasendiri-sendiri(tidaksalingtergantung). PadasisteminisebuahCPU bisajadisedangmenanganisuatu proses, misalnyasedangmengolahlembarkerjadan CPU sedangmelakukan proses grafis. 2. ProsesorVektor Menyatakansuatusistemmultiprosesordenganmasing-masingprosesordapatbekerjasecaraserentakdalammenangani proses perhitungan vector.
Sistem Multiprosesor 3. Prosesor Paralel Menyatakan sistem yang memiliki sejumlah prosesor dan memiliki karakteristik sebagai berikut : • Tak ada prosesor yang bertindak sebagai prosesor utama. • Sejumlah prosesor tidak selalu mengerjakan operasi yang sama dalam waktu yang sama. Prosesor jenis ini biasa digunakan pada super komputer. 4. Prosesor Parallel Massif (Massively Parallel Prosesor atau MPP) Adalah sistem yang mengandung ratusan bahkan ribuan prosesor yang dapat saling berinteraksi dengan penedekatan jaringan saraf. Prosesor seperti ini sudah diterapkan dalam bisnis. Salah satu penggunanya adalah Wal-Mart (Laudon,1998).
Multikomputer • MIMD dengan memori terdistribusi, setiap prosesornya memiliki memori khusus sendiri. • Motivasi pembuatan organisasi multikomputer adalah untuk mengatasi keterbatasan skala multiprosesor. • Karena prosesor-prosesor multikomputer harus berkomunikasi, maka elemen penting perancangan multikomputer adalah jaringan interkoneksi yang harus dapat beroperasi seefisien mungkin. • Setiap CPU memori lokal sendiri yang bisa diakses dengan hanya menjalankan instruksi LOAD dan STORE, tetapi tidak bisa diakses oleh CPU lain. • Multikomputer memiliki satu ruang alamat fisik per CPU. • Multikomputer mudah untuk dikembangkan tapi sulit diprogram. • Contoh : SP2 IBM, Option Red Intel/ Sandina dan COW Wisconsin.
KOMBINASI MULTIPROSESOR DENGAN MULTIKOMPUTER 1. Rancangan yang dapat diskalakan Rancangankomputer paralel yang dapat terus beroperasi dengan baik sebanyak apapun CPU diparalelkan 2. Distributed Shared Memory (DSM) Memori bersama yang menyediakan satu ruang alamat virtual bersama dengan penghalaman pada sistem seluruhnya 3. Sistem Runtime Bahasa Bahasa pemrograman menyediakan abstraksi memori bersama, yang diimplementasikan oleh kompiler dan sistem runtime
KINERJA • Masalah Kinerja yang berkaitan dengan komputer paralel : 1. Metrik Hardware Kecepatan CPU dan I/O 2. Metrik Software : Mengetahui seberapa cepat sebuah program beroperasi pada sebuah komputer paralel dibanding sebuah prosesor tunggal