PIPELINE DAN PROSESOR PARALEL Pengertian pipeline Pipeline adalah

  • Slides: 27
Download presentation
PIPELINE DAN PROSESOR PARALEL

PIPELINE DAN PROSESOR PARALEL

Pengertian pipeline • Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara

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.

Intruksi pipeline

Intruksi pipeline

Urutan Pengolahan Instruksi • • • Fetch Intrukasi (FI) Decode Instruction (DI) Calculate Operand

Urutan Pengolahan Instruksi • • • Fetch Intrukasi (FI) Decode Instruction (DI) Calculate Operand (CO) Fetch Operand (FO) Execute Instruction (EI) Write Operand (WO)

Contoh pengerjaan instruksi tanpa pipeline t = ADD AX, AX ADD BX, CX 1

Contoh pengerjaan instruksi tanpa pipeline t = ADD AX, AX ADD BX, CX 1 2 FI DI 3 4 5 6 CO FO EI WO 7 8 FI DI 9 10 CO FO Waktu proses = 6 x jml Instruksi Contoh diatas dengan 2 instruksi berarti butuh waktu proses = 12 satuan waktu. EI WO

Contoh pengerjaan instruksi dengan pipeline t = ADD AX, AX ADD BX, CX ADD

Contoh pengerjaan instruksi dengan pipeline t = ADD AX, AX ADD BX, CX ADD DX, DX 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 FI DI C FO EIW O O DI FO FI C EIW O O 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 resiko 2 dengan pipeline : 1. Resiko

Masalah-masalah pada Pipeline • Ada 3 macam resiko 2 dengan pipeline : 1. Resiko pada Struktur harware muncul dari konflik resource sistem yaitu ketika hardware tidak dapat mendukung semua kemungkinan kombinasi instruksi. 2. Resiko pada Data muncul ketika data untuk suatu instruksi tergantung pada hasil instruksi sebelumnya. 3. Resiko pada kontrol program muncul pada pelaksanaan instruksi yang mengubah nilai pada Program Counter (PC) (contoh : branch/ percabangan).

Keuntungan dari Pipelining: 1. Waktu siklus prosesor berkurang, sehingga meningkatkan kecepatan proses. 2. Beberapa

Keuntungan dari Pipelining: 1. Waktu siklus prosesor berkurang, sehingga meningkatkan kecepatan proses. 2. Beberapa rangkaian digital seperti ADDER dapat dibuat lebih cepat dengan menambahkan lebih banyak rangkaian. 3. 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

Kekurangan Pipelining: 1. Non-pipelined prosesor hanya menjalankan satu instruksi pada satu waktu. Hal ini untuk mencegah 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.

PROSESOR PARALEL

PROSESOR PARALEL

Apa itu Prosesor Paralel • Sebuah komputer yang memiliki lebih dari satu central processing

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

Klasifikasi Pada Arsitektur Komputer Paralel • Paralelisme dalam suatu komputer dapat diaplikasikan pada beberapa

Klasifikasi Pada Arsitektur Komputer Paralel • Paralelisme dalam suatu komputer dapat diaplikasikan pada beberapa tingkatan, seperti berikut: 1. Tingkat pekerjaan: antara pekerjaan-pekerjaan atau fase suatu pekerjaan. Hal ini menjadi prinsip dasar dari multiprograming. 2. Tingkat prosedur: antara prosedur-prosedur dan di dalam loop. Hal ini harus tercakup sebagai hal yang penting bagi suatu bahasa. 3. Tingkat instruksi: antara fase-fase sebuah siklus instruksi, yaitu fetch, decode dan eksekusi suatu instruksi. 4. Tingkat aritmatika dan bit: antara bit-bit dalam sirkuit aritmatika. Salah satu contohnya adalah adder paralel.

Paradigma Pengolahan Paralel • Berdasarkan struktur prosesor-nya, Flynn mengklasifikasikan komputer menjadi empat kelas yaitu

