MIMD
①MIMDとは?~コンピュータの並列処理を探る物語~
中学生のユウキが放課後、パソコンを使いながら先生に質問しました。
「先生、このパソコンって同時にいろいろなことをやってますよね。どうやって動いてるんですか?」
先生は笑顔で答えました。
「良い質問だね。コンピュータが同時に複数の処理を行う仕組みにはいくつかの種類があるんだ。その中で、MIMD(Multiple Instruction, Multiple Data)という仕組みがあるよ。」
「MIMD?なんだか難しそうです。」
「簡単に言うと、MIMDは『いろいろな指示を同時に、いろいろなデータに対して処理する仕組み』だよ。」
先生はホワイトボードに例を書きました。
「例えば、ユウキくんがクラスの学級委員だとするね。MIMDでは、学級委員がみんなに異なる仕事を同時に指示するような感じだよ。たとえば、Aさんには掃除、Bさんには黒板のメモ、Cさんにはプリントの配布、というふうにね。」
ユウキは頷きました。
「じゃあ、似た仕組みもあるんですか?」
「そうだね。MIMDとよく比較されるのがSIMD(Single Instruction, Multiple Data)という仕組みだよ。」
先生は次のように表を書きました。
項目 | MIMD | SIMD |
---|---|---|
指示の数 | 複数 | 1つ |
データの数 | 複数 | 複数 |
用途 | 高度な並列処理(ゲーム、科学計算) | グラフィックス処理、行列演算 |
ユウキはさらに質問しました。
「先生、『マルチコア』っていう言葉もよく聞くんですが、MIMDとは違うんですか?」
先生はまたホワイトボードに図を描きました。
「良い質問だね!『マルチコア』は、1つのCPUの中に複数のコア(処理単位)がある仕組みのことだよ。このコアがMIMDで動く場合もあれば、SIMDで動く場合もあるんだ。」
「じゃあ、MIMDとマルチコアはどう関係しているんですか?」
「簡単に言うと、マルチコアはハードウェアの構造を指していて、MIMDはその上で動く処理の仕組みを指しているんだよ。」
先生は表を書き加えました。
項目 | MIMD | マルチコア |
---|---|---|
意味 | 複数の命令とデータを同時に処理する | CPU内に複数のコアを持つ構造 |
用途 | 処理の方法やアルゴリズムに関連 | ハードウェアの性能向上 |
ユウキは感心した様子で言いました。
「なるほど!マルチコアは体の筋肉みたいなもので、MIMDはその筋肉の使い方を決める動きみたいな感じですか?」
「その通り!たとえば、ゲームで同時にキャラクターの動きと背景の処理をするにはマルチコアが便利だけど、そのコアがMIMDとして働くことで、それぞれ別々の処理を同時に進められるんだ。」
「わかりやすいです!MIMDとマルチコアが一緒に動くことで、コンピュータはさらに賢くなるんですね。」
「その通りだよ。これからのコンピュータは、この仕組みをもっと活用して、さらに高度な処理ができるようになるんだ。」
MIMDの定義
実際の事例:MIMDの使用例
- スーパーコンピュータ
スーパーコンピュータではMIMDアーキテクチャが採用されており、膨大な計算を同時に実行しています。たとえば、気象予測や新薬のシミュレーションに利用されています。 - オンラインゲーム
オンラインゲームでは、プレイヤーごとに異なる計算や処理が必要です。MIMDを活用することで、それぞれのプレイヤーがリアルタイムに動く仕組みが可能になります。 - 分散システム
クラウドコンピューティングやビッグデータ解析でもMIMDが活躍しています。異なるサーバーがそれぞれ異なる処理を行い、全体の計算を効率化します。
➂クイズで確認しよう!
クイズ1 MIMDの特徴として正しいのはどれでしょう?
A. 同じ命令を複数のデータに対して実行する
B. 複数の命令を複数のデータに対して同時に処理する
C. 1つの命令を1つのデータに対して実行する
クイズ2 MIMDとマルチコアの違いとして正しいのはどれでしょう?
A. マルチコアはハードウェア構造を指し、MIMDは処理の仕組みを指す
B. MIMDはハードウェアを指し、マルチコアは処理の仕組みを指す
C. MIMDとマルチコアは同じ意味で使われる
クイズ3 MIMDが活用される分野はどれでしょう?
A. 単純な画像処理
B. オンラインゲームやスーパーコンピュータ
C. 手作業でのデータ入力
回答
クイズ1の答え
B. 複数の命令を複数のデータに対して同時に処理する
(解説:MIMDは複数のプロセッサが異なる命令を同時に実行します。)
クイズ2の答え
A. マルチコアはハードウェア構造を指し、MIMDは処理の仕組みを指す
(解説:マルチコアとMIMDは異なる概念ですが、密接に関係しています。)
クイズ3の答え
B. オンラインゲームやスーパーコンピュータ
(解説:MIMDは高度な並列処理が求められる場面で活用されます。)
応用情報技術者試験 平成26年秋 午前問8