0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

第3章 論理回路とは何か

0
Posted at

この章のゴール

トランジスタを組み合わせるだけで

  • 足し算
  • 比較
  • if文
  • CPU

まで作れることを理解する。

最終的には

電子

↓

トランジスタ

↓

論理回路

↓

CPU命令

までイメージできるようになる。


なぜ論理回路が必要なの?

前回学んだように

トランジスタ1個では

ON

または

OFF

しかできない。

つまり

1

0

しか表現できない。

これだけでは

足し算も比較もできない。

そこで

複数のトランジスタ

を組み合わせる。

これが

論理回路。


入力と出力

論理回路は

入力

↓

計算

↓

出力

という仕組みになっている。

例えば

A = 1

B = 0

↓

?

↓

1

のように

入力から出力を作る。


AND回路

ANDは

両方とも1なら1

になる。

A B 出力
0 0 0
0 1 0
1 0 0
1 1 1

つまり

1

AND

1

↓

1

だけ。


OR回路

ORは

どちらか1なら1

になる。

A B 出力
0 0 0
0 1 1
1 0 1
1 1 1

NOT回路

NOTは

反転する。

入力 出力
0 1
1 0

つまり

1

↓

0

にする。


XOR回路

ここが重要。

XORは

違えば1

になる。

A B 出力
0 0 0
0 1 1
1 0 1
1 1 0

後で

足し算に使う。


「これだけ」で何ができる?

実は

AND

OR

NOT

XOR

だけで

全部作れる。

例えば

足し算

引き算

比較

掛け算

割り算

全部。


一番感動するところ

例えば

1 + 1

を考える。

私たちは

答えは

2

だと知っている。

でも

CPUは

「2」

を知っていない。

CPUが知っているのは

0

1

だけ。

つまり

1

+

1

実際は

1bit

+

1bit

の計算になる。

これを

論理回路だけで実現する。


Half Adder(半加算器)

Half Adderとは

1桁の足し算回路

である。

例えば

1

+

1

なら

答えは

10

になる。

この

10

実は

XOR

AND

だけで作れる。

つまり

和

↓

XOR

繰り上がり

↓

AND

である。

ここが

CPU最大の発明。


Full Adder

実際には

繰り上がりも考える必要がある。

だから

Half Adderを

組み合わせる。

すると

8bit

16bit

32bit

64bit

全部足せるようになる。


CPUはどうやって足し算する?

CPUの中には

ALU

(Arithmetic Logic Unit)

がある。

ALUの中には

大量の

AND

OR

NOT

XOR

が入っている。

つまり

CPUは

論理回路だけで

足し算している。


if文も同じ

例えば

if ($a == $b)

を書く。

CPUは

比較回路

一致したかどうか

調べる。

これも

AND

OR

NOT

だけでできている。


この章で覚えること

用語 本質
論理回路 トランジスタを組み合わせた回路
AND 両方1なら1
OR どちらか1なら1
NOT 反転する
XOR 違えば1
Half Adder 1bitの足し算回路
Full Adder 複数bitの足し算回路
ALU CPUの計算する部分

次章

次はいよいよ

CPU

を学ぶ。

ここで

論理回路が

何万個

何百万個

何億個

集まると

CPUになることを理解する。

そして

CPUの中には

  • ALU
  • レジスタ
  • キャッシュ
  • 制御装置

があることを学ぶ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?