応用情報処理技術者試験の対策サイトです。 応用情報処理技術者試験の午前問題を中心とした基礎用語の解説を中心に掲載します。書き始めたばかりなので、内容はまだまだ不十分です。
カテゴリ:

3.コンピュータ > 3.1 CPU

割込みとは、システムやCPUの実行中に、他の処理や命令を割り込ませることです。たとえば、外部割込みとして、「ハードウェアが異常を検知したときに発生する割込み(H17秋FE午前問20)」があります。

■H21春AP午前
問10 外部割込みの要因となるものはどれか。
ア 仮想記憶管理における存在しないページにアクセスしたときのページフオールト
イ システム管理命令を一般ユーザモードで実行したときの特権命令違反
ウ ハードウェア異常などによるマシンチェック
エ 浮動小数点演算命令でのオーバフローなどの演算例外

正解はウ
それ以外は、内部割込みです。

■H17秋FE午前
問20 外部割込みに分類されるのはどれか。
ア 主記憶に存在しないページをアクセスしようとしたときに発生する割込み
イ 入出力要求など,  OSに対してサービスを依頼したときに発生する割込み
ウ ハードウェアが異常を検知したときに発生する割込み
エ 浮動小数点演算でオーバフローが起こったときに発生する割込み

正解はウ

■H20秋FE
問18 内部割込みに分類されるものはどれか。
ア 商用電源の瞬時停電などの電源異常による割込み
イ ゼロで除算を実行したことによる割込み
ウ 入出力が完了したことによる割込み
エ メモリパリティエラーが発生したことによる割込み

正解はイ

MIPS(million instructions per second)
コンピュータの処理性能の一つで、言葉の通り、1秒間に100万個の命令をどれだけ実行できるかを表します。

■過去問
H29秋FE
問9 平均命令実行時間が20ナノ秒のコンピュータがある。このコンピュータの性能は何MIPSか。

ア 5  イ 10  ウ 20  工 50

正解は エ

■H26春
問8 100 MIPSのCPUで動作するシステムにおいて,タイマ割込みが1ミリ秒ごとに発生し,タイマ割込み処理として1万命令が実行される。この割込み処理以外のシステムの処理性能は,何MIPS相当になるか。ここで,CPU稼働率は100%,割込み処理の呼出し及び復帰に伴うオーバヘッドは無視できるものとする。
ア 10     イ 90     ウ 99     エ 99.9
【正解】イ


■H25春
問9 表に示す命令ミックスによるコンピュータの処理性能は何MIPSか。
H25h-問9
ア 11     イ 25     ウ 40     エ 90

【正解】ウ

プロセッサの並列処理方式には、データおよび命令が単数か複数かによって、いくつかの方式に分けられます。その中で、代表的なのがSIMDとMIMDです。

SIMD(Single Instruction Multiple Data)
 SIMD は、1つ(Single)の命令(Instruction)で、複数(Multiple)のデータ(Data)に対して並列処理を行います。かつてのプロセッサは、仕事を1つずつしか実行できませんでした。たとえば、各営業所の売上データを調べる仕事があれば、営業所を順に問い合わせるのです。しかし、SIMDによる並列処理ができるプロセッサの登場により、同じ仕事を同時に行えるようになりました。具体的には、「売上データを教えて」という一つの命令で、全営業所のデータに一斉に問い合わせることができます。
応用情報技術者試験を勉強する成子 
ここでいうデータとは、具体的に何なのでしょうか。
ファイルですか?それとも、データベースですか?
あまり厳密に考える必要はありませんが、広い意味で「メモリ」と考えてください。ファイルやDBもメモリにキャッシュされて処理されるからです。

MIMD(Multiple Instruction Multiple Data)
 MIMDは、現在の商用超並列コンピュータの多くが採用しているマルチプロセッサの処理方式です。SIMDは、1つの命令でしたが、MIMDは複数の命令(Multiple Instruction)を並列に実行できます。先の売上データの例でいうと、MIMDによる並列処理によって、売上データだけなく、利益データ、顧客一覧などの複数の問い合わせを一斉に行えるのです。

■H28春
問9 並列処理方式であるSIMDの説明として,適切なものはどれか。
ア 単一命令ストリームで単一データストリームを処理する方式
イ 単一命令ストリームで複数のデータストリームを処理する方式
ウ 複数の命令ストリームで単一データストリームを処理する方式
エ 複数の命令ストリームで複数のデータストリームを処理する方式