Paradigma Pengolahan Paralel • Berdasarkan struktur prosesor-nya, Flynn mengklasifikasikan komputer menjadi empat kelas yaitu : 1. 2. 3. 4. SISD (single instruction and single data) MISD (multiple instruction and single data) SIMD (single instruction and multiple data) MIMD (multiple instruction and multiple data)

Taksonomi Arsitektur Prosesor Paralel

Taksonomi Arsitektur Prosesor Paralel

SIMD (Single Instruction stream, Multiple Data stream) CU CU IS CU DS 1 DS

SIMD (Single Instruction stream, Multiple Data stream) CU CU IS CU DS 1 DS 2 CU CU SM CU DSn 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

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 1. 2. 3. 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) CU 1 CU 2 CUn IS IS

MIMD (Multiple Instruction stream, Multiple Data stream) CU 1 CU 2 CUn IS IS IS PU 1 PU 2 PUn DS DS DS MM 1 MM 2 MM 3 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

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. • Yang termasuk MIMD 1. Multikomputer (Loosely Coupled) 2. Multiprosesor (Tightly Coupled)

MULTIPROSESOR • Sebuah sistem komputer paralel yang didasarkan pada pemakaian memori tunggal secara bersama-sama

MULTIPROSESOR • Sebuah sistem komputer paralel yang didasarkan pada pemakaian memori tunggal secara bersama-sama • Model multiprosesor berkembang menjadi software • Menggunakan bersama sebuah ruang alamat virtual tunggal yang dipetakan pada memori bersama • Untuk membaca atau menulis sebuah word memori dengan menjalankan instruksi LOAD dan STORE • Multiprosesor sulit untuk dikembangkan tapi mudah diprogram • Contoh : Sun Enterprise 10000, Sequent NUMA-Q, SGI Origin 2000 dan HP/ Convex Exemplar

Sistem Multiprosesor 1. SMP (Symmetric Multiprocessor) Merupakan sistem multiprosesor dengan masing-masing prosesor bekerja secara

Sistem Multiprosesor 1. SMP (Symmetric Multiprocessor) Merupakan sistem multiprosesor dengan masing-masing prosesor bekerja secara sendiri-sendiri (tidak saling tergantung). Pada sistem ini sebuah CPU bisa jadi sedang menangani suatu proses, misalnya sedang mengolah lembar kerja dan CPU sedang melakukan proses grafis. 2. Prosesor Vektor Menyatakan suatu sistem multiprosesor dengan masing-masing prosesor dapat bekerja secara serentak dalam menangani proses perhitungan vector.

Sistem Multiprosesor 3. Prosesor Paralel Menyatakan sistem yang memiliki sejumlah prosesor dan memiliki karakteristik

Sistem Multiprosesor 3. Prosesor Paralel Menyatakan sistem yang memiliki sejumlah prosesor dan memiliki karakteristik sebagai berikut : 1. Tak ada prosesor yang bertindak sebagai prosesor utama. 2. 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).

Perbedaan Prosesor Paralel dan Prosesor Paralel Massif

Perbedaan Prosesor Paralel dan Prosesor Paralel Massif

Multikomputer • MIMD dengan memori terdistribusi, setiap prosesornya memiliki memori khusus sendiri. • Motivasi

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 : SP 2 IBM, Option Red Intel/ Sandina dan COW Wisconsin.

KOMBINASI MULTIPROSESOR DENGAN MULTIKOMPUTER 1. Rancangan yang dapat diskalakan Rancangankomputer paralel yang dapat terus

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 pemrograman menyediakan abstraksi memori bersama, yang diimplementasikan oleh kompiler dan sistem runtime

KINERJA • Masalah Kinerja yang berkaitan dengan komputer paralel : 1. Metrik Hardware Kecepatan

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

TERIMA KASIH

TERIMA KASIH