これは単なる宿題なので詳細な回答は期待できません。私は皆の時間を無駄にしたくありません。コンピュータアーキテクチャ命令宿題
MIPSコードのようなものについて質問があります。
我々は、命令有するメモリのメモリアーキテクチャである'M'
機械有する:
'mmul.d a,b,c'
b
とc
で64ビット浮動小数点値を取得し、メモリアドレスa
に格納されています。今、私は'mmul.d a,b,c'
lw r1,a // load 32 bits starting at 'a'
sw r1,a // store 32 bits starting at 'a'
pack f0,r1,r2 // pack two 'r' registers into one 'f' register
unpack f0,r1,r2 // unpack one 'f' register into two 'r' registers
mul.d f0,f2,f4 // perform floating-point multiply f2 * f4
:
はその後、我々は、一つ以上の'J'
マシン命令に'M'
機械の取扱説明書を翻訳小さい組み込み'J'
のマシンを持っています
しかし私は64ビットのマシンメモリアドレスが32ビットレジスタにどのようにロードできるのか分かりません。私たちは2でメモリアドレスをdevideことができれば、私は考えて何を:私たちは、ストアワードでレジスタに値を格納ジュストことができるので
lw r1, b
sw r2, b[0]
sw r3, b[1]
lw r1, c
sw r4, c[0]
sw r5, c[1]
pack f2, r2, r3
pack f4, r4, r5
mul.d f0, f2, f4
まず私は、荷重のポイントだか知っていると言葉を格納しないでください。
これらの32ビットと64ビットが互いにどのように通信するのかについての説明や説明があれば参考になります。