メインコンテンツへ
ハードウェア論理回路応用

優先順位エンコーダ(priority encoder)の特徴として、最も適切なものはどれか。

ア.N本の入力のうちアクティブな1本の番号をlog2(N)ビットで出力するが、複数本同時アクティブでは出力が不定になる。
イ.4ビットのBCDコードを受け取り、7セグメントLEDを点灯させるドライバ回路である。
ウ.N本の入力のうち複数本が同時にアクティブでも、あらかじめ決められた優先順位で最も優先度の高い入力番号を出力する。正解
エ.入力されたビット列のパリティを計算し、エラー検出ビットを付加する回路である。

解説

優先順位エンコーダは「複数の通報が同時に来ても、一番偉い人の通報だけを採用する司令官」。割り込み処理で複数デバイスから同時要求が来たときの仲裁役として使われます。

なぜ ウ が正解か

ウが正解。通常のエンコーダは複数入力が同時にアクティブだと出力が不定になるが、優先順位エンコーダは「入力0が最高優先」「入力7が最低優先」のようにあらかじめ優先順位を決めておく。複数入力が同時に1でも最優先のものを選んで番号を出力する。CPUの割り込みコントローラなどで利用される。

なぜ ア は間違いか

複数入力で不定になるのは通常のエンコーダの説明。優先順位エンコーダの最大の特徴は「複数同時アクティブでも優先度で1つ決める」ことであり、不定にはならない。

なぜ イ は間違いか

BCD→7セグメントの変換はBCDデコーダ(または7セグメントデコーダ)の機能であり、優先順位エンコーダとは別の回路。デコーダは「コード→個別出力」の方向。

なぜ エ は間違いか

パリティ計算はパリティジェネレータ/チェッカ回路の機能で、エンコーダとは目的が異なる。エンコーダは「アクティブな入力線の番号を符号化」する回路。

出典: AI生成問題(学習用)