SIMD (Single Instruction Multiple Data)

SIMD merupakan Single Instruction Multiple Data dimana komputer ini dibuat secara paralel. Jadi pengguna dapat mengoperasikannya dengan menggunakan banyak prosesor meskipun hanya melalui satu kendali saja. Dengan demikian, mesin tersebut memanfaatkan data tingkat paralelisme. SIMD ini berlaku untuk tugas umum seperti menyesuaikan kontras dalam citra digital atau menyesuaikan volume audio digital. Awalnya SIMD ini dipopulerkan pada supercomputer berskala besar walau kini sudah ditemukan dalam komputer pribadi. Contohnya yaitu ILC, DRAY-1 dan Star-100.

Processor yang menggunakan jenis ini memiliki dua kelebihan yaitu data langsung bisa dipahami meski diterima secara terpisah dan melakukan operasi pada banyak titik sekaligus. Alih-alih serangkaian instruksi mengatakan “mendapatkan pixel ini, sekarang mendapatkan pixel berikutnya”, prosesor SIMD akan memiliki instruksi tunggal yang efektif mengatakan “mendapatkan n piksel” (dimana n adalah angka yang bervariasi dari desain untuk desain). Untuk berbagai alasan, ini bisa memakan waktu lebih sedikit daripada “mendapatkan” setiap pixel secara individual, seperti desain CPU tradisional.

Keuntungan lainnya adalah bahwa sistem SIMD biasanya hanya menyertakan instruksi yang dapat diterapkan pada semua data dalam satu operasi. Dengan kata lain, jika sistem SIMD bekerja dengan memuat delapan titik data sekaligus, add operasi yang diterapkan pada data akan terjadi pada semua delapan nilai pada waktu yang sama. Meskipun sama berlaku untuk setiap desain prosesor super-skalar, tingkat paralelisme dalam sistem SIMD biasanya jauh lebih tinggi.

Kekurangannya yaitu tidak semua algoritma dapat vectorized, memiliki file-file register besar yang meningkatkan konsumsi daya dan area chip, sebagian besar kompiler tidak menghasilkan instruksi SIMD dari khas C Program, pemrograman dengan khusus SIMD set instruksi dapat melibatkan berbagai tantangan tingkat rendah. SSE (Streaming SIMD Ekstensi) memiliki pembatasan data alignment, mengumpulkan data ke dalam register SIMD dan hamburan itu ke lokasi tujuan yang benar adalah rumit dan dapat menjadi tidak efisien, dan Instruksi tertentu seperti rotasi atau penambahan tiga operan tidak tersedia dalam beberapa set instruksi SIMD.

SIMD dibagi menjadi beberapa bentuk lagi yaitu :
1. Exclusive-Read, Exclusive-Write (EREW) SM SIMD
2. Concurent-Read, Exclusive-Write (CREW) SM SIMD
3. Exclusive-Read, Concurrent-Write (ERCW) SM SIMD



Komentar