SIMD 【Single Instruction/Multiple Data】

概要

SIMD(Single Instruction/Multiple Data)とは、コンピュータ並列処理う方式の一つで、一つの命令を同時に複数のデータに適用する方式。そのような処理方式をベクトル演算、ベクトル処理などと呼ぶことがある。

SIMDでは実行される命令の流れは単一だが、そこに与えられるデータの流れは複数あり、同じ処理を複数のデータに同時に実行することができる。同じ計算を大量のデータに対して適用しなければならない3次元コンピュータグラフィックス3DCG)の描画処理や、動画・音声の圧縮や再生、暗号化復号などでよく用いられる。

ベクトル型スーパーコンピュータや、GPUDSPといったメディア処理や信号処理に特化したICチップにSIMD方式の演算回路が搭載される。汎用CPUマイクロプロセッサ/MPU)でも、SIMD方式で実行できる拡張命令セットなどを用意しているものもある。

フリンの分類

SIMDはコンピュータの設計様式を整理した「フリンの分類」の一つである。1966年にコンピュータ科学者のマイケル・フリン(Michael J. Flynn)氏が提唱した分類で、命令列とデータそれぞれの並列性を組み合わせた「SISD」「SIMD」「MISD」「MIMD」の4類型がある。

SISD (Single Instruction/Single Data)

一度に一つのデータを対象に、一つの命令を実行する方式。最も単純なコンピュータの構成で、命令にも扱うデータにも基本的には並列性がなく、いずれも一つの流れで順番に処理していく。単独で使用される用語ではなく、SIMDやMIMDなどの並列性のある構成と対比して単純な構成のコンピュータを指す場合に用いられる。

MIMD (Multiple Instruction/Multiple Data)

複数のデータを、それぞれ対応する複数の命令列によって並行に処理する方式。並列処理の多くがこの方式で、一つのプロセッサに複数のコアを内蔵したマルチコアプロセッサや、一台のコンピュータに複数のプロセッサを搭載したマルチプロセッサシステムがこれに該当する。

MISD (Multiple Instruction/Single Data)

一度に一つのデータを対象に複数の異なる命令を同時に実行する方式。並列化を処理性能の向上ではなく信頼性耐障害性の向上のために利用するシステムなどで用いられ、多重化冗長化システムフォールトトレラントシステム)、多数決システムなどがこれに分類される。CPUパイプライン機構をMISDの例とする場合もある。

(2023.4.9更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる