概要
情報技術の基礎として理解しておきたいハードウェアについて、論理回路、半導体素子、故障原因、タイマー、その他の機能を整理する。
ハードウェア分野では、コンピュータが電気信号をどのように論理として扱うかを理解する。
論理回路や半導体の基礎は、CPU、メモリ、組込み機器の理解につながる。
この記事の構成
- 論理回路
ハードウェアの構成部品となる電子・電気回路における基本的な論理回路には、次の回路記号がある。 - 半導体素子の集積回路
半導体素子の集積回路の意味と要点を具体例から整理。 - 半導体の故障原因
半導体の故障原因の意味と要点を具体例から整理。 - タイマー
タイマーとは、クロック信号などをカウンターで数え、設定値への到達やオーバーフローを契機に割込みなどを発生させる装置のこと。 - その他機能
その他機能の意味と要点を具体例から整理。
論理回路
ハードウェアの構成部品となる電子・電気回路における基本的な論理回路には、次の回路記号がある。
-
OR回路:論理和
入力値 \(A\)、\(B\) の論理和 \(Y\) を表す。
-
AND回路:論理積
入力値 \(A\)、\(B\) の論理積 \(Y\) を表す。
-
NOT回路:否定
入力値 \(A\) の否定 \(Y\) を表す。
-
NOR回路:否定論理和
入力値 \(A\)、\(B\) の論理和の否定 \(Y\) を表す。
-
NAND回路:否定論理積
入力値 \(A\)、\(B\) の論理積の否定 \(Y\) を表す。
-
XOR (EXOR) 回路:排他的論理和
入力値 \(A\)、\(B\) が一致すれば \(Y = 0\)、一致しなければ \(Y = 1\) となる排他的論理和を表す。
上記の基本ゲートを組み合わせ、現在の入力だけで出力が決まる回路を組合せ回路という。これに対し、過去の状態も使って出力を決める回路を順序回路といい、\(1\) ビットの情報を保持するラッチやフリップフロップがある。ラッチは入力のレベルに応じて状態を取り込み、フリップフロップは一般にクロックのエッジで状態を更新する。
フリップフロップはレジスタやカウンターなどに利用される。SRAMの記憶セルも、双安定回路によってビットを保持する。
-
RS型(SRラッチ)
RESET端子とSET端子の \(2\) つの入力を持つラッチ。以下はNOR回路を二つ組み合わせたアクティブHigh入力の例で、SET端子に \(Hi(1)\) が入力されると、RESETされるまで出力の状態を保持。
※ NAND回路で構成する場合は入力がアクティブLowとなり、保持と禁止の入力条件が逆になる。\(S\) \(R\) \(Q_{next}\) \(\overline{Q}_{next}\) \(0\) \(0\) 保持 保持 \(0\) \(1\) \(0\) \(1\) \(1\) \(0\) \(1\) \(0\) \(1\) \(1\) 禁止 禁止 -
JK型
J端子とK端子の \(2\) つの入力を持つクロック同期型の回路。クロックが有効なタイミングで \(J=K=1\) になると出力が反転し、RS型における禁止入力に相当する組合せも扱える。\(J\) \(K\) \(Q_{next}\) \(\overline{Q}_{next}\) \(0\) \(0\) 保持 保持 \(0\) \(1\) \(0\) \(1\) \(1\) \(0\) \(1\) \(0\) \(1\) \(1\) 反転 反転 上記以外に、\(D\) 型、\(T\) 型などがある。
半導体素子の集積回路
半導体素子とは、半導体を素材に作られた回路素子(電気回路の構成要素)のことで、集積回路(IC:Integrated Circuit)、大規模集積回路(LSI:Large-Scale Integration)などがあり、以下の代表的な種類がある。
-
カスタムIC
利用者の要求に応じて特定用途向けに設計、製造される集積回路(IC)で、代表例にASICがある。FPGAは、製造後に利用者が回路構成を書き換えられるプログラマブルロジックデバイスとなる。 -
システムLSI
CPU、メモリコントローラ、入出力回路など、システムに必要な複数の機能を一個の半導体チップへ集積した製品。SoC(System on a Chip)は、このように一つのIC上へシステムを実装したものを指し、部品点数の削減や小型化、省電力化につながる。 -
ASIC(Application-Specific Integrated Circuit)
製造時に回路設計を決めるカスタムIC。
特定用途に最適化でき、大量生産時の単価を抑えやすい一方、初期開発費が高く、設計から製造までの期間が長い。 -
FPGA(Field-Programmable Gate Array)
製造後に構成変更が可能なプログラマブルロジックデバイス。
利用者が回路構成を変更でき、ASICと比べて開発期間や初期開発費を抑えやすいが、開発費が不要になるわけではなく、大量生産時の単価は高くなる傾向がある。 -
MEMS(Micro Electro Mechanical Systems:微小電子機械システム)
シリコン基板などの上に、電子回路、センサー、機械的に動くアクチュエーターなどの微細構造を集積したデバイス。
半導体の故障原因
以下、半導体の主な故障メカニズム。
-
ESD破壊(静電破壊)
人体、装置、デバイスの帯電が起因し、静電気放電(ESD:ElectroStatic Discharge)で、酸化膜や配線などが破壊されること。 -
ラッチアップ
CMOS内部に存在する寄生PNPN構造が導通し、電源とグラウンドの間に低抵抗経路が生じて過大電流が流れる現象。誤動作や素子の破壊につながる場合がある。 -
ストレスマイグレーション
絶縁層と熱膨張係数の差と温度上昇のストレスにより、金属配線にボイド(空洞)断線が発生し、半導体素子が不良になる現象。 -
エレクトロマイグレーション
電子と金属原子の運動量交換でイオンが移動することにより、金属配線にボイド(空洞)や断線が発生し、半導体素子が不良になる現象。
タイマー
タイマーとは、クロック信号などをカウンターで数え、設定値への到達やオーバーフローを契機に割込みなどを発生させる装置のこと。
下記タイマーは、組込みシステムで使用される。
-
インターバルタイマー
一定間隔でCPUに割込みを発生させるタイマー。
OSがソフトウェア上の時刻管理やタスク切替えなどに利用する場合がある。RTCとは役割が異なる。 -
ウォッチドッグタイマー
コンピュータ動作に異常がないか監視するためタイマー。
監視対象のソフトウェアが正常動作中に一定間隔でタイマーをクリアし、規定時間内にクリアされなければ異常と判断して、割込みやシステムリセットを発生させる。 -
RTC(Real-Time Clock) コンピュータが内蔵する時計でシステム電源が落ちてもバッテリバックアップなどにより時刻を刻み続ける特徴を持つ。
その他機能
以下、ハードウェアのその他機能。
-
診断プログラム
ハードウェアの動作試験を行い、故障箇所や問題原因の特定を支援するプログラムのこと。 -
オープンソースハードウェア
設計ファイルを公開し、ライセンス条件に従って誰でも調査、改変、配布、製造、販売できるハードウェアを指す。単に資料を無償公開するだけではなく、改変や再利用を認めるライセンスが必要となる。オープンソースソフトウェアについて
→ 応用情報技術 - ソフトウェア > オープンソースソフトウェア(OSS) -
エネルギーハーベスティング
特に身の回りにあるわずかなエネルギー(太陽光、照明光や機械の振動、熱エネルギーなど)を集め、電気に変換する技術のこと。
まとめ
- ハードウェアは電気信号を論理値として扱い、組合せ回路は現在の入力、順序回路は入力と過去の状態から出力を決める。
- ORは少なくとも一方が真なら真となり、XORはどちらか一方だけが真の場合に真となる。
- ラッチとフリップフロップはどちらも状態を保持するが、値を取り込むタイミングが異なる。
- ASICは製造時に回路を固定し、FPGAは製造後に回路構成を変更できる。
- 半導体ではESD、ラッチアップ、配線材料の移動などが故障要因となる。ウォッチドッグタイマーは、ソフトウェアの異常を検知して割込みやリセットを行う。