平成30年度 秋期 午前 問11
コンピュータ構成要素
ECCに関する問題
メモリのエラー検出及び訂正に ECC を利用している。データバス幅 2ⁿ ビットに対して冗長ビットが n+2 ビット必要なとき,128ビットのデータバス幅に必要な冗長ビットは何ビットか。
- ア7
- イ8
- ウ9
- エ10
答えと解説を見る
✓ これが正解ウ9
解説
128が2の何乗かを求めてから、その値に2を足します。
与えられた関係は、データバス幅が2をn回掛けた値であるとき、冗長ビットがnに2を足した数になるというものです。まず128が2を何回掛けた値かを調べます。2を7回掛けると128になるので、nは7だと決まります。あとは関係にあてはめて、7に2を足した9が求める値になります。式に現れるnは幅そのものではなく、幅を2のべき乗で表したときの指数である点が要点です。ここを取り違えると、答えは大きく外れてしまいます。誤りの検出と訂正に使う冗長ビットは、データ幅が2倍になるごとに1本ずつ増える計算になります。幅の増え方に比べて、付け加える本数の増え方はゆるやかです。訂正まで行うには、誤っている位置を指し示せるだけの情報量が必要なためこの本数になります。幅が256ビットになれば、指数は8になり本数は10本です。
ほかの選択肢はなぜ違うのか
- ア7:指数として求めた7を、そのまま答えとした値です。問われているのは指数ではなく、それに2を足した本数のほうになります。式の右辺を最後まで計算しないと、この段階の値で止まってしまいます。問われている量を最後に確かめます。
- イ8:指数の7に1を足した値で、加える数を取り違えた形です。与えられた関係では、足す数は2だとはっきり決められています。検出だけなら少ない本数で足りますが、訂正には位置を示す情報が別に必要です。足す数は式に書かれています。
- エ10:128を2のべき乗と見たときの指数を8と数えた場合に出てくる値です。2を8回掛けると256になり、与えられたデータバス幅を超えてしまいます。べき乗の回数は、2から数え始めるか1から数え始めるかで一つずれます。
出典:平成30年度 秋期 基本情報技術者試験 午前 問11
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)