【Fail-Safe】《SW設計》 → フェイルセーフとフールプルーフ

【Fault Tolerant】《SW設計》

コンピュータを構成する部品を冗長化するなどして故障に対する耐用性を高める技術をいいます。
ハードウェアの場合には、例え正常に動いている部品であっても、稼働中などに故障することは避けられません。このため、例えば、電源やI/Oなどを二重化し、片方が故障したような場合にももう片方を使用することにより、あたかも故障しなかったように正常に動作を遂行させることを目的とした設計をすることができます。ただし、従来、フォールトトレラント設計は、一つの製品を構成するために部品を2倍以上使用するため、特に故障によるシステム停止を嫌うミッションクリティカルな分野専用に利用されてきました。しかし、ハードウェア部品の価格低下を背景に、RAIDのように比較的安価に一般システムでも利用できるようになってきています。

【FCC】《HW》

米連邦通信委員会(Federal Communications Commission)が小型コンピュータ機器の発する電波障害について(すなわち機器の発生する電波について)FCC part15 として規制値を制定したもので、工業用で商用環境で使用する機器について定めたクラスAと家庭用機器について定めたクラスBとがあります(クラスBの方が厳しい内容となっています)。日本国内では同様なものとしてVCCIによる自主規制基準があります。
参照:ノイズノイズ対策

【Feasibility Study】《SW設計》 → フィージビリティスタディ

【Flash Memory】《HW》

フラッシュメモリはEEPROMから改良されたもので、1ビットの記憶セルを構成するトランジスタを2つから1つにすることでより大きな容量を得ることが可能となり、また、消去と書込みをブロック単位で行うようにしたことでEEPROMに比べて書き込みが速く、消費電力が小さくなっていることが特徴です。フラッシュメモリは従来のEPROMやOTPROMのようにプログラム等の固定的なデータメモリだけでなく、同時に一部をEEPROMのようにパラメータ保存領域として使うことも可能です。さらに、オンボードでプログラム書き換えができることやその書き換えが遠隔でも可能になること等メリットが大きく、最近のコストダウンと相まってその需要を大きく伸ばしています。
フラッシュメモリは大別してNOR型とNAND型があります(他の種類もありますがこの2つが現在の主流です)。NOR型はランダムアクセス・高速アクセスが可能なので通常CPUのプログラムメモリによく使用されています。
NAND型はランダムアクセスが不可能で、またNOR型よりもアクセススピードが低速ですが、1ビット当たりの単価がNOR型よりも安いのが特徴です。欠点としてNAND型は読出し時の信頼性が低くビットエラーを起こすことがあります。そこでパリティのような補助的なビットをいくつか付加してエラー検出/エラー訂正を行うなどの工夫をして信頼性を向上させています。NAND型はストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発され、スマートメディア等の記憶素子に使われています。

【Flow Chart】《SW全般》 → フローチャート

【Fool-Proof】《SW設計》 → フェイルセーフとフールプルーフ

【Garbage】《SW全般》 → ヒープとガーベジ

【GOTO文(論争)】《SW設計》

Dijkstraによって提唱された構造化プログラミングから派生してgoto文使用の是非をめぐって起こった論争。
構造化プログラムの基本的な考え方は(構造化プログラミングを参照)、プログラムのわかりやすさと見やすさを追求し、プログラムの制御構造を逐次的に、プログラムの開始部から終了部までの一連の流れを順々に、処理するような手順で記述することです。そのため、「1 entry 1 exit」の逐次、選択、繰り返しの3つの基本制御構造で記述します。 それに対して、旧来のフローチャートに基づくプログラムはif文とgoto文で制御構造が記述されていて、いわゆるスパゲティプログラムのものが多く存在していました。これにより、
構造化プログラミング
 = goto文を使わずプログラムを書く
 = goto文を使うなんて唾棄すべき行為
 = goto文が全くないプログラムが構造化プログラム
といった本質から逸脱した論争が巻き起こりました。現在ではgoto文を使わないことでかえって複雑な制御構造になる場合や外部処理条件によって制御手順がダイナミックに移る場合などといった制限付きでgoto文の使用を認める場合もあります。

【Handler】《SW全般》 → ドライバ/ハンドラ

【Hardware(H/W)】

 → ハードやOSに関する情報《SW全般》
 → ハードとソフトの切り分け《SW全般》

【Heap】《SW全般》 → ヒープとガーベジ

【Hierarchy】《SW設計》 → 階層構造

【ICE(In Circuit Emulator)】《ツール》 → デバッガ

【Inspection】

 → デザインレビュー《品質》
 → インスペクション《品質》

【interface】《SW全般》 → インターフェース

【Interrupt】

 → 多重割り込み《プロセッサ》
 → ポーリングと割り込みの実装《SW全般》

【JTAG】《ツール》

“バウンダリスキャンテスト”という、テスト専用に配置したバスを利用してASICの動作テストを行う手法がある。その手法が IEEE Standard1149.1-1990規格「IEEE Standard Test Access Port and Boundary Scan Architecture」として規格化されており、JTAGの呼称は“バウンダリスキャンテスト”やIEEE1149.1規格を指す事が多い。
JTAG の語源は、その規格作業メンバ名「Joint Test Action Group」の略称に由来する。
JTAG機能の利用にはそのハードウェアが対応している必要があり、対応していれば最大で5本の専用線を容易とするだけで、デバイス自身のテストや外部回路とのテストなどが可能である。この手法はプロセッサコアのデバッグでも利用可能であり、ARM7TDMIなどのCPUコアをもつASIC等のデバッグにおいて有効である。