SIMD: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
kTidak ada ringkasan suntingan |
k Penambahan pranala interwiki dan perbaikan susunan kata |
||
Baris 1:
{{rapikan|topik=teknologi informasi}}
'''SIMD''' adalah singkatan dari '''''<u>S</u>ingle <u>I</u>nstruction, <u>M</u>ultiple <u>D</u>ata''''', merupakan sebuah istilah dalam komputasi yang merujuk kepada sekumpulan [[operasi]] yang digunakan untuk menangani jumlah [[data]] yang sangat banyak
Contoh aplikasi yang dapat mengambil keuntungan dari SIMD adalah aplikasi yang memiliki nilai yang sama yang ditambahkan ke banyak titik data (''data point''), yang umum terjadi dalam aplikasi [[multimedia]]. Salah satu contoh operasinya adalah mengubah brightness dari sebuah gambar. Setiap [[pixel]] dari sebuah gambar 24-bit berisi tiga buah nilai berukuran 8-bit ''brightness'' dari porsi warna merah (''red''), hijau (''green''), dan biru (''blue''). Untuk melakukan perubahan ''brightness'', nilai '''R''', '''G''', dan '''B''' akan dibaca dari memori, dan sebuah nilai baru ditambahkan (atau dikurangkan) terhadap nilai-nilai R, G, B tersebut dan nilai akhirnya akan dikembalikan (ditulis kembali) ke memori.
Prosesor yang memiliki SIMD menawarkan dua keunggulan, yakni:
* Data langsung dapat dipahami dalam bentuk blok data, dibandingkan dengan beberapa data yang terpisah secara sendiri-sendiri. Dengan menggunakan blok data, prosesor dapat memuat data secara keseluruhan pada waktu yang sama. Daripada melakukan beberapa [[Instruksi Komputer|instruksi]] "ambil pixel ini, lalu ambil pixel itu, dst", sebuah prosesor SIMD akan melakukannya dalam sebuah instruksi saja, yaitu "ambil semua [[pixel]] itu!" (istilah "semua" adalah nilai yang berbeda dari satu desain ke desain lainnya). Jelas, hal ini dapat mengurangi banyak waktu pemrosesan (akibat instruksi yang dikeluarkan hanya satu untuk sekumpulan data), jika dibandingkan dengan desain prosesor tradisional yang tidak memiliki SIMD (yang memberikan satu instruksi untuk satu data saja).
* Sistem SIMD umumnya hanya mencakup instruksi-instruksi yang dapat diaplikasikan terhadap semua data dalam satu operasi. Dengan kata lain, sistem SIMD dapat bekerja dengan memuat beberapa titik data secara sekaligus, dan melakukan operasi terhadap titik data secara sekaligus.
Sayangnya, beberapa desainer SIMD terbentur dengan beberapa pertimbangan desain yang berada di luar kontrol mereka. Salah satu pertimbangan tersebut adalah harus menambahkan banyak [[Register prosesor|register]] untuk menampung data yang akan diproses. Idealnya, hal ini dapat dilakukan dengan menambahkan unit SIMD ke dalam prosesor agar memiliki registernya sendiri, tetapi beberapa desainer terpaksa menggunakan register yang telah ada, umumnya yang digunakan adalah register floating-point. Register [[
Pada pendesainan awal SIMD, terdapat beberapa prosesor yang khusus disiapkan untuk melakukan tugas ini, yang seringnya disebut sebagai [[Digital Signal Processor]] (DSP). Perbedaan utama antara SIMD dan DSP adalah DSP merupakan prosesor yang komplet dengan set instruksinya sendiri (yang meskipun lebih sulit digunakan), sementara SIMD hanya bergantung pada register general-purpose untuk menangani detail program, dan instruksi SIMD hanya menangani manipulasi data.
|