Sumber2
Sumber3
Ateng Achmad Reza A
11110206
4KA24
Etika & Profesionalisme TSI#
Perbedaan Arsitektur SISD dan SIMD
Komputasi paralel adalah salah satu teknik melakukan
komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen
secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat
besar, baik karena harus mengolah data dalam jumlah besar (di industri
keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang
banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan
persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia
komputasi) dll.
Untuk melakukan berbagai jenis komputasi paralel
diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang
dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk
menyelesaikan satu masalah. Untuk digunakan perangkat lunak pendukung yang
biasa disebut middleware yang berperan mengatur distribusi antar titik dalam
satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk
merealisasikan komputasi. Salah satu middleware yang asli dikembangkan di
Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di
LIPI Public Center.
Pemrograman Paralel sendiri adalah teknik
pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara
bersamaan. Bila komputer yang digunakan secara bersamaan tersebut dilakukan
oleh komputer-komputer terpisah yang terhubung dalam satu jaringan komputer,
biasanya disebut sistem terdistribusi. Bahasa pemrograman yang populer
digunakan dalam pemrograman paralel adalah MPI (Message Passing Interface) dan
PVM (Parallel Virtual Machine).
Yang perlu diingat adalah komputasi paralel berbeda
dengan multitasking. Pengertian multitasking adalah komputer dengan processor
tunggal mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang
yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak
bisa melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang
berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas
secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya,
bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain
itu komputasi paralel tidak menggunakan arsitektur Von Neumann.
Untuk lebih memperjelas lebih dalam mengenai
perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel
(menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu
pengertian mengenai model dari komputasi. Ada 4 model komputasi yang digunakan,
yaitu:
- SIMD
- SIMD
- MISD
- MIMD
SISD (Single Instruction Stream, Single
Data Stream)
Yang merupakan singkatan dari Single Instruction,
Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini
dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu
model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan
ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa
processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1,
IBM 360, CDC 7600, Cray 1 dan PDP 1.
Gambar 1. Stuktur SISD
SIMD (Single Instruction Stream,
Multiple Data Stream)
Yang merupakan singkatan dari Single Instruction,
Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama,
namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin
mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita
menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau
perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1
mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2
mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk
processor-processor yang lain. Beberapa contoh komputer yang menggunakan model
SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan
Cell Processor (GPU).
Gambar 2. Struktur SIMD
Perbedaan antara SISD dan SIMD
Table 1. perbedaan SISD dan SIMD
Single Intruction Single Data Stream (SISD)
|
Single Instruction Multiple Data Stream (SIMD)
|
Instruksi dikerjakan terurut satu demi satu
|
Instruksi dapat dikerjakan tanpa terurut
|
Terdiri dari satu pemrosesan
|
Terdiri lebih dari satu pemrosesan
|
Operasi terhadap satu elemen
|
Operasi terhadap berbagai elemen yang berbeda
|
Peningkatan kecepatan kurang karena instruksi
dilakukan satu demi satu
|
Peningkatan kecepatan dengan jumlah hardware
|
Flowchart SISD dan SIMD
Sebagai perbandingan, pada gambar 3, untuk sistem
SISD (a), X1, X2, X3, dan X4 merepresentasikan blok instruksi, setelah
mengeksekusi X1, tergantung dari nilai X, X3 atau X2 dieksekusi kemudian X4.
Pada sistem SIMD, beberapa aliran data ada yang memenuhi X=? dan ada yang
tidak, maka beberapa elemen akan melakukan X3 dan yang lain akan melakukan X2
setelah itu semua elemen akan melakukan X4 .
Gambar 3. Flowchart SISD dan SIMD
Storyboard SISD dan SIMD
Pada gambar 4 memperlihatkan storyboardarsitektur
SIMD computer.
Gambar 4. Storyboard SIMD
Pada gambar 5 memperlihatkan storyboardarsitektur
SISD computer.
Gambar 5. Storyboard SISD