1

命令を実行するためにパイプライン化されたアーキテクチャを扱う場合、ハザードを回避する方法の 1 つは、遅延スロットを使用するか、特定の命令がその上の行で計算された値にアクセスできないようにするルールを使用することです。私の理解では、依存命令が待機している間に非依存命令を実行できるように、アセンブラは相互に依存しない命令を移動しようとします。この機能は可能ですか、それとも実際のコンパイル時間がないインタープリター言語の場合に発生しますか?

(上記で述べたことが私の理解のギャップを反映している場合は、修正してください。これらの概念は私にとって新しいものであるため)。

4

2 に答える 2

0

マインクラフトのコンピューターを考えてみてください。実際には、それはインタープリターです。つまり、命令を読み取り、コンパイルではなくリアルタイムで入力ディレクティブを実行する内部関数/ルーチンを選択するプログラムです。

インタープリター自体 (この場合は minecraft プログラム) は CPU レベルの微調整を利用できるかもしれませんが、アプリケーション (レッドストーン コンピューター) は利用できません。

レッドストーン コンピューターが抱える問題の 1 つは、それが非常に低レベルであることです。インタープリターは、コンピューターを実装するための構成要素をほとんど提供しません。その結果、全体が非常にデータ駆動型になり、CPU が先読みして最適化する機会が最小限に抑えられます。

より高いレベル - したがって、インタープリターをエンコードする複雑な構成体ほど、そのプログラムは CPU 調整の恩恵を受けます。

しかし、いいえ、純粋に解釈された言語ではできません。

于 2013-12-11T05:14:07.677 に答える