【正解】イ
エはMIMD

■H27秋
問9 複数のデータに対して1個の命令で同一の操作を同時並列に行う方式で,マルチメディアデータなどを扱うCPUに採用されているものはどれか。
ア MIMD     イ MISD     ウ SIMD     エ SISD

【正解】ウ

■H25春 (■H27秋問9)
問8 現在の商用超並列コンピュータの多くが採用しているマルチプロセッサの処理方式の一つであり,プロセッサごとに異なる命令を並列に実行させるものはどれか。
ア CISC     イ MIMD     ウ RISC     エ SIMD

【正解】イ

■H29秋
問8 パイプライン制御を適切に表しているものはどれか。ここで,図中の記号Dは解読,Eは実行,Fは命令フェッチとする。
H29-問8
【正解】ウ

問10 IoTでの活用が検討されているLPWA(Low Power,Wide Area)の特徴として,適切なものはどれか。
ア 2線だけで接続されるシリアル有線通信であり,同じ基板上の回路及びLSIの間の通信に適している。
イ 60GHz 帯を使う近距離無線通信であり,4K,8Kの映像などの大容量のデータを高速伝送することに適している。
ウ 電力線を通イ言に使う通信技術であり,スマートメータの自動検針などに適している。
エ バッテリ消費量が少なく,一つの基地局で広範囲をカバーできる無線通信技術であり,複数のセンサが同時につながるネットワークに適している。
【正解】エ

■H27秋
問8 CPUのパイプライン処理を有効に機能させるプログラミング方法はどれか。ここで,CPUは命令の読込みとデータのアクセスを分離したアーキテクチャとする。
ア CASE文を多くする。
イ 関数の個数をできるだけ多くする。
ウ 分岐命令を少なくする。
エ メモリアクセス命令を少なくする。
【正解】ウ

■H27春
問9 スーパスカラの説明として,適切なものはどれか。
ア 処理すべきベクトルの長さがベクトルレジスタよりも長い場合,ベクトルレジスタ長の組に分割して処理を繰り返す方式である。
イ パイプラインを更に細分化することによって,高速化を図る方式である。
ウ 複数のパイプラインを用い,同時に複数の命令を実行可能にすることによって,高速化を図る方式である。
エ 命令語を長く取り,一つの命令で複数の機能ユニットを同時に制御することによって,高速化を図る方式である。
【正解】ウ

問10 CPUにおける投機実行の説明はどれか。
ア 依存関係にない複数の命令を,プログラム中での出現順序に関係なく実行する。
イ パイプラインの空き時間を利用して二つのスレッドを実行し,あたかも二つのプロセッサであるかのように見せる。
ウ ニつ以上のCPUコアによって複数のスレッドを同時実行する。
エ 分岐命令の分岐先が決まる前に,あらかじめ予測した分岐先の命令の実行を開始する。
【正解】エ

■H26秋
問7 パイプライン方式のプロセッサにおいて,パイプラインが分岐先の命令を取得するときに起こるハザードはどれか。
ア 構造ハザード     イ 資源ハザード
ウ 制御ハザード     エ データハザード
【正解】ウ

■H26春
問9 メイン処理,及び表に示す二つの割込みA,Bの処理があり,多重割込みが許可されている。割込みA,Bが図のタイミングで発生するとき,0ミリ秒から5ミリ秒までの間にメイン処理が利用できるCPU時間は何ミリ秒か。ここで,割込み処理の呼出し及び復帰に伴うオーバヘッドは無視できるものとする。
H26h-問9
ア 2     イ 2.5     ウ 3.5     エ 5
【正解】ア

問10 命令のアドレス部から実効アドレスを生成する方式のうち,絶対アドレス方式はどれか。
ア 基準アドレスとしてスタックポインタの値を用い,命令のアドレス部を基準アドレスからの変位として加算し,実効アドレスを生成する。
イ 基準アドレスとして命令アドレスレジスタの値を用い,命令のアドレス部を基準アドレスからの変位として加算し,実効アドレスを生成する。
ウ 命令のアドレス部で指定したメモリの内容を,実効アドレスとする。
エ 命令のアドレス部の値をそのまま実効アドレスとする。
【正解】エ

