PIPELINE DAN PENGOLAHAN VEKTOR R. RIZAL ISNANTO, S.T., M.M., M.T. Fakultas Ilmu Komputer Universitas Dian Nuswantoro Semarang
Pengolahan Paralel: Istilah yang digunakan untuk menyatakan suatu kelas teknik yang luas yang digunakan untuk memberikan tugas-tugas pengolahan data yang simultan untuk tujuan peningkatan kecepatan komputasi dari suatu sistem komputer
PROSESOR DENGAN UNIT-UNIT FUNGSIONAL JAMAK Adder-Subtractor Integer multiply Unit Logika Unit Pergeseran Ke Memori Register- Incrementer register prosesor Add-subtract pecahan Perkalian Pecahan Pembagian pecahan
KLASIFIKASI FLYNN (M.J. Flynn) Terdapat beberapa cara pengolahan paralel dapat diklasifikasikan. Salah satunya adalah Klasifikasi Flynn. Flynn membagi komputer ke dalam 4 kelompok: 1. Single instruction stream, single data stream (SISD) 2. Single instruction stream, multiple data stream (SIMD) 3. Multiple instruction stream, single data stream (MISD) 4. Multiple instruction stream, multiple data stream (MIMD)
Pengolahan Paralel pada SISD dilakukan dengan pengolahan pipeline SIMD menyajikan organisasi yang terdiri atas banyak unit prosesor di bawah pengendalian satu unit kendali (CU) bersama MISD: hanya secara teoritis, secara praktis tidak ada MIMD: hampir semua multiprosesor dan multi- komputer termasuk dalam kategori ini.
Pada bagian ini, pengolahan paralel dibahas dalam topik-topik: 1 Pada bagian ini, pengolahan paralel dibahas dalam topik-topik: 1. Pengolahan Pipeline (Jalur-pipa/pemipaan) 2. Pengolahan Vektor 3. Pengolahan Larik (array)
PIPELINING Pipelining merupakan teknik memecah suatu proses yang berurutan ke dalam suboperasi- suboperasi, dengan setiap subproses dieksekusi di dalam segmen khusus yang bekerja secara bersamaan dengan segmen- segmen lainnya.
Contoh: Suatu operasi dengan aliran bilangan sebagai berikut. Ai * Bi + Ci untuk i = 1, 2, 3, …, 7 Beberapa suboperasi yang dikerjakan pada tiap- tiap segmen ditunjukkan sbb. R1 Ai, R2 Bi Input Ai dan Bi R3 R1 * R2, R4 Ci Kalikan dan input Ci R5 R3 + R4 Tambah Ci ke dalam perkalian
Contoh (lanjut) Kelima register di –load dengan data yang baru setiap pulsa clock. Lihat gambar dan tabel berikut. Ai Bi Ci R1 R2 Multiplier R3 R4 Adder R5
Tabel isi Register pada contoh pipeline
Struktur Umum dari Pipeline Clock Input S1 R1 S2 R2 S3 R3 S4 R4 Gambar di atas merupakan contoh dari sruktur umum untuk pipeline dengan empat-segmen Jumlah clock = k + (n – 1); dengan k = jumlah task, dan n = jumlah segmen Jika k = 7; n = 3; maka jumlah clock = 7 + (3-1) = 9 clock
Diagram Time-Space (Ruang-Waktu) Contoh: 6 task dan 4 segmen
Rasio Percepatan (Speedup Ratio)S Dengan tn = waktu untuk non-pipeline n = jumlah task tp = waktu dengan pipeline k = jumlah segmen
Untuk jumlah task yang besar, n menjadi sangat besar; sehingga S = tn/tp (mendekati) Jika diasumsikan bahwa waktu yang digunakan untuk mengolah task adalah sama pada pipeline dan rangkaian non-pipeline, kita peroleh tn = k.tp. Dengan asumsi ini, maka rasio percepatan S menjadi: S = k.tp/tp = k
Closing Any questions? We will discuss Arithmetic Pipeline next week Thank you....