Rabu, 03 Januari 2018

Teknik-Teknik Pemrosesan Paralel


Suatu komputer serial terdiri atas sebuah unit memori utama untuk penyimpanan data dan instruksi, sebuah CPU untuk menginterpretasikan dan menjalankan instruksi-instruksi tersebut serta piranti-piranti I/O. Setiap operasi komputer, mulai proses fetch awal pada sebuah instruksi sampai eksekusinya untuk menyimpan atau menuliskan hasil-hasilnya, biasanya dilakukan secara sekuensial, yaitu satu per satu. Sebuah komputer paralel mempunyai kemampuan untuk saling tumpang tindih atau menjalankan beberapa operasi ini secara bersamaan waktunya.
       Beberapa cara telah dikembangkan untuk memperkenalkan paralelisme ke dalam arsitektur komputer serial. Beberapa di antaranya adalah sebagai berikut:

  1. Pipelining dapat kita anggap sebagai paralelisme
  2. Unit-unit fungsional berganda (multiple). Daripada memiliki sebuah ALU dalam sebuah CPU untuk menjalankan semua fungsi aritmatika dan logika, kita dapat membangun unit-unit yang terpisah untuk menjalankan fungsi-fungsi yang berbeda. Kita dapat juga memiliki lebih dari satu unit untuk menjalankan suatu fungsi tertentu. Kedua pendekatan itu memungkinkan terjadinya perhitungan paralel.
  3. Tumpang tindih antara operasi-operasi CPU dan I/O. Pada komputer-komputer terdahulu, CPU bertanggung jawab untuk mengarahkan semua operasi I/O dan untuk menjalankan instruksi-instruksi program di dalam memori. Dengan memiliki sebuah prosesor I/O khusus (special purpose) yang menangani semua operasi I/O memungkinkan pelaksanaan instruksi-instruksi program lainnya dijalankan pada waktu yang sama.
  4. Interleaving memori. Interleaving pada memori memungkinkan lebih dari satu word yang di-fetch dari memori pada suatu waktu. Dalam hubungannya dengan teknik-teknik paralelisme lainnya, cara ini dapat digunakan untuk menyediakan instruksi dan data dalam kecepatan yang tinggin.
  5. Multiprograming. Dari titik pandang sistem komputer, multiprograming merupakan jenis paralelisme. Dalam kasus ini, kejadiannya merupakan program-program yang dijalankan secara sekuensial pada interval waktu yang sama.
  6. Multiprosesing. Daripada kita memiliki sebuah CPU dalam sebuah sistem, kita dapat menggunakan beberapa prosesor yang bekerja bersama-sama pada permasalahan yang sama dan menghasilkan paralelisme. Dalam kasus ini, kejadian-kejadian itu dapat berupa bagian dari suatu program tunggal atau suatu program yang benar-benar terpisah. Kejadiannya yang pertama lebih sulit, kecuali jika program-program tersebut ditulis dalam suatu bahasa yang sama.
Arsitektur yang dibahas dalam bab ini menggunakan metode-metode ini, baik secara individual maupun kombinasi, untuk menjalankan paralelisme dalam suatu komputer.

Tidak ada komentar:

Posting Komentar