CPUをつくろう -論理回路編-

電圧と数値表現

コンピュータは数値をすべて0または1で表す。ここで0、1とは回路的にはどういう状態なのか?

論理回路では電圧が高い状態を1、低い状態を0とする。電圧が高いとは電源電圧に近い状態のことである。いま電源電圧を5Vとすると2.5V以上を電圧が高い状態(これをHiという)、2.5V未満を電圧が低い状態(これをLoという)とする。(実際の論理ゲートICにはヒステリシスというものがあって、ちょうど2.5Vにはなって無いんだけど。)

よって、まとめると以下の通り。

電圧状態論理
高い(5V)Hi1
低い(0V)Lo0

論理回路

論理回路とは、コンピュータで論理演算を行うための回路のこと。入力に0または1を入力すると、出力が0または1になる。

論理回路にはいくつかの種類があるが、ここでは以下の回路を紹介する。

  • NOT回路
  • AND回路
  • OR回路
  • NAND回路
  • NOR回路

NOT回路

まず、もっとも単純なNOT回路を示す。NOTとは否定である。入力の値を否定する値を出力する。入力の値を反転して出力する回路である。

よってNOT回路は以下のような動きになる。

  • 0を入力すると、1を出力する
  • 1を入力すると、0を出力する

これはまさしく前回紹介したトランジスタのスイッチで実現できる。回路は、前回そのままの回路となる。

InOut
01
10

Inが0の時:Outは1

Inが1の時:Outは0

ところで、上記のような回路を毎回書くのは面倒だ…笑 そんなときのために便利な回路記号が使用できる。NOT回路は下記の記号で表すことが出来る。