はじめに
コンピューターは、様々な処理をとても高速で行っています。
もう本当に人間では太刀打ちできないほどに…
でも、実はそんなコンピューターも、命令は1つずつ順番に実行しているんです!
今回は、そんなコンピューターの命令実行方式について、説明していきます。
CPUの命令実行方式
![逐次制御方式とパイプライン方式の説明](http://kouoboe.com/wp-content/uploads/2023/06/82bfd2a4705ebc09f6cbf6c28f817551-1024x146.jpg)
イメージで覚える!
私は命令実行方式を、眼科の例を用いて覚えました。
眼科に行ったら、①受付、②視力検査、③診察、④会計、処方箋 の流れだと思います。
逐次制御方式
逐次制御方式は、この1人がすべて終わるまで他の人は病院内に入れないという方式です。
図にすると、次のようになります。
![逐次制御方式の説明の図](http://kouoboe.com/wp-content/uploads/2023/06/52d750b791b4d494835363b41e93b64e-1024x1024.jpg)
ただ、この方式だと、処理の効率は悪いですよね…
その人が受付をしている間、視力検査や診察室は空いてしまっています。
そこで、少しでもその空いている時間を有効活用しようと生まれてきたのが、パイプライン方式です。
![逐次制御方式のポイントの説明](http://kouoboe.com/wp-content/uploads/2023/06/93e03c636e97296977f9f35b83ccbb58-1024x185.jpg)
パイプライン方式
パイプライン方式は、①受付、②視力検査、③診察、④会計のそれぞれ少しずつずらしながら患者さんを入れる方式です。
例えば、前の人が受付を終え、視力検査へと移ったら次の人を受付へ案内します。
図にすると以下のようになります。
![パイプライン方式の図](http://kouoboe.com/wp-content/uploads/2023/06/3a1788c68da790ad49a6f80b8dbc5c7d-1024x1024.jpg)
しかし、パイプライン方式は問題が1つあります。
例えばBさんが診察の際、至急処置しなければいけない病気が見つかったとします。
もしこの処置に1時間かかったとしたら、CさんとDさんはどうでしょう?
診察に進めず、1時間待たなければなりませんね。
つまり、パイプライン方式は何か予想外のエラーが出たときに、他に与える影響が大きいというデメリットもあります。
![パイプライン方式の注意点の図](http://kouoboe.com/wp-content/uploads/2023/06/b5ba800985ad4ec44a34072852e38ef8-1024x524.jpg)
![パイプライン方式のポイントの説明](http://kouoboe.com/wp-content/uploads/2023/06/7b6c871b1e3fe95c1fb0a506e6ee352a-1024x267.jpg)
練習問題
次の問題の正誤を答えてください。
問題1
逐次制御方式とパイプライン方式を比較したとき、逐次制御方式の方が処理が速い。
誤 逐次制御方式は前の処理が全て終わってから次の処理を実行するため、
パイプライン方式のほうが処理が速いです。
問題2
パイプライン方式は、予想外のエラーが発生したときの他への影響が小さい。
誤 他への影響は大きいです。