~魔法使いへの道~座学編(1)スーパスカラ

魔法使いへの道

はじめに

今後の世界で生き残るために魔法使いを目指して頑張るエンジニアの日記です.

~魔法使い(ウィザード級ハッカー)への道~初心者エンジニアの積み上げ日記
ハッカーの中でも特に優れた上級ハッカーのことをウィザード級ハッカーと言われています.これは魔法使いの意味でコンピュータを自在に操る者とのことでこの名前が付けられています.そこで本企画は初心者が魔法使いになるまでの道のりを綴っていこうと思います.

スーパスカラ編

問題 

スーパスカラの説明として,適切なものはどれか.

選択肢

ア:一つのチップ内に複数のプロセッサコアを実装し,複数のスレッドを並列に実行する.

イ:一つのプロセッサコアで複数のスレッドを切り替えて並列に実行する.

ウ:一つの命令で,複数の異なるデータに対する演算を,複数の演算器を用いて並列に実行する.

エ:並列実行可能な複数の命令を,複数の演算器に振り分けることによって並列に実行する.

平成31年度春期午前I問4

解答

問題文の解説

スーパースカラはパイプライン処理と密接につながっているため,まずはパイプライン処理について解説していきます.

パイプライン処理とは

命令を実行する際に、1連の処理を、いくつかのステップに分けて実行する処理です.

命令の種類

CPU内では1命令ずつプログラムを読み込んで解釈、処理内容に従って実行していきます

6段パイプラインの例

6段パイプラインでは下記の6stepに分割する.

6stepに分けることによって,1サイクル毎に結果の書き込みが行われるため,見かけ上1命令が1サイクルで実行される.

スーパスカラとは

スーパスカラ(スーパースカラー,superscalar,スーパースケーラ)では,下の図のように「1つのCPUコアで複数の命令を同時に処理する」ことが可能になります.

これにより,同時に2命令を処理可能です.

そのため,6段スーパスカラでは下記の図のように2命令が1サイクルで実行されます.

このように,パイプライン処理を複数個並列させて処理する方式を「スーパースカラ」と呼びます

よって,並列実行可能な複数の命令を,CPU内の複数の演算器に振り分けることでパイプライン処理で並列に実行していることから回答は「エ」ということが分かります.

選択肢の解説

ア:マルチコア

一つのチップ内(CPU)に複数のプロセッサコアを実装し,複数のスレッドを並列に実行する.

イ:マルチスレッド

一つのプロセッサコアで複数のスレッドを切り替えて並列に実行する.

ウ:SIMD

一つの命令で,複数の異なるデータに対する演算を,複数の演算器を用いて並列に実行する.

通常の場合,それぞれの箱ごとに計算を行う.

SIMDの場合,箱を結合させて,一気に計算を行う.

マルチコアプロセッサ

マルチコアプロセッサではCPUが複数あることを指します.

参考文献

コメント

タイトルとURLをコピーしました