■H25春
問10 CPUのパイプラインハザードのうち,制御ハザードの発生原因として,適切なものはどれか。
ア キャッシュミス
イ 先行する命令の結果に依存する演算命令
ウ ハードウェア資源の競合
エ 分岐命令

【正解】エ

■H25春
問14 密結合マルチプロセッサの性能が,1台当たりのプロセッサの性能とプロセッサ数の積に等しくならない要因として,最も適切なものはどれか。
ア 主記憶へのアクセスの競合
イ 通信回線を介したプロセッサ間通信
ウ プロセッサのディスパッチ処理
エ 割込み処理
【正解】ア

.僖ぅ廛薀ぅ
▲后璽僉璽僖ぅ廛薀ぅ
スーパースカラ
VLIW
ゥ泪襯船廛蹈札奪

.僖ぅ廛薀ぅ
「パイプライン」は元々、天然ガスなどの輸送路。
CPUにおけるパイプラインは不明
IntelのMPUでも当然のように採用されている。

パイプラインに関して過去問(H28年秋午前問11)では、「各命令のフェッチ,デコード,実行,演算結果の出力などの各段階を並列に処理する」とあります。

a
(H28年秋午前問8参照より)

▲后璽僉璽僖ぅ廛薀ぅ
パイプラインを強化するために、1サイクルの処理時間を短くする。
Pentium→Xeonでさらに強化

スーパーパイプラインに関して過去問では、「パイプラインを更に細分化することによって,高速化を図る方式である(H27春高度AM1問4)」とあります。

d
(H28年秋午前問8をもとに、筆者が改変)

スーパースカラ
複数のパイプラインを並列で処理
現在のMPUではすべて採用されている。

スカラ(scalar)は、正しくは「スケーラ」
「スケールの大きい人」などのスケールである。

スーパースカラに関して過去問では、「複数のパイプラインを用い,同時に複数の命令を実行可能にすることによって,高速化を図る方式である(H27春高度AM1問4)」、「命令を並列実行するためのアーキテクチヤであって,複数の命令を同時に実行するとき,命令を実行する演算器をハードウェアによって動的に割り当てる方式(H24秋高度AM1問4)」、「パイプラインを複数用意し,同時に複数の命令を実行する(H23秋SM午前2問19)」とあります。

b
(H28年秋午前問8参照より)

VLIW(Very Long Instruction Word)
英語の意味のまま。命令語長を長くして、1命令で複数の処理をできるようにする。
VLIWに関して過去問では、「命令語を長く取り,一つの命令で複数の機能ユニットを同時に制御することによって,高速化を図る方式である(H27春高度AM1問4)」とあります。

ゥ泪襯船廛蹈札奪
言葉のまま。プロセッサが複数。
ユニプロセッサ(CPUが一つ)では、いくらパイプライン制御などをしても限界がある。

パイプラインハザードとは、パイプライン処理が正常に行えなかったり、やり直しが必要になることです。(※ハザード(hazard)は「危険」などの意味。パイプラインが正常に機能しない危険と考えればいいでしょう。)

パイプラインハザードにはいくつかの種類がありますが、代表的なのは、分岐命令による制御ハザードです。分岐命令の判定が分かる前に先読みしてパイプライン処理で実行したとしても、判定結果によって、やり直しや取り消し処理が必要になります。

応用情報技術者のシラバスでは、パイプラインハザードに関して、データハザード,構造ハザード,制御ハザードの3つがキーワードとして掲載されています。試験では、制御ハザードだけを覚えましょう。

H27秋AP午前
問8 CPUのパイプライン処理を有効に機能させるプログラミング方法はどれか。ここで,  CPUは命令の読込みとデータのアクセスを分離したアーキテクチヤとする。
ア CASE文を多くする。
イ 関数の個数をできるだけ多くする。
ウ 分岐命令を少なくする。
エ メモリアクセス命令を少なくする。

⇒ウ

