DSP アーキテクチャと命令実行におけるこの基本概念を理解しようとしています。
「ハーバード アーキテクチャに基づいて、CPU はデータと命令語を同時にフェッチできます...- 命令フェッチは前の命令実行中に行うことができ、命令実行の終了を待たずに、次の命令が実行されるまでプロセッサの動作を停止する必要もありません。取得中です。」
しかし、コンピューター アーキテクチャに関する私の知識が限られているため、次のような疑問が生じます。プログラム メモリからロードされた場合、次のサイクルで 2 つのオペランドをロードする必要があります。ロードされたインストルメントが失われたため、その実行に何が起こる可能性がある!? それとも、メモリからデータ レジスタにデータをロードすることによって実行がすぐに行われるのが間違っている!?"
** コード例: MPYF3 *(AR0)++, *(AR1)++, R0
*補遺:レジスタファイルがないため、データをレジスタにロードする必要はありません-メモリを介して直接行われます!! だから私の意見では、最初のインストの後。次のサイクルで、prev によって指定された必要なデータ (オペランド) をフェッチしました。インストルメント 機能単位によってメモリを介して操作 (instr. exec.) され、その間に次の命令が操作されます。ワードがフェッチされ、オペランドのアドレスも更新されます (実行の結果として、アドレス レジスタ ALU を介して)。すべては、この操作 (データ アクセス、算術演算、アドレス更新、命令フェッチ) のそれぞれが、独特の物理アーキテクチャを介して処理されるためです。
この私の解釈を断言できる人はいますか!? DSP ハーバード アーキテクチャで同時データおよび命令アクセスを利用するサイクルにわたって繰り返される典型的な命令の説明は、非常に高く評価されています。
前もって感謝します