2017-05-01 19 views
1

特に、フェッチステージで、どのような制御信号が使用されているか、その値がマルチサイクルプロセッサのRタイプ命令のものであるかどうかを知りたい。Rタイプ命令の制御信号

私は以下を推論しました。 Fステージでは、命令をフェッチしてプログラムカウンタをインクリメントする必要があります。

命令をフェッチするには、メモリにアクセスする必要があります。ただし、Rタイプ命令の制御信号テーブルは、memReadおよびmemWriteに0を示します。したがって、命令をフェッチするためにどの制御信号がアサートされるべきかわかりません。コンピュータの構成上のPatttersonとHenesseyの教科書で

、それがアサートされなければならない「命令メモリを読むための信号を制御します」と述べています。

  1. 現在、私が主張しているPCsourceとPCwritecond:

    私の質問は次のとおりです。私はどの信号でなければならないのか分からない。

  2. 命令メモリがデータメモリと異なるのですか?
  3. メモリから命令をフェッチするためにどの制御信号をアクティブにすべきですか? memWritememReadための信号を制御

答えて

0
命令メモリとデータメモリを組み合わせたマルチサイクル・プロセッサにおいて

もちろんフェッチ段階中0とIRWriteアサートされています。

ハリス&ハリスによれば、任意の命令の最初のステップは、PCに保持されたアドレスのメモリから命令をフェッチすることです。

FSMはリセット時にこの状態になります。 メモリを読み取るときは、IorD = 0です。そのため、アドレスはPCから取得されます。 IRWriteは、 が命令レジスタに命令を書き込むためにアサートされ、IRです。一方、PC は、次の命令を指すように4だけインクリメントされるべきである。 ALUが他の目的に使用されていないため、プロセッサは命令をフェッチすると同時に、プロセッサを使用して PC + 4を計算することができます。 ALUSrcA = 0ですので、 SrcAは、PCです。 ALUSrcB = 01は、そうSrcB 4. ALUOp = 00一定であるので、ALUデコーダは ALU追加を行うことALUControl = 010を生成します。この新しい値でPCを更新するには、PCSrc = 0および PCWriteがアサートされます。

フェッチステップ中の制御信号。

IORD = 0

AluSrcA = 0

ALUSrcB = 01

ALUOp = 00

PCSrc = 0

IRWrite = aseerted

PCWrite =アサートされた