情報処理技術者試験の高度区分向け過去問題集です。
科目A-2試験(旧午前Ⅱ試験)で出題される問題のうち、中分類『コンピュータ構成要素』の問題をまとめています。
過去問題(令和期)
令和2年度秋期から令和7年度秋期に出題された問題です(重複除く)
プロセッサ
各ソフトウェアモジュールからアクセスできるハードウェアリソースやメモリ領域の範囲を適切に制限するために,4段階の特権レベル(EL0〜3)をもつCPUがある。ELの次の数字が大きいほど高い特権レベルであるとき,各特権レベルにソフトウェアモジュールを適切に割り当てているものはどれか。
-
EL0 ファームウェア/セキュアモニタ EL1 ユーザーアプリケーション EL2 ハイパーバイザー EL3 OS(Linuxカーネルなど) -
EL0 ユーザーアプリケーション EL1 OS(Linuxカーネルなど) EL2 ハイパーバイザー EL3 ファームウェア/セキュアモニタ -
EL0 ユーザーアプリケーション EL1 ファームウェア/セキュアモニタ EL2 OS(Linuxカーネルなど) EL3 ハイパーバイザー -
EL0 ユーザーアプリケーション EL1 ハイパーバイザー EL2 ファームウェア/セキュアモニタ EL3 OS(Linuxカーネルなど)
解答・解説
解答
イ [ES 令和6年度秋期 問1]
解説
特権レベル(Exception Level:EL)とは、CPUの実行モードを階層的に分けたもので、各ソフトウェアモジュールがアクセスできるハードウェアリソースやメモリ領域を制限するために使われます。ELの数字が大きいほど特権レベルが高く、より多くの制御権を持ち、ハードウェアに近い操作ができます。
- EL0(ユーザーモード)
最も特権レベルが低く、通常のユーザーアプリケーションが動作するモードです。制限されたメモリ領域とハードウェアリソースしか利用できません。 - EL1(OSカーネルモード)
OS(Linuxカーネルなど)が動作するモードです。EL0のプロセスを管理し、システムコールを通じてハードウェアリソースへのアクセスを仲介します。 - EL2(ハイパーバイザーモード)
EL1を複数(ゲストOS)実行可能にするハイパーバイザーが動作するモードです。仮想化環境を管理します。 - EL3(セキュアモニタモード)
最も特権レベルが高く、ファームウェアやセキュアモニタが動作します。システムの起動処理や、ハードウェアのセキュリティ機能(トラストゾーンなど)を管理します。
これらの階層的な関係から、最も下位のユーザーアプリケーションがEL0に、次にOSがEL1に、さらにその上位で仮想化を管理するハイパーバイザーがEL2に、そして最も低レベルでシステム全体を制御するファームウェアがEL3に割り当てられるのが一般的です。
NVMeの特徴として,適切なものはどれか。
- 通信プロトコルとしてAHCI(Advanced Host Controller Interface)を使う。
- 通信プロトコルとしてThunderbolt3を使う。
- ハードウェアインタフェースにPCI Expressを採用した通信プロトコルである。
- ハードウェアインタフェースにSATAを採用した通信プロトコルである。
解答・解説
解答
ウ [ES 令和6年度秋期 問2]
解説
NVMe (Non-Volatile Memory Express)は、SSDなどの不揮発性メモリをPCI Express (PCIe) インタフェース経由で接続するための通信プロトコルです。これは、従来のHDD用に設計されたSATAやAHCIといった古い技術に代わり、SSDの高速なデータ転送性能を最大限に引き出すために開発されました。
- ハードウェアインタフェース
NVMeは、CPUに直接接続できるPCI Expressを採用しています。これにより、SATAが持つ転送速度のボトルネックを解消し、飛躍的に高速なデータ転送が可能になります。 - 通信プロトコル
NVMeは、SSDの特性に合わせて最適化されたプロトコルです。複数のコマンドキューを同時に処理できるため、HDD向けのAHCIプロトコルよりも高い並列処理性能と低レイテンシを実現します。
- NVMeはAHCIに代わる、SSDに最適化された新しいプロトコルです。AHCIはSATAと組み合わせて使われることが一般的です。
- Thunderbolt3は、外部デバイスを接続するためのハードウェアインタフェース(ポート)の規格であり、通信プロトコルではありません。NVMeはThunderbolt3経由で接続されることもありますが、NVMe自体がThunderbolt3を使うわけではありません。
- 適切です。
NVMeの最も重要な特徴は、高速なPCI Expressを物理的なインタフェースとして利用し、その上で動作する通信プロトコルである点です。 - SATAはHDD向けに開発された古いハードウェアインタフェースです。NVMeはSATAの速度の限界を克服するために開発されました。SATAを使用するSSDも存在しますが、それらの通信プロトコルは主にAHCIです。
big.LITTLEテクノロジの説明として,適切なものはどれか。
- 大きなサイズのデータを限られた物理メモリで扱うために,ハードディスクなどのストレージをメモリのように利用する仮想メモリ技術
- 消費電力が小さく処理能力が低いコアと,消費電力が大きく処理能力が高いコアとを組み合わせたマルチコアプロセッサ技術
- 低速でビット単価が安い大容量メモリと,高速でビット単価が高い小容量メモリとを組み合わせた階層メモリ技術
- ビッグエンディアンのアーキテクチャと,リトルエンディアンのアーキテクチャとを切替え可能なプロセッサ技術
解答・解説
解答
イ [ES 令和5年度秋期 問1]
解説
big.LITTLEテクノロジは、ARM社が提唱するマルチコアプロセッサ技術です。この技術は、CPUコアを2種類に分類し、用途に応じて使い分けることで、電力効率と性能の両立を図ることを目的としています。
- bigコア
処理能力が高く、電力消費が大きい高性能なコア。Webブラウジングやゲームなど、高い処理能力が求められるタスクを実行します。 - LITTLEコア
処理能力は低いものの、電力消費が非常に少ない省電力コア。メールやメッセージの受信、バックグラウンドでの同期処理など、比較的軽いタスクを実行します。
この組み合わせにより、システムは負荷に応じてコアを動的に切り替えることができます。例えば、Webページを開く際にはbigコアが使われ、ページを表示し終わってアイドル状態になるとLITTLEコアに切り替わる、といった動作をします。これにより、必要な時だけ性能を発揮し、通常時は消費電力を抑えることができるため、特にスマートフォンやタブレットなどのモバイルデバイスのバッテリー寿命を延ばすのに貢献しています。
- 仮想メモリ技術は、OSが物理メモリが不足している場合に、ストレージ(ハードディスクなど)の一部をメモリのように見せかける技術であり、big.LITTLEとは異なります。
- 適切です。
- 階層メモリ技術は、キャッシュメモリやメインメモリ、ストレージといった複数のメモリを階層的に配置し、高速なメモリから順に利用することでシステム全体のパフォーマンスを向上させる技術です。
- ビッグエンディアンとリトルエンディアンは、メモリ上でのバイトの格納順序に関するアーキテクチャの違いであり、big.LITTLEテクノロジとは無関係です。
表に示す命令ミックスによるコンピュータの処理性能は何MIPSか。
| 命令種別 | 実行速度(ナノ秒) | 出現頻度(%) |
| 整数演算命令 | 10 | 50 |
| 移動命令 | 40 | 30 |
| 分岐命令 | 40 | 20 |
- 11
- 25
- 40
- 90
解答・解説
解答
ウ [ES 令和5年度秋期 問2]
解説
まず、平均命令実行時間(CPI)の算出し、MIPS値を求めます。計算式は次の通りです。
平均実行時間
= (整数演算命令の実行時間 × 出現頻度) + (移動命令の実行時間 × 出現頻度) + (分岐命令の実行時間 × 出現頻度)
= (10 ns × 0.50) + (40 ns × 0.30) + (40 ns × 0.20)
= 5 ns + 12 ns + 8 ns
= 25 ns
MIPS
= 1秒 / (平均命令実行時間 × 1,000,000)
= 10⁹ナノ秒 / 25ナノ秒 = 40,000,000命令/秒
= 40,000,000 / 1,000,000
= 40 MIPS
したがって、MIPS値は40[MIPS]となります。
パイプラインの深さをD,パイプラインピッチをP秒とすると,I個の命令をパイプラインで実行するのに要する時間を表す式はどれか。ここで,パイプラインは1本だけとし,全ての命令は処理にDステージ分の時間が掛かり,各ステージは1ピッチで処理されるものとする。また,パイプラインハザードについては,考慮しなくてよい。
- (I+D)×P
- (I+D-1)×P
- (I×D)+P
- (I×D-1)+P
解答・解説
解答
イ [ES 令和5年度秋期 問3]
解説
パイプライン処理の特性を把握することです。
- 最初の命令
最初の命令がパイプラインの最後のステージを完了するまでには、Dステージ分の時間、つまりD×P秒かかります。 - 後続の命令
最初の命令がパイプラインに入った後、後続の命令は1ステージごとに完了していきます。言い換えると、最初の命令が完了した後、残りのI−1個の命令は、それぞれ1ピッチ(P秒)ごとに完了します。
したがって、全体の実行時間は
合計実行時間
= (最初の命令が完了するまでの時間)+(残りの命令が完了するまでの時間)
= (D×P)+( (I−1)×P )
= (I+D−1)×P
となります。
ビッグエンディアン方式を採用しているCPUが,表のようにデータが格納された主記憶の1000番地から2バイトのデータを,16ビット長のレジスタにロードしたとき,レジスタの値はどれになるか。ここで,番地及びデータは全て16進表示である。
| 番地 | データ |
| 0FFE | FE |
| 0FFF | FF |
| 1000 | 00 |
| 1001 | 01 |
- 0001
- 00FF
- 0100
- FF00
解答・解説
解答
ア [ES 令和5年度秋期 問4]
解説
ビッグエンディアン (Big-Endian) とは、複数バイトで構成されるデータをメモリに格納する際、最上位バイト (最も大きな桁のバイト) を最も若いアドレス(先頭)に配置する方式です。
今回の問題では、以下の条件が与えられています。
- CPU: ビッグエンディアン方式
- 主記憶のデータ:
- 番地 1000 にデータ 00
- 番地 1001 にデータ 01
- ロードするデータの長さ: 2バイト
ビッグエンディアン方式では、アドレスが若い順に上位バイトから格納されます。
- 最上位バイト: 番地 1000 に格納されているデータ 00 が最上位バイトになります。
- 最下位バイト: 番地 1001 に格納されているデータ 01 が最下位バイトになります。
これら2つのバイトを結合して16ビットのデータにすると、00 が上位8ビット、01 が下位8ビットとなり、レジスタの値は0001となります。
マルチコアプロセッサで用いられるスヌープキャッシュの説明として,適切なものはどれか。
- 各コアがそれぞれ独立のメモリ空間とキャッシュをもつことによって,コヒーレンシを保つ。
- 共有バスを介して,各コアのキャッシュが他コアのキャッシュの更新状態を管理し,コヒーレンシを保つ。
- 全てのキャッシュブロックを一元管理するディレクトリを用いて,キャッシュのコヒーレンシを保つ。
- 一つのキャッシュを各コアが共有することによって,コヒーレンシを保つ。
解答・解説
解答
イ [ES 令和4年度秋期 問1]
解説
スヌープキャッシュ (Snoopy Cache) は、マルチコアプロセッサにおけるキャッシュコヒーレンシ (Cache Coherency) を維持するための一般的なプロトコルです。キャッシュコヒーレンシとは、複数のキャッシュに存在する同じデータのコピーが、常に一貫した値を持つようにすることです。
スヌープキャッシュプロトコルでは、各コアのキャッシュコントローラが共有バス上の通信を常に監視(snoop)しています。
- あるコアが自分のキャッシュにあるデータを更新すると、そのコアは共有バス上に「このアドレスのデータが更新された」という情報をブロードキャストします。
- この信号を受信した他のコアは、自分のキャッシュに同じアドレスのデータが存在するかどうかを調べます。
- もし同じデータがあれば、そのコアは自身のキャッシュのデータを無効化 (invalidate) したり、新しい値で更新 (update) したりして、データの整合性を保ちます。
この仕組みにより、複数のコアが同じデータを同時に扱う場合でも、データの不整合を防ぐことができます。
- 独立したメモリ空間を持つことは、キャッシュコヒーレンシの問題そのものを発生させません。キャッシュコヒーレンシは、複数のコアが共有メモリにアクセスし、そのデータがそれぞれのローカルキャッシュにコピーされることで生じる問題です。
- 適切です。
- ディレクトリベース (Directory-based) のコヒーレンシプロトコルであり、スヌープベースとは異なる方式です。ディレクトリ方式では、中央のディレクトリが各キャッシュブロックのコピーがどこにあるかを追跡し、更新が必要なキャッシュにのみ通知します。共有バスのトラフィックを減らせる利点がありますが、中央管理のオーバーヘッドが発生します。
- 共有キャッシュ (Shared Cache) の方式であり、スヌープキャッシュとは異なります。共有キャッシュはコヒーレンシの問題を物理的に発生させませんが、キャッシュのアクセス競合がパフォーマンスのボトルネックになる可能性があります。スヌープキャッシュは、各コアが独立したキャッシュを持つプライベートキャッシュモデルで使われる技術です。
パイプラインハザード対策に関する記述のうち,アウトオブオーダ実行方式を用いたものはどれか。
- 演算に必要なデータがそろうまで実行が待たされている命令によって,後続の命令の実行が待たされることを防ぐために,既にデータがそろっている後続の命令があれば,それを先に実行する。
- 条件分岐命令の判定結果が分かるまで分岐後の命令実行が待たされることを防ぐために,分岐する確率が高い方の命令を先読みして実行する。
- 前の命令の演算結果がレジスタに書き込まれるまで次の命令の実行が待たされることを防ぐために,プロセッサ内にバイパス経路を設け,演算結果を演算器に直接入力して次の命令を実行する。
- レジスタへのアクセスが競合して後続の命令の実行が待たされることを防ぐために,クロックサイクルを細分化し,サイクル前半を書込み,後半を読出しとすることによって競合なく命令を実行する。
解答・解説
解答
ア [ES 令和3年度秋期 問1]
解説
アウトオブオーダ実行(Out-of-Order Execution)は、プログラムの命令を記述された順序(インオーダ)とは異なる順序で実行する技術です。これにより、データ依存性によるパイプラインストール(停滞)を回避し、プロセッサの利用効率を高めます。
- データハザード
演算結果が次の命令の入力データとして必要となる場合、前の命令が完了するまで次の命令は待機する必要があります。 - アウトオブオーダ実行の解決策
この待ち時間中に、データ依存性のない別の命令があれば、それを先に実行します。これにより、パイプラインのアイドル時間を減らし、全体のスループットを向上させます。
- アウトオブオーダ実行方式を用いたパイプラインハザード対策です。
- 分岐予測 (Branch Prediction) と呼ばれる技術です。分岐命令の実行結果を推測し、パイプラインを止めることなく先に実行しておくことで、制御ハザードを回避します。
- データフォワーディング (Data Forwarding) またはバイパス (Bypassing) と呼ばれる技術です。パイプライン内の演算結果を、レジスタに書き込むのを待たずに、次の命令の入力として直接渡すことで、データハザードによるストールを防ぎます。
- ハザード回避のための基本的なパイプライン設計技術の一つで、レジスタへのアクセスタイミングを調整することで、構造ハザードを回避します。通常、書込みをクロックサイクルの前半、読出しを後半に行うことで、競合を防ぎます。
命令アドレスレジスタ(プログラムカウンタ)に関する記述として,適切なものはどれか。
- 条件分岐命令を実行すると,命令アドレスレジスタの内容が書き換えられることがある。
- 転送命令では,転送元アドレス,転送先アドレス及び転送バイト数を全て命令アドレスレジスタにセットしてから転送を実行する。
- 分岐命令の実行前に,命令アドレスレジスタの内容が命令バッファに保存され,実行後に復帰される。
- 命令アドレスレジスタで示された番地の主記憶には,実行すべき命令のアドレスが格納されている。
解答・解説
解答
ア [ES 令和3年度秋期 問2]
解説
命令アドレスレジスタ(プログラムカウンタ)は、次に実行すべき命令が格納されている主記憶のアドレスを保持するレジスタです。
- 条件分岐命令は、条件が成立した場合に、次に実行する命令のアドレスをジャンプ先のアドレスに書き換えるため、命令アドレスレジスタの内容が更新されます。条件が成立しない場合は、命令アドレスレジスタは通常通り次の命令のアドレスに進みます。
- 転送命令は、転送元・転送先アドレスやバイト数を命令アドレスレジスタにセットすることはありません。これらの情報は、命令内に記述されるか、他の専用レジスタ(アドレスレジスタや汎用レジスタ)に格納されます。
- 分岐命令の実行前に、命令アドレスレジスタの内容が命令バッファに保存されるという記述は不適切です。命令アドレスレジスタは、次の命令のアドレスを保持するだけで、分岐命令の実行後に元の場所に戻る必要はありません。
- 命令アドレスレジスタで示された番地の主記憶には、実行すべき命令そのものが格納されています。実行すべき命令のアドレスが格納されているのは、間接アドレス指定の場合など特定のケースに限られます。
8ビットの方向レジスタ及びデータレジスタで構成されるI/Oポートがあり,各ビットにLEDが一つずつ負論理で接続されている。システム起動時にLEDの不要な点灯を避けるための手続として適切なものはどれか。ここで,レジスタに書き込む値は16進数で表現している。
| 方向レジスタ | MSB | LSB | ||||||
| ビット | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| リセット時の値 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0:入力,1:出力 | ||||||||
| データレジスタ | MSB | LSB | ||||||
| ビット | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| リセット時の値 | 不定 | 不定 | 不定 | 不定 | 不定 | 不定 | 不定 | 不定 |
| 0:入力,1:出力 | ||||||||
- データレジスタに00を書き込んでから,方向レジスタにFFを書き込む。
- データレジスタにFFを書き込んでから,方向レジスタにFFを書き込む。
- 方向レジスタにFFを書き込んでから,データレジスタに00を書き込む。
- 方向レジスタにFFを書き込んでから,データレジスタにFFを書き込む。
解答・解説
解答
イ [ES 令和3年度秋期 問4]
解説
ー
メモリマップドI/OのI/OポートにアクセスするプログラムをC言語で記述するときの注意点として,適切なものはどれか。
- アセンブラのIN/OUT命令を用いたアクセス用関数を呼び出して,アクセスする。
- コンパイラによる最適化を抑止するため,volatile型修飾子を付けて宣言した変数へのポインタとしてアドレスを指定して,アクセスする。
- 他の関数からアクセスされるのを防ぐために,静的広域変数として宣言してアクセスする。
- ポインタではアクセスできないので,配列として実体を宣言してアクセスする。
解答・解説
解答
イ [ES 令和2年度秋期 問1]
解説
メモリマップドI/Oは、入出力(I/O)ポートをメモリ空間上のある特定のアドレスに割り当て、CPUが通常のメモリ操作命令(読み書き)でI/Oデバイスと通信する方式です。これにより、I/O専用の命令(IN, OUTなど)を使用する必要がなくなります。
C言語のコンパイラは、プログラムの実行速度を上げるために様々な最適化を行います。しかし、メモリマップドI/Oにおいては、この最適化が問題を引き起こすことがあります。
- コンパイラの最適化
コンパイラは、変数がメモリ上の同じ場所から何度も読み出されている場合、その値を一度だけレジスタに読み込んでおき、以降のアクセスはレジスタから行うように最適化することがあります。 - I/Oポートの特性
I/Oポートは、同じアドレスを読み書きしても、その値は外部のハードウェアの状態によって頻繁に変化します。例えば、あるアドレスを2回読み出した場合、1回目と2回目で異なる値になる可能性があります。 - 問題点
コンパイラが最適化を行い、I/Oポートの値をレジスタにキャッシュしてしまうと、外部ハードウェアの状態の変化がプログラムに反映されなくなり、意図しない動作を引き起こします。
volatile型修飾子は、「この変数はいつ何時、外部要因によって値が変更される可能性がある」ということをコンパイラに伝えます。これにより、コンパイラは最適化を抑止し、変数の値にアクセスするたびに、必ずメモリ(この場合はI/Oポート)から直接読み書きを行うようになります。
- アセンブラのIN/OUT命令は、I/O専用命令方式(ポートI/O)で使われるもので、メモリマップドI/Oでは使用しません。
- 適切です。
- 静的広域変数にすることは、他の関数からのアクセスを防ぐことにはなりません。アクセスを防ぐには、ファイルスコープにするなどの方法がありますが、メモリマップドI/Oへのアクセスとは直接関係ありません。
- I/Oポートはアドレスを持つため、ポインタを使ってアクセスするのが一般的で適切な方法です。配列として宣言するわけではありません。
外部割込みの要因となる事象として,適切なものはどれか。
- アクセスしようとしたページが主記憶に存在しないので,ページフォールトが発生した。
- システム管理命令を一般ユーザモードで実行しようとしたので,特権命令違反が発生した。
- 数値演算命令を実行したときに,除数が小さ過ぎたので,演算オーバフローが発生した。
- 入出力動作が終了したので,DMAコントローラからプロセッサへの通知が発生した。
解答・解説
解答
エ [ES 令和2年度秋期 問3]
解説
割込みは、プログラムの実行を一時中断し、別の処理を行うための仕組みです。割込みは大きく分けて内部割込み(例外)と外部割込みに分類されます。
- 内部割込み(例外)
CPUが実行中の命令が原因で発生する割込みです。プログラムの論理的な誤りや、特定の命令の実行中に発生する問題が要因となります。 - 外部割込み
CPUの外部にある装置(周辺機器など)からの信号によって発生する割込みです。CPUが実行しているプログラムとは無関係に、独立したハードウェアの動作が完了したことや、何らかの事象が発生したことをCPUに知らせるために使用されます。
- 内部割込みの要因となる事象です。
- 内部割込みの要因となる事象です。
- 内部割込みの要因となる事象です。
- 外部割込みの要因となる事象です。
メモリ
L1とL2の2段のキャッシュをもつプロセッサにおいて,あるプログラムを実行したとき,L1キャッシュのヒット率が0.95,L2キャッシュのヒット率が0.6であった。このキャッシュシステムのヒット率は幾らか。ここでL1キャッシュにあるデータは全てL2キャッシュにもあるものとする。
- 0.57
- 0.6
- 0.95
- 0.98
解答・解説
解答
エ [ES 令和6年度秋期 問3]
解説
キャッシュシステム全体のヒット率は、次のいずれかの条件が満たされた場合にヒットと見なされます。
- L1キャッシュでヒットする
この確率は 0.95 - L1キャッシュでミスし、かつL2キャッシュでヒットする
この確率は (1 - 0.95) × 0.6 = 0.03
よって、キャッシュシステム全体のヒット率は
0.95 + 0.03 = 0.98
となります。
主記憶への1回のアクセスが200ナノ秒で,ページフォールトが発生すると1回当たり更に100ミリ秒のオーバーヘッドが生じるコンピュータがある。ページフォールトが主記憶アクセスの50万回中に1回発生する場合,ページフォールトは1秒当たり最大何回発生するか。ここで,ページフォールトのオーバーヘッド以外の要因は考慮しないものとする。
- 3
- 4
- 5
- 6
解答・解説
解答
ウ [ES 令和4年度秋期 問5]
解説
1回のページフォールトは50万回の主記憶アクセスにつき1回発生します。条件から、ページフォールトが発生する場合の、50万回分のアクセスにかかる時間は以下のようになります。
通常アクセスにかかる時間 + ページフォールトのオーバーヘッド
= 500,000×(200×10⁻⁹) + 100×10⁻³
= 0.2[秒]
よって、ページフォールトは0.2秒で1回発生することから、1秒当たりでは最大5回発生することがわかります。
メモリインタリーブの説明として,適切なものはどれか。
- CPUから主記憶へのアクセスを高速化するために,キャッシュメモリと主記憶との両方に同時にデータを書き込む。
- CPUから主記憶へのアクセスを高速化するために,主記憶内部を複数のバンクに分割し,各バンクを並列にアクセスする。
- CPUと主記憶のアクセス速度の違いによるボトルネックを解消するために,高速かつ小容量のメモリを配置する。
- パイプライン処理を乱す要因をなくすために,キャッシュメモリを命令用とデータ用の二つに分離する。
解答・解説
解答
イ [ES 令和3年度秋期 問3]
解説
メモリインタリーブは、CPUから主記憶へのアクセスを高速化する技術です。主記憶を複数のバンクと呼ばれる領域に分割し、各バンクを並行してアクセスできるようにすることで、連続したデータの読み書きを効率的に行います。これにより、主記憶のアクセス時間を短縮し、システムの全体的な性能を向上させます。
- ライトスルー方式の説明です。
ライトスルー方式は、CPUがデータをキャッシュメモリに書き込む際、同時に主記憶にも書き込むことで、データの整合性を保ちます。 - メモリインタリーブの適切な説明です。
- キャッシュメモリの説明です。
キャッシュメモリは、CPUと主記憶の速度差を埋めるために配置される、高速で小容量のメモリです。 - キャッシュ分割(ハーバードアーキテクチャ)の説明です。
命令とデータを分離することで、パイプライン処理の効率を高めます。
キャッシュメモリのアクセス時間が主記憶のアクセス時間の1/30で,ヒット率が95%のとき,主記憶の実効アクセス時間は,主記憶のアクセス時間の約何倍になるか。
- 0.03
- 0.08
- 0.37
- 0.95
解答・解説
解答
イ [ES 令和2年度秋期 問5]
解説
キャッシュメモリを用いた実効アクセス時間は、キャッシュメモリのアクセス時間とヒット率を掛けたものに、主記憶のアクセス時間とミス率(1-ヒット率)を掛けたものを足すことで求められます。
(キャッシュのアクセス時間×ヒット率)+(主記憶のアクセス時間×(1-ヒット率))
よって、主記憶のアクセス時間をtとすると、実効アクセス時間は
(t×1/30×0.95)+(t×(1-0.95)) ≒ 0.082
であり、主記憶のアクセス時間の約0.08倍となります。
バス
出題なし
入出力デバイス
IoTで用いられるBLE(Bluetooth Low Energy)の特徴として,適切なものはどれか。
- 5GHz帯を使った無線通信である。
- Bluetooth3.0以前の機器と通信方式の互換性がある。
- 最大24Mビット/秒で通信できる。
- デバイスが発信するビーコンの電波の強度を測位に利用できる。
解答・解説
解答
エ [ES 令和4年度秋期 問3]
解説
BLEは、従来のBluetoothに比べて大幅な低消費電力化を実現した無線通信技術です。これにより、コイン電池などの小型バッテリーでも数か月から数年間の稼働が可能になります。主な特徴は以下の通りです。
- 低消費電力
接続時間を短くし、アイドル状態を積極的に活用することで、電力消費を最小限に抑えます。 - ビーコン機能
BLEデバイスは、定期的にビーコンと呼ばれる信号を発信できます。このビーコンの電波強度(RSSI)を利用して、近接検知や屋内測位を行うことが可能です。例えば、スマートフォンがビーコンを受信し、その電波強度からビーコンからの距離を推定することで、特定の場所にいるかどうかを判断する技術として広く利用されています。 - 通信速度とデータ量
低消費電力を優先するため、通信速度は従来のBluetoothに比べて低速です。大量のデータ転送(例:動画や音声)には不向きですが、センサーデータのような少量のデータを断続的にやり取りするのに適しています。 - 周波数帯
従来のBluetoothと同様に、2.4GHz帯の周波数を利用します。 - 互換性
従来のBluetooth(Classic Bluetooth)とは通信方式が異なるため、直接的な互換性はありません。両方をサポートするデバイス(デュアルモード)は存在しますが、単体のBLEデバイスは従来のBluetooth機器とは通信できません。
- BLEは2.4GHz帯の周波数を利用します。
- BLEは従来のBluetoothと直接的な互換性はありません。
- BLEの通信速度は最大2Mbps程度です。
- BLEの特徴として適切です。
IoTに活用される機器間の情報のやり取りに用いられ,パブリッシュ/サブスクライブ(Publish/Subscribe)型のモデルを採用し,アプリケーション層のプロトコルヘッダが最小で2バイトである軽量プロトコルはどれか。
- HTTP
- COAP
- MQTT
- ZigBee
解答・解説
解答
ウ [ES 令和3年度秋期 問5]
解説
MQTT (Message Queuing Telemetry Transport) は、IoTデバイス間の通信を目的として設計された軽量なメッセージングプロトコルです。以下の特徴から、IoT分野で広く利用されています。
- パブリッシュ/サブスクライブモデル
従来のクライアント/サーバーモデルとは異なり、MQTTはブローカーと呼ばれるサーバーを介して通信します。データを送信する側(パブリッシャ)は、特定のトピックにメッセージを送信し、データを受信する側(サブスクライバ)は、関心のあるトピックを購読することでメッセージを受け取ります。これにより、送信側と受信側が直接通信する必要がなくなり、ネットワークの柔軟性とスケーラビリティが向上します。 - 軽量性
MQTTは、ヘッダサイズが最小で2バイトと非常に小さく、通信オーバーヘッドが少ないのが特徴です。これにより、帯域幅や処理能力が限られたIoTデバイスでも効率的に通信できます。 - 低消費電力
通信が断続的で済むため、デバイスのバッテリー消費を抑えることができます。 - 信頼性
3段階のQoS (Quality of Service) レベルをサポートしており、ネットワークの信頼性に応じてメッセージの到達性を保証できます。
- HTTPは、Webブラウザとサーバー間の通信に用いられるプロトコルで、リクエスト/レスポンスモデルを採用しています。ヘッダサイズが大きく、常時接続やリアルタイム性の高い通信には不向きです。
- COAPは、HTTPを軽量化したプロトコルで、IoT向けに設計されています。リクエスト/レスポンスモデルですが、オブザーブ(Observe) 機能によりパブリッシュ/サブスクライブに似た通信も可能です。ただし、最小のヘッダサイズは4バイトであり、MQTTよりも大きいです。
- 正しいです。
- ZigBeeは、IEEE 802.15.4をベースとした無線通信規格であり、プロトコルというよりは物理層やデータリンク層の仕様を定めたものです。低消費電力で近距離のメッシュネットワークを構築するのに適しています。
入出力装置
マイコンと,表に示す二つのセンサーとをI²Cで接続した。センサーからマイコンへのデータの読込みは,アドレス1,内部アドレス,アドレス2の順にアドレスを送信した後に行う。アドレス1は対象センサーアドレスを左に1ビットシフトしてLSBを0にしたものであり,アドレス2は対象センサーアドレスを左に1ビットシフトして,LSBを1にしたものである。4A,01,4Bの順にアドレスを送信したときにマイコンに読み込まれるデータはどれか。ここで,リスタートコンディションは自動的に行われるものとし,アドレスは16進数表記である。
| センサー | センサーアドレス | 内部アドレス | データ |
| ジャイロセンサー | 25 | 00 | X軸角速度 |
| 00 | X軸角速度 | ||
| 加速度センサー | 2A | 00 | X軸角速度 |
| 00 | X軸角速度 |
- X軸角速度
- X軸加速度
- Y軸角速度
- Y軸加速度
解答・解説
解答
ウ [ES 令和6年度秋期 問4]
解説
ー
- ー
- ー
- ー
- ー
回転数が4,200回/分で,平均位置決め時間が5ミリ秒の磁気ディスク装置がある。この磁気ディスク装置の平均待ち時間は約何ミリ秒か。ここで,平均待ち時間は,平均位置決め時間と平均回転待ち時間の合計である。
- 7
- 10
- 12
- 14
解答・解説
解答
ウ [ES 令和4年度秋期 問4]
解説
平均待ち時間は、「平均位置決め時間」と「平均回転待ち時間」の合計で求められます。
- 平均位置決め時間
問題文で5ミリ秒と与えられています。 - 平均回転待ち時間
ディスクが1回転するのにかかる時間の半分に相当します。- 1分間の回転数: 4,200回転
- 1回転にかかる時間: 60秒 ÷ 4,200回転 ≒ 0.01428秒 = 14.28ミリ秒
- 平均回転待ち時間: 1回転にかかる時間の半分なので、14.28/2 ≒ 7.14ミリ秒
よって、平均待ち時間は、
= 平均位置決め時間 + 平均回転待ち時間
= 5ミリ秒 + 7.14ミリ秒
= 12.14ミリ秒
となります。
ハプティックデバイスの説明として,適切なものはどれか。
- 画面上の位置の変化や座標を入力するデバイス
- 心拍,指紋などのバイオ情報を取得するデバイス
- 人に力,振動,動きなどを与えて皮膚感覚にフィードバックを与えるデバイス
- 人の動きを加速度で計測するデバイス
解答・解説
解答
ウ [ES 令和4年度秋期 問6]
解説
ハプティック(Haptic)とは、触覚を意味する言葉です。ハプティックデバイスは、触覚フィードバックを提供する機器の総称であり、ユーザーが機器を操作する際に、振動や圧力、抵抗といった物理的な感覚を再現することで、よりリアルな体験を可能にします。
- 振動フィードバック
スマートフォンやゲームコントローラでよく使われる機能です。タッチ操作やゲーム内でのイベント(爆発など)に合わせてデバイスが振動することで、触覚的な反応を得られます。 - 力覚フィードバック
VR(仮想現実)やロボット操作などで利用されます。デバイスに抵抗や反発力を与えることで、仮想物体に触れたり、重さを感じたりする感覚を再現します。
ハプティックデバイスは、視覚や聴覚に加えて触覚を活用することで、ユーザーインターフェースや体験の質を向上させる重要な技術です。
- ポインティングデバイス(マウス、タッチパッド、デジタイザなど)の説明です。
- 生体認証デバイスや生体情報センサーの説明です。
- 適切です。
- 加速度センサーの説明です。スマートフォンやフィットネスバンドなどに内蔵されており、歩数や向きの変化を検出します。
過去問題(平成期)
平成21年度春期から平成31年度春期に出題された問題です(重複除く)
*現在、解説執筆中です
