カテゴリ:1.コンピュータ > 1.2 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

【正解】ウ

 

1.SIMDとMIMD

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

(1)SIMD(Single Instruction Multiple Data)

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

(2)MIMD(Multiple Instruction Multiple Data)

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

2.SIMDとMIMDの過去問を解いてみよう

(1)H28春

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






【正解】イ
エはMIMD

(2)H27秋

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






【正解】ウ

(3)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台当たりのプロセッサの性能とプロセッサ数の積に等しくならない要因として,最も適切なものはどれか。
ア 主記憶へのアクセスの競合
イ 通信回線を介したプロセッサ間通信
ウ プロセッサのディスパッチ処理
エ 割込み処理
【正解】ア

 

1.パイプライン

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

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

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

2.スーパーパイプライン

パイプラインを強化するために、1サイクルの処理時間を短くする。
PentiumXeonでさらに強化

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

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

3.スーパースカラ

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

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

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

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

4.VLIW(Very Long Instruction Word)

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

5.マルチプロセッサ

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

6.プロセッサ高速化技術の違いの過去問を解いてみよう

(1)H28秋午前

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

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






【正解】ウ

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

↑このページのトップヘ