基本情報技術者 2018年 秋期 午前(科目A) 問11
問題文
メモリのエラー検出及び訂正にECCを利用している。データバス幅2^nビットに対して冗長ビットがn+2ビット必要なとき,128ビットのデータバス幅に必要な冗長ビットは何ビットか。
選択肢
ア:7
イ:8
ウ:9(正解)
エ:10
メモリのエラー検出及び訂正にECCを利用している。冗長ビット数の計算【午前2 解説】
要点まとめ
- 結論:128ビットのデータバス幅に必要な冗長ビットは9ビットで、選択肢はウが正解です。
- 根拠:問題文の「データバス幅がのとき冗長ビットは」に従い、でだからです。
- 差がつくポイント:の関係との考え方を使い、バイト数や桁数(8ビット=1バイト等)と混同しないことが重要です。
正解の理由
正解: ウ(9ビット)
説明:問題で「データバス幅がビットに対して冗長ビットがビット必要」と明示されています。128ビットはなので、したがって冗長ビット数はビットとなり、選択肢の「9」が正解です。
説明:問題で「データバス幅がビットに対して冗長ビットがビット必要」と明示されています。128ビットはなので、したがって冗長ビット数はビットとなり、選択肢の「9」が正解です。
よくある誤解
- 128を「2^8」と誤認するミス:128はであり、なのでここを取り違えると冗長ビットが1つずれてしまいます。
- ビットとバイトの混同:128ビットを128バイトと誤解して計算すると大きく間違えます。問題は「ビット幅」です。
- Hamming符号の一般式と混同:一般的な誤り検知/訂正の式と今回の設定を混ぜて誤った計算をする場合があります。
解法ステップ
- 問題文から関係式を読み取る:データ幅 = 、冗長 = 。
- 与えられたデータ幅128をの形に当てはめる:。
- 両辺の対数を取るか、2の累乗を確認してとする。
- 冗長ビット = 。
- 選択肢から「9(ウ)」を選ぶ。
選択肢別の誤答解説
- ア: 7 — これはの値自体()を冗長ビット数と誤解したケースです。問題は冗長がと与えられています。
- イ: 8 — と誤って計算した場合の値です。与式はである点を見落としています。
- ウ: 9 — 正解。で、冗長は。
- エ: 10 — など余分に加算してしまった誤りや、128をと誤認したときの値に近い誤答です。
補足コラム
- 背景理論:Hamming符号や一般的なECCの設計では冗長ビット数はデータビットに対して等の条件が使われます。本問題は別途与えられた簡潔な関係式(データ幅=, 冗長=)に基づく計算です。
- 実務面:実際のメモリECC設計では、検出/訂正能力(単一ビット訂正・二重ビット検出など)や符号化方式により必要な冗長ビット数は異なります。本問は与式に従った理論的な数値計算力を問う問題です。
FAQ
Q1. もしデータバス幅が64ビットなら冗長は何ビットですか?
A1. なので、冗長はビットです。
A1. なので、冗長はビットです。
Q2. 与えられた幅がでなければどうするべきですか?
A2. 問題文の前提に従いませんが、もし任意のビットで冗長を求める設問ならHammingの条件を用いて最小のを求めます。
A2. 問題文の前提に従いませんが、もし任意のビットで冗長を求める設問ならHammingの条件を用いて最小のを求めます。
Q3. を「ビット」ではなく「バイト」と誤解した場合は?
A3. 128バイトは1024ビットなので問題条件が変わり、元の計算方法が使えなくなります。設問の単位(ビット)を必ず確認してください。
A3. 128バイトは1024ビットなので問題条件が変わり、元の計算方法が使えなくなります。設問の単位(ビット)を必ず確認してください。
関連キーワード: ECC、冗長ビット、Hamming符号、ビット幅、対数(log2)

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

