連載
» 2017年02月28日 15時00分 公開

Q&Aで学ぶマイコン講座(35):スーパースカラって何? (1/3)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「スーパースカラって何?」です。

[菅井賢(STマイクロエレクトロニクス),EDN Japan]

過去の質問一覧はこちら

 素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。

 今回は、初級者から多く寄せられる質問です。

 マイコンのカタログや雑誌のアーキテクチャの欄に「スーパースカラ」と書かれていますが、スーパースカラとはどんな方式ですか?スーパースカラとパイプライン処理では、何が違うのでしょうか?スーパースカラの利点、欠点を教えてください。

 マイコンの内部で命令を実行する際に、1連の処理を、いくつかのステップに分けて実行する方式があります。図1に、「命令のフェッチ(F)」から「結果の書き込み(E)」を6ステップに分けた例を示します。

図1:パイプラインとスーパースカラ (クリックで拡大)

 各処理に専用のハードウェアを設け、各ハードウェアはひたすら自分の処理だけを行い、その結果を次のハードウェアに渡します。各処理は1クロックサイクルで完了すると、必ず1クロックサイクル毎に、結果が書き込まれます。

 実際は、1命令の処理に複数サイクルかかっていても、実使用上、1命令を1サイクルで実行することができます。

 これを一般的に「パイプライン処理」と呼びます。

 では、このパイプライン処理のハードウェアを2セット以上並べて、同時に2個以上の命令を並列実行したらどうなるでしょうか? もちろん、1個よりも2個、2個よりも3個を並列に実行した方が、命令の処理能力が上がります(図2参照)。

図2:パイプラインのおさらい (クリックで拡大)

 このように、パイプライン処理を複数個並列させて処理する方式を「スーパースカラ」と呼びます。マイコンのサイズそのものは大きくなりますが、高機能を実現できます。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.