コンテンツにスキップ

論理ゲートとは

論理ゲートとは、入力された0と1に決まった論理演算を施し、その結果を0か1で出力する、論理回路のいちばん小さな部品です。 基本はAND、OR、NOTの3種類で、これを組み合わせれば加算器も、任意の論理関数も作れます。チップの上では論理ゲートは数個のトランジスタで、部品として基板に載せると、どの電圧を1と見なすかという約束と、1つの出力につなげる数の上限がつきます。

コンピュータの中を流れているのは、0と1という2つの値だけです。論理回路は0と1という2つの値に論理演算を施して結果を出力する回路で、AND回路、OR回路、NOT回路という3つの基本回路があります1。演算装置の中にある加算器などの演算回路は、この3つの回路を組み合わせて作られています。

論理回路の基本要素はAND回路とOR回路、NOT回路の3種類だけで、組み合わせればさまざまな機能の回路を作成できます2。

AND(論理積)は、2つの入力がどちらも1のときだけ出力が1になる回路で2、論理式では「・」を使ってY=A⋅BY=A\cdot Bのように書きます。OR(論理和)は、いずれかの入力が1、または両方が1のときに出力が1になり、論理式では「+」を使ってY=A+BY=A+Bと書きます。NOT(論理否定)は、入力が1なら0を、0なら1を出力し、インバータや反転回路とも呼ばれます。

論理回路は論理式や回路記号で表し、回路記号にはMIL記号やJIS記号などがあります2。入力の組み合わせに対して回路がどう応答するかを一覧にした表が真理値表です。

片方の入力を固定すると、もう片方を通す門になる

Section titled “片方の入力を固定すると、もう片方を通す門になる”
ゲートを閉じる、開く
ゲートを閉じるゲートを開くANDORAYAYB=0B=1B=1B=0
ANDではBを0に保つと出力Yは0のまま、1に保つとYはAと同じ形になります。ORでは閉じる値が1、開く値が0と入れ替わります。

基本論理回路はゲートとも呼ばれ、一方の入力で出力を固定することをゲートを閉じる、出力へ反映させることをゲートを開くといいます2。

AND回路をスイッチとLEDの直列回路に置き換えると、AAかBBのスイッチのどちらかをオフのまま保てばLEDは消灯したままです。逆にどちらかをオンのまま保つと、もう一方の入力がそのまま出力へ反映されます。OR回路のゲート機能はAND回路と逆に動作し、どちらかをオンのまま保つとLEDは点灯したまま、どちらかをオフのまま保つと、もう一方の入力がそのまま出力へ反映されます。

門を閉めるための値は、ANDでは0、ORでは1です。同じ部品が、2つの入力を対等に受け取れば演算器になり、片方を制御信号に使えばもう片方の信号を通す門になります。論理ゲートを組み合わせるときは、この2つの使い方を使い分けます。

任意の論理関数は、NOT・AND・ORの二段回路で作れる

Section titled “任意の論理関数は、NOT・AND・ORの二段回路で作れる”

AND回路やOR回路、NOT回路といった基本の論理回路を組み合わせると、半加算器と全加算器ができあがり、そこで演算が行われています3。足し算という具体的な機能が、3種類の積み上げで組み上がります。

組合せ回路は、NOTやAND、ORなどの基本的な論理関数を計算する論理ゲートと、それらをつなぐ配線からなり、信号が入力から出力へ一方向に流れる回路です4。任意の論理関数は積和形論理式で表せるので、NOT、AND、ORの各論理ゲートを用いたNOT-AND-OR形式の組合せ回路で、任意の論理関数を実現できます。この形の回路は、慣習上、二段(組合せ)回路と呼ばれます。nn変数の論理関数を二段回路で実現する場合、NOTゲートは最大nn個、ANDゲートは積和形表現における積項の個数、ORゲートは1つです。

これは理論上の組み方です。用いる論理ゲートのファンイン(入次数)に上限がある場合、論理関数を実現する組合せ回路は通常多段になり、用いることのできる論理ゲートはテクノロジによって異なります。実際のチップでは、ゲートが何段も連なります。

CMOSでは、トランジスタの直列と並列を組み替えてゲートを作る

Section titled “CMOSでは、トランジスタの直列と並列を組み替えてゲートを作る”

MOSトランジスタは構造の単純さから高集積化に適し、微細加工技術の進展とともに動作速度も高速化されて、CMOS論理回路が現在の論理回路の主流になっています5。CMOSインバータは、nMOSトランジスタとpMOSトランジスタを直列につなぎ、同一半導体基板上に構成した回路です。この構成にすることで、出力がHレベル、Lレベルのいずれの場合も定常的に流れる直流電流が0となり、直流消費電力を大幅に低減させています。この0が、CMOSが論理回路の主流になった理由の一つです。

CMOSのNANDとNOR
NANDNOR電源接地出力出力pMOSnMOS
NANDはnMOSを直列、pMOSを並列に並べ、NORはその直列と並列を入れ替えた形です。AとBがともにHのときNANDのnMOS2つがそろってオンし、NORではどちらか一方のオンで出力がLになります。

