前回はトランジスタで構成されるデジタル回路について説明した。今回も引き続き、プロセスの基本的なことを解説していく。テーマはロジック回路、それと同期/非同期回路についてだ。

ロジック回路実験基板
プロセッサー内部の基本となる
ブール代数とロジック回路
デジタル回路、あるいはロジック回路と呼ぶこともあるが、これの基礎になっているのがブール代数という記号論理学である。最初にこれを発案したのは19世紀の数学者であるGeorge Booleで、彼の名をとってブール代数(Boolean Algebra)と呼ぶ。
もっともブール代数そのものがロジック回路に出現するわけではなく、このブール代数をベースに考案された、組み合わせ回路と呼ばれるものが広く使われている。
その一番基本的なものが、図1に示す3つである。NOTは唯一の1入力で、入ってきた信号をひっくり返すもの。入力Aが0なら1を、Aが1なら0をそれぞれ出力する。前回インバーターとして示した2つのMOSFETを組み合わせた回路が、このNOPとして動く。
他に、AとBの2つの入力の「どちらかが」1だったら1を返すOR(論理和)、それとAとBの「両方が」1だった時のみ1を返すANDがある。これを組み合わせることで、さらにNOR/NAND/XORといった回路(図2)も考えられる。
NORはOR+NOTで「AとBが両方0の時だけ1」だし、NANDはAND+NOTで「AとBが両方1の時だけ0」である。XORはORの拡張版で、「AとBの値が異なる時だけ1」といった働きをする。このNOR/NAND/XORあたりまでを「基本的なロジック回路」と分類することが多い。
もっと厳密に言えば、NANDとNOR、NOTがあれば、残りの3種類のロジック回路をすべて作れるので、基本的という場合にはNANDとNOR、NOTの3つを指すこともある。
さて、これを組み合わせるとなにができるかだが、実はプロセッサーの内部回路は全部この組み合わせだけでできている。つまり6種類だけで全部片付くわけだ。一例として、図3には2bitの加算器(Adder)の例を示した。
2bitの入力AとBは、どちらも0~3の値を取る。なので、組み合わせとしては0~6の範囲の結果が出ることになる。別にこの回路そのものを理解する必要はないのだが、簡単に説明すると以下のとおりになる。
Stage 1 | A0とB0、A1とB1をそれぞれ加算する(XOR)とともに、桁上がりの計算も行なう(AND) |
---|---|
Stage 2 | 1桁目(A0とB0)の桁上がり分と、2桁目(A1とB2)の結果を加算するとともに、その桁上がりも計算する |
Stage 3 | 2桁目の桁上がりを確定する |
この回路は説明用にわざと愚直な実装にしてあるので、実際はもう少しスマートな方法があるし、なによりこの方式では桁が増えるとどんどんStage数が増えてってしまってあまり実用的ではないのだが、それは説明用ということでご容赦いただきたい。

この連載の記事
-
第747回
PC
コロナ禍の裏で中国で爆発的に増えたRISC-Vコアの出荷数 RISC-Vプロセッサー遍歴 -
第746回
PC
TOP500の1位に惨敗したスパコンAuroraの真の性能 インテル CPUロードマップ -
第745回
PC
ソフトウェアの壁が独立系プロセッサーIPベンダーを困らせる RISC-Vプロセッサー遍歴 -
第744回
PC
41社でRISC-V財団を創立 RISC-Vプロセッサー遍歴 -
第743回
PC
RISC-Vの仕様策定からSiFiveの創業までAsanovic教授の足跡をたどる RISC-Vプロセッサー遍歴 -
第742回
デジタル
Ryzen Threadripper 7000シリーズのターゲットはAMDの熱狂的なファン AMD CPUロードマップ -
第741回
PC
Meteor LakeのGPU性能はRaptor Lakeの2倍 インテル CPUロードマップ -
第740回
PC
Meteor LakeのNPU性能はGPUの7割程度だが消費電力が圧倒的に少ない インテル CPUロードマップ -
第739回
PC
Meteor Lakeで省電力なのはSoCタイルのEコアのみ インテル CPUロードマップ -
第738回
PC
Intel 4は歩留まりを高めるためにEUVの工程を減らしている インテル CPUロードマップ -
第737回
PC
Sierra Forestの内部構造はGracemontとほぼ変わらない インテル CPUロードマップ - この連載の一覧へ