こんにちは☆

Linux大学ハードウェア学部講師のツバメです。

本日のテーマは「論理回路」です。

コンピュータは、論理回路と呼ばれる電子回路で作られています。
論理回路は、電流のオンとオフという2つの状態だけを扱うので、
2種類の数字を使う2進数と相性が良いのです。

電流のオン・オフはスイッチで操作できるので、スイッチと電流の組み合わせで
見ていくと、論理回路の動作がよくわかります。

論理回路には、AND、OR、NOTの3種類の基本演算があります。
AND演算は、2つの入力が両方とも1の場合だけ出力が1になります。
OR演算は、2つの入力のどちらか一方でも1なら、出力が1になります。
NOT演算の入力は1つで、出力は常に入力の逆になります。

これらの演算を行う回路要素のことを、論理ゲートといいます。
また、すべての入力の組み合わせに対し、どのような出力が
得られるかを表にしたものを真理値表といいます。

真理値表の結果に合うように3種類の論理ゲートを組み合わせる
ことで、どんな論理回路でも実現できます。

AND、OR、NOTなどの回路は、LSIチップの中で、数個のトランジスタによって
作られています。現在は、何千個もの論理ゲートを組み合わせて作られています。
こんにちは☆

Linux大学ハードウェア学部講師のツバメです。

本日のテーマは「機械語の実行」です。

コンピュータが実行するプログラムは、機械語と呼ばれる命令を組みまわせたものです。プログラムは、あらかじめ作成し、2進数の機械語の形でメインメモリ中に収めておきます。機械語命令はコンピュータの動作を直接制御し、計算や入出力などを行います。CPU制御部は、機械語命令を読み出し、その内容に従い、メモリ、レジスタ、演算回路などに指示を出してデータの移動や計算を行います。

例えば、メモリからレジスタにデータを読み込む命令であれば、メモリに対して読み出し動作を指定し、レジスタにそのデータを書き込むように指示します。計算を行うのであれば、計算に使うデータをメモリやレジスタから読み出し、演算部に計算指示を与え、さらに計算結果をレジスタに書き込むといった作業を、きちんと順序立てて行います。

このような各部の制御は、一定間隔でオン/オフを繰り返す、「クロック」という基準信号に従って行われます。このクロックのオン/オフの速度が速いほど、プログラムの実行も早く進みます。
CPUはこの作業をメモリ中に並べられた1つ1つの機械語命令について、順に行っていきます。命令の中に、分岐の指示があれば、次の命令には進まずプログラム中の別の場所に進み、そこからプログラムを実行していきます。コンピュータはこのように機械語命令を1つずつ実行していくことで、複雑な計算処理でも、正確かつ高速にこなすことができるのです。