以下に jal 機能を追加しようとしていますが、それがどのように機能するのかがわかりません。古いPC+4
値を$ra
レジスタに格納し、制御を関数に転送して、制御を返す$ra
ことはわかっていますが、ハードウェアに実装するにはどうすればよいですか?
9092 次
2 に答える
2
あなたがしなければならないことが2つあります。
- レジスタの入力にマルチプレクサを追加して、書き込むデータとして PC+4 値を選択できるようにします。適切な制御信号を使用すると、「jal $ra」命令の追加効果として PC+4 を書き込むことができます。
- return "jr $ra" 命令を実装します。次の PC を選択するロジック チェーンにマルチプレクサを追加して、命令が「jr xxx」の場合にレジスタ ファイルからの「read data 1」を次の PC として選択できるようにする必要があります。
于 2011-09-20T00:22:57.430 に答える
0
PC+4 を受け取り、それをレジスタ ファイルの「書き込みデータ」入力に送信する新しい行を追加します。マルチプレクサを追加する必要があります。また、"Write Register" フィールドが $RA のアドレスに設定されていることを確認する必要があります。レジスタ $RA は、ほとんどの場合、レジスタ番号 31 です。
于 2014-10-16T03:10:35.873 に答える