2007年08月07日

H16 情報 第7問

IV-7
あるパイプライン化されたCPUは,通常の命令は1クロックで実行可能であるが,メモリからデータを読み込む際に1クロック,分岐命令を実行する際に1クロックストールする。このCPUが下に示すプログラムの一部を実行した場合の平均命令実行クロック数を計算し,最も近い値を次の中から選べ。

    LDI R1, #10
    LDI R2, #100
    LDI R3, #0
Loop: LD R4,(R2)
    ADD R3, R3, R4
    ADDI R2, R2, #4
    SUBI R1, R1, #1
    BNEZ R1, Loop
END:

各命令の意味は以下の通りである。
LDI Rx,#Y:レジスタRxに値Yを格納する。
LD Rx, (Ry):Ryの内容が示す番地のデータをメモリから読み出し,Rxに格納する。
ADD Rx, Ry, Rz: Ry+RzをRxに格納する。
ADDI Rx, Ry,#Z:Ry+ZをRxに格納する。
SUBI Rx,Ry,#Z:Ry-ZをRxに格納する。
BNEZ Rx, label:Rxが0でなければlabelに分岐する。

@ 1.22
A 1.28
B 1.32
C 1.38
D 1.41


解答:C

LDI/ADD/ADDI/SUBI:1クロック
LD/BNEZ:2クロック

R1レジスタをカウンタにして10回ループするので、全部で53命令で73クロック。
73÷53=1.377…
posted by noumea at 12:00| 東京 ☁| Comment(0) | TrackBack(0) | 技術士過去問 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。