NANDとNORは、この2種類のトランジスタの並びを組み替えたものです。CMOSのNAND回路では、AAとBBがともにHレベルの場合にnMOS側の2つがオンして出力がLレベルになります。NOR回路では、AAもしくはBBの一方がHレベルの場合にnMOS側のどちらかがオンして出力がLレベルになります。どちらの回路でも、電源から接地点へ流れる定常的な電流は0です。論理ゲートの種類の違いは、トランジスタを直列に組むか並列に組むかの違いで、記号の形の裏側ではこの組み替えが起きています。

チップの中では、インバーターやNANDを決まった高さの長方形に描いた標準セルを横一列に並べ、その列を積み重ねて回路を組みます。nMOSとpMOSを上下に積むCFETの試作でもIntelが動かしたのはインバーターで、積んだ2つをインバーターにつなぐ配線が、積んで得た面積の利点を削るとIEEE Spectrumは伝えています。

部品として使うと、論理レベルとファンアウトの上限がつく

Section titled “部品として使うと、論理レベルとファンアウトの上限がつく”

論理ゲートを部品として基板に載せる場合、標準論理ICという製品になります。標準論理ICは、論理回路の基本部品や、よく使われる機能を1つのパッケージへまとめた小規模な集積回路で6、基本的なものから演算論理装置のような高機能なものまで、約600種類あると言われます。標準論理ICはTTL ICとCMOS ICに大別されます。TTL ICは主要部分をバイポーラトランジスタで組み、5Vの電源電圧で動作します。CMOS ICは、PチャネルとNチャネルの両方のMOSFETによるCMOSを主要部分に用い、幅広い電源電圧で動作します。

ICどうしで信号をやり取りするには、どの電圧をHighとLowと見なすかという約束が要り、これを論理レベルと呼びます6。TTL ICは、信号が入力される場合は2.0V以上をHigh、0.8V以下をLow、信号を出力する場合は0.4V以下をLow、2.4V以上をHighと判断します6。

TTL ICの論理レベル
0 V5 V0.4 V0.8 V2.0 V2.4 V出力入力HighHighLow0.4 V0.4 V
TTL ICの出力はLowを0.4 V以下、Highを2.4 V以上に収め、入力はLowを0.8 V以下、Highを2.0 V以上と判断します。出力の約束が入力の約束より内側にあり、HighとLowのどちらにも0.4 Vの差があります。

この数値に当てはめると、出力が約束する2.4 Vと入力が求める2.0 Vの間、0.4 Vと0.8 Vの間に、それぞれ0.4 Vの差があります。CMOS ICには多くのシリーズがあって論理レベルがそれぞれ異なり、電源電圧によっても変わるので、論理レベルを合わせて接続する必要があります6。

TTL ICでは、出力電流によってつなぐ相手の個数が制限され、その上限数をファンアウトと呼びます。ファンアウトは、出力電流を入力電流で割った値で、この数を越えた数のICをつなぐと出力の論理レベルが保障されません6。CMOS ICでは、上限を左右するものが電流から容量へ移ります。入力端子に電流がほとんど流れないため、ファンアウトは電流ではなく負荷容量で定まります6。CMOS ICのデータシートには伝達遅延時間の測定条件として負荷容量が示されており、その負荷容量を超えると伝達遅延時間が増加して、誤動作の原因になります。

論理ゲートとは何ですか?

0と1に決まった論理演算を施し、結果を0か1で出力する部品です。論理回路にはAND回路、OR回路、NOT回路の3つの基本回路があり、この基本論理回路はゲートとも呼ばれます。

種類は3つだけですか?

基本要素はAND回路、OR回路、NOT回路の3種類で、組み合わせればさまざまな機能の回路を作成できます。実際の回路では、組み合わせ回路の材料としてNANDやNOR、XORも部品として使われます。

なぜ門を意味する「ゲート」と呼ぶのですか?

片方の入力が、もう片方の通り道を開け閉めするためです。一方の入力で出力を固定することをゲートを閉じる、もう一方の入力を出力へ反映させることをゲートを開くといいます。AND回路で片方を0に保つと出力は0のまま、1に保つともう一方の入力がそのまま出力へ出ます。

ANDとORで、門を閉める値が反対になるのはなぜですか?

出力が確定する条件が反対だからです。OR回路のゲート機能はAND回路と逆に動作し、ANDは片方が0なら出力が0に、ORは片方が1なら出力が1に確定します。

論理ゲートだけで足し算ができるのですか?

できます。AND回路やOR回路、NOT回路といった基本の論理回路を組み合わせると半加算器と全加算器ができあがり、そこで演算が行われます。

チップの中では、論理ゲートは何で作られていますか?

トランジスタです。現在の論理回路の主流はCMOS論理回路で、CMOSインバータはnMOSトランジスタとpMOSトランジスタを直列に組み、出力がHレベルでもLレベルでも定常的に流れる直流電流が0になります。NANDとNORは、nMOSを直列に組むか並列に組むかで作り分けます。

1つの出力につなぐ相手の数に、上限はありますか?

上限があり、ファンアウトと呼ばれます。TTL ICのファンアウトは出力電流を入力電流で割って求まります。CMOS ICでは負荷容量でファンアウトが定まり、データシートに示された負荷容量を超えると伝達遅延時間が増加して誤動作の原因になります。

6件を表示
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6