この記事からしばらくプログラムについての基本的なお話をしたいと思います。例によってハードウエアに一番近い部分から、プロセスという概念がどうして必要になったかというところまでお話ししていく予定です。
まず、プログラムをするのに必要な最小限度の要素を考えてみることにしましょう。
実は処理の流れを図式化したものに、フローチャート(流れ図)と呼ばれるもので、日本工業規格(JIS規格)でもきちんと定義されていたりもします(JISX0121)。これは、たとえば、ISO( 国際標準化機構 )の品質マネージメント規格にISO9000シリーズというのがありますが、そこでそろえる書類の手順書などにも用いられたりして、汎用性が高いので覚えておいても損はないと思います。
ここでは、あまり細かいことまでは言わず、まずはごく基本的な次の5つだけ説明しておきましょう。
以上の五つとなります。これに時には矢印を加えて、処理の流れを表わすのですが、だいたい、上から下へ処理の順序を書いていくのがふつうです。
ここで、「その2」のCPUに必要な機能で説明していなかった分岐というものが出てきました。この部分について説明して、今回の記事は終わりたいと思います。
CPU何らかの計算をすると、計算の結果に応じてフラグというものを立てます。ゲームなんかをやっている人は、あるイベントをクリアするとフラグが立って次のステージに進める、などと使ったりしてませんか。あのフラグと同様です。
ただし、CPUが計算の結果立てるフラグは基本的には次の二通り。
0(ゼロ)フラグ:計算の結果が0の時に1、そうでないときは0
マイナスフラグ: 計算の結果が負の時に1、そうでないときは0
この他に、割り込みの信号が検出されたときに1となる、割り込みフラグというものもあります。
CPUはこのフラグの状態をみて分岐をします。
たとえば、ある二つの変数の内容が等しいかどうかが必要なときは、引き算をしてゼロフラグが0か1かという結果を見て分岐の処理します。
また、同様に大きい、小さいの比較は引き算をした結果、マイナスフラグが立っている(=1)か立っていないか(=0)ということで分岐を判断します。
このように、ごく単純なことに、我々の作業は分解されて計算機では処理されていくことを少しご理解いただいておくと、計算機に対する見方もまた違ったものになるのではないでしょうか。
0 件のコメント:
コメントを投稿