2016年12月31日土曜日

[平成26年度春] 午後 問2解説

[問題文・解答]


平成26年度4月に実施された基本情報技術者試験の午後試験の問題・解答はIPA公式ページからダウンロード出来ます。(以下リンク)

[問題概要]


この問題は、選択問題で問2〜問7のうち4問を選択する必要があります。
出題分野はハードウェアで、問題の題材は機械語命令です。
機械語命令を処理する際の流れについて問われます。2進数⇄16進数の変換が出来ないと厳しい問題です。

[設問1]


設問中の命令1983hは16進数で表現されており、これを2進数に変換すると
0001 1001 1000 0011
となります。図1より、op=0001, r=10, x=01, b=10, d=000011となります。
x,b共に0以外なので表2の実行アドレスの算出式に従うと、実行アドレスは
(x) + (b) + d =  (01) + (10) + 000011
= (1) + (2) + 0003h = 0003h + 0002h + 0003h
= 0008h
となり、「オ」が正解です。

[答] オ

[設問2]


番地0010hの命令から0016までの命令を1つずつ実行していく必要があります。

a,b) まず番地0010hの命令は、12C0h→0001 0010 1100 0000
よって、op=1, r=0, x=2, b=3, d=0となります。
この時、実行アドレスは(2) + (3) + 0 = 0002h + 0001h = 0003h
op=1であるので、表3より(r)=(0)=0004h→0004h=0100と実行アドレス0003h=0011の論理和を求めて、レジスタ0に格納します。論理和は、0007hとなるのでこの命令実行直後のレジスタ0には0007hが格納され、CCは01が設定されます。

次に番地0011hの命令は、24C0h→0010 0100 1100 0000
よって、op=2, r=1, x=0, b=3, d=0となります。
この時、実行アドレスは(3) + 0 = 0001h
op=2であるので、表3より(r)=(1)=0003h→0003h=0011と実行アドレス0001h=0001の論理積を求めて、レジスタ1に格納します。論理積は、0001hとなるのでこの命令実行直後のレジスタ1には0001hが格納され、CCは01が設定されます。レジスタ0の値は変わらず0007hのままです。

以上よりaには0007h、bには0001hが当てはまります。

c) 次に番地0012hの命令は、38C2h→0011 1000 1100 0010
よって、op=3, r=2, x=0, b=3, d=2となります。
この時、実行アドレスは(3) + 0002h = 0001h + 0002h = 0003h
op=3であるので、表3より(r)=(2)=0002h→0002h=0010と実行アドレス0003h=0011の排他的論理和を求めて、レジスタ2に格納します。排他的論理和は、0001hとなるのでこの命令実行直後のレジスタ2には0001hが格納され、CCは01が設定されます。

次に番地0013hの命令は、4815h→0100 1000 0001 0101
よって、op=4, m=2, x=0, b=0, d=10101=21となります。
この時、実行アドレスは21です。
op=4であるので、m=2=10とCC=01の論理積を求めます。
論理積は00なので何もせずに次の命令に移ります。よって「ア」が正解です。

d) 次に番地0014hの命令は、4C16h→0100 1100 0001 0110
よって、op=4, m=3, x=0, b=0, d=10110=22となります。
この時、実行アドレスは22=0016hです。
op=4であるので、m=3=11とCC=01の論理積を求めます。
論理積は01なので実行アドレス0016hに分岐します。

次に番地0016hの命令は、28C1h→0010 1000 1100 0001
よって、op=2, r=2, x=0, b=3, d=1となります。
この時、実行アドレスは(3) + 1 = 2
op=2であるので、表3より(r)=(2)=0001h→00Fh=1111と実行アドレス0010の論理積を求めて、レジスタ2に格納します。論理積は、0001hとなるのでこの命令実行直後のレジスタ2には0001hが格納され、CCは01が設定されます。従って「ア」が正解です。

[答] a) キ b) ア c) ア d) ア

上記の解説は問題と解答を元に自分なりの考え方を記述しており、間違っている部分もあるかと思いますので、ご了承願います。また、誤りについては正しい考え方をご指摘・ご教授頂けると助かります。


0 件のコメント:

コメントを投稿