さんごー日記。

映画や本やゲームの感想をゆるく記録したり、プログラミングの勉強をゆるく記録するゆるい日記です。

応用情報処理技術者試験の過去問題を解きながらメモ。4日目。

応用情報処理技術者試験の過去問題を解きながらメモの4日目です。

ネトゲにも過去問にも飽きて、掃除や夕飯の支度も全部終わってまたネトゲ初めて、また飽きて過去問を見始める。そんなループ。

 

 

CPUのスタックポインタの説明

CPUのスタックポインタの説明として正しいものを選ぶといった内容。

正確な事を知らなくても言葉の響きと説明の感じを照らし合わせたらなんとなく分かるような問題でした。

まず「ポインタ」という言葉から説明の最後が「~のアドレス」ってなってるやつに絞り込んで、「スタック」っぽい説明を選ぶ。それで一応正解でした。

 

いったんCPUについて少しおさらいしておこう。

下記サイトを参考にさせてもらいました。

スタックと割り込み ―― プログラムが動く仕組みを知ろう|Tech Village (テックビレッジ) / CQ出版株式会社

 

自分なりにまとめてますがあくまでメモなので理解が間違ってたらごめんなさい。

 

レジスタ

CPU内部に存在するメモリ領域。

 

プログラムカウンタ(プログラムレジスタ)

レジスタの一種。CPUが次に実行するメモリ上の命令のアドレスを指している。

命令を呼び出すたびにプログラムカウンタの値を増やしている。

分岐や関数呼び出しの際も命令に応じた値に更新される。

 

スタックポインタ

レジスタの一種。関数呼び出しでプログラムカウンタの値が更新された際に、関数が終わった後に呼び出し元に戻すためのメモリ上のスタック領域のアドレスを指している。

呼び出しもとに戻る際にスタックの一番上から値を取り出してプログラムカウンタの値を更新するという仕組み。

これは言葉だけで書くとわけわからないな…

 

関数フレーム(スタックフレーム)

関数ごとに必要な値(引数やローカル変数など)を格納にしたスタック内の領域。スタックポインタからの相対アドレスでアクセスされる。

 

割り込み処理

プログラムカウンタによる処理の流れを変えるための仕組み。

割り込みにも種類によって優先順位があるようですが、その優先順位がどのように決まっているのかなど、調べ出すと奥が深そう。

 

命令レジスタ(インストラクションレジスタ)

現在実行中の命令を格納するレジスタ。 

プログラムカウンタが指しているメインメモリ上の命令をフェッチ(読み出し)して格納しておく場所。

 

フラグレジスタ(ステータスレジスタ、コンディションコードレジスタ、フラグバイト)

どんだけ呼ばれ方があるねんという感じですが、フラグを格納しておくレジスタ。

割り込みの許可状態、条件分岐に必要な演算結果の状態などが格納される。

ハードウェアのアーキテクチャごとにいろいろ違うらしい。

情報処理技術者試験ではCOMETⅡという架空の単純化されたハードウェアを元に問題が作られているので、このCOMETⅡの仕様を把握しておく必要があります。COMETⅡでは3種類のフラグレジスタがある模様。

 

 

ハードウェア周りは仕事でも触った事が少ないので調べる事が多い…

調べ始めるとなかなか面白い。

 

 

平成29年度のに対応した過去問題集はこちら。

応用情報処理技術者試験は、その時その時のトレンドを取り入れた問題が出題されます。最新の情報をチェックしておくと良いでしょう。 

平成29年度【春期】応用情報技術者 パーフェクトラーニング過去問題集 (情報処理技術者試験)

平成29年度【春期】応用情報技術者 パーフェクトラーニング過去問題集 (情報処理技術者試験)

 

 

 

今回は以上です。

またよろしくお願いいたします。