問題タブ [risc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
709 参照

assembly - CISC パイプライン CPU を正しく実装する方法は?

私は大学の卒業プロジェクトに取り組んでいます。私はすでに 1 つのパイプライン化された CPU を作成し、コースの 1 つで Logisim プログラムでシミュレートしましたが、今度は CPU を FPGA にフラッシュし、この CPU 用のゲームも作成する必要があります。そこで私は自分のアーキテクチャを改善しようと考え、またいくつかの機能を変更しました。問題はメモリへのアクセスにあり、最初の写真で私の最初の CPU を見ることができます。ロジックは次のとおりです: オペコードの読み取り -> デコードとオペランドの準備 -> 必要に応じてメモリの読み取り -> JMP(CJE、CJNE...) かどうかのチェック -> 算術および論理計算 -> レジスタまたはメモリへの応答の書き込み (ここで遅延したため、必要に応じてすべてのパイプラインを 1 クロックして、メモリ読み取り操作と競合しないようにします - メモリ ハザードの回避)。

パイプ1

CPU ダイアグラム

ここで、ゲームにグラフィックを挿入したいと思い、PPU (Picture Processing Unit) と連携するセグメントをもう 1 つ追加しました。

パイプ2

また、実行セグメントの後にメモリ セグメントを配置する例をインターネットでたくさん見ましたが、これは私には理解できません。メモリからMEM変数を読み取り、それをAに追加する必要がある場合、ADD A、MEMのようなオペコードを実装するにはどうすればよいですか? それとも私は何かが欠けていますか?それを手伝ってくれませんか?