H26秋SM午前2
問19 パイプラインハザード対策に関する記述のうち,アウトオブオーダ実行方式を用いたものはどれか。
ア 演算に必要なデータがそろうまで実行が待たされている命令によって,後続の命令の実行が待たされることを防ぐために,既にデータがそろっている後続の命令があれば,それを先に実行する。
イ 条件分岐命令の判定結果が分かるまで分岐後の命令実行が待たされることを防ぐために,分岐する確率が高い方の命令を先読みして実行する。
ウ 前の命令の演算結果がレジスタに書き込まれるまで次の命令の実行が待たされることを防ぐために,プロセッサ内にバイパス経路を設け,演算結果を演算器に直接入力して次の命令を実行する。
エ レジスタヘのアクセスが競合して後続の命令の実行が待たされることを防ぐために,クロックサイクルを細分化し,サイクル前半を書込み,後半を読出しとすることで競合なく命令を実行する。

⇒ア
アの前半は、データハザードの説明。そのデータが無いと、次が実行できない場合です。
イの前半は、制御ハザードの説明。分岐結果によって、次の動作が変わりますからね。
エの前半は、構造ハザードの説明(たぶん)。アクセスが競合することで、命令の実行がストップします。
  
H26秋AP午前 
問7 パイプライン方式のプロセッサにおいて,パイプラインが分岐先の命令を取得するときに起こるハザードはどれか。
ア 構造ハザード
イ 資源ハザード
ウ 制御ハザード
エ データハザード

⇒ウの制御ハザード(分岐ハザード)

H25春AP午前
問10 CPUのパイプラインハザードのうち,制御ハザードの発生原因として,適切なものはどれか。
ア キヤツシュミス
イ 先行する命令の結果に依存する演算命令
ウ ハードウェア資源の競合
工 分岐命令

⇒エの分岐命令

マルチプロセッサシステムに関して、応用情報技術者試験のシラバスでは、以下の記載があります。
(11)マルチプロセッサシステム
複数のプロセッサを搭載し,高速化や高信頼化を実現したシステムについて,種類,特徴, 仕組み,マルチプロセッサシステムを適切に組み合わせた基盤設計を理解する。

用語例 疎結合マルチプロセッサシステム,密結合マルチプロセッサシステム,タンデム 結合マルチプロセッサシステム,アレイコンピュータシステム,アムダールの法 則,同期, SMP(Symmetric Multi Processing:対称型マルチプロセッシング), クラスタ,トーラス,ハイパキューブ,ハイパツリー

問19 タイムクウォンタムが2秒のラウンドロビン方式で処理されるタイムシェアリングシステムにおいて,プロセス1〜3が逐次生成されるとき,プロセス2が終了するのはプロセス2の生成時刻から何秒後か。ここで,各プロセスはCPU処理だけで構成され,  OSのオーバヘッドは考慮しないものとする。また,新しいプロセスの生成と中断されたプロセスの再開が同時に生じた場合には,新しく生成されたプロセスを優先するものとする。
28-問19
正解は、エです。

問17 五つのタスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は,表のとおりである。優先度“高”のタスクと,優先度“低”のタスクのうち一つだけを同時に実行する。実行を開始してから,両方のタスクの実行が完了するまでの間のCPUの遊休時間が最も短いのは,どの優先度“低”のタスクとの組合せか。ここで,I/Oは競合せず,  OSのオーバヘッドは考慮しないものとする。
また,表の(  )内の数字は処理時間を示すものとする。
28-問17
正解は、ウです。

問11 プロセッサの実行効率を上げるVLIWの説明はどれか。

ア 依存関係がない複数の命令を,プログラム中での出現順序とは異なる順序で一つずつ実行する。
イ 各命令のフェッチ,デコード,実行,演算結果の出力などの各段階を並列に処理する。
ウ 同時に実行可能な複数の命令をまとめて一つの命令として,同時に実行する。
エ 複数のパイプラインを用いて複数の命令を同時に実行させる。
正解は、ウです。

ア 依存関係がない複数の命令を,プログラム中での出現順序とは異なる順序で一つずつ実行する。⇒アウト・オブ・オーダー
イ 各命令のフェッチ,デコード,実行,演算結果の出力などの各段階を並列に処理する。⇒パイプライン
ウ 同時に実行可能な複数の命令をまとめて一つの命令として,同時に実行する。 ⇒VLIW
エ 複数のパイプラインを用いて複数の命令を同時に実行させる。 ⇒スーパ―スカラ

こちらも参照ください。
http://sm.seeeko.com/archives/52997973.html

このページのトップヘ