ウィキペディアでマシンコード、マイクロコード、バイトコードについて読んでいました。
マイクロコードはマシンコードよりも低レベルのものであると思われますが、バイトコードはより高レベルのようです.
何かが機械語よりも低レベルである可能性があり、より一般的には、両方が機械語とどのように関係しているかがよくわかりませんでした。
2 に答える
これらの用語については、ウィキペディアの Web ページを参照してください。右側の列には、次のように記載されています。
ソース コードは、通常はプレーン テキストとして人間が読めるプログラミング言語を使用して記述された、コメントを含む可能性のあるコードの集まりです。マイクロコードは、マシン命令、ステート マシン データ、またはその他の入力を一連の詳細な回路レベルの操作に変換します。命令をより自由に設計および変更できるように、マシン命令を基礎となる電子機器から分離します。
「何かが機械語よりも低レベルである可能性があり、より一般的には、それらの両方 (バイトコードとマイクロコード) が機械語とどのように関連しているかがよくわかりませんでした。」
1 つの例えは、マシン コードが CPU にどのマイクロコード (サブルーチン) を使用するかを指示することです。
ほぼ半世紀前、私はIntel 8080を暗記していたことを知っていました。現代のプロセッサははるかに大きな命令セットを持っており、今日のお気に入りのプロセッサの機械語命令セット全体に精通している人は、一部の人でさえなく、ほとんどの人であると言っても過言ではありません。
特定のプロセッサ アーキテクチャでは、マシン コードはほとんどのプロセッサで重複しています。たとえば、Intel に最適化されたほとんどのマシン コードを AMD プロセッサで実行できますが (その逆も同様です)、それぞれのマイクロコードは相互互換性がありません。
特定のプロセッサに依存し、使用されているプロセッサに応じて異なるサブルーチンを選択できるようにするフックを持たないプログラムがあります。多くの場合、これらはドライバーまたは可能な限り高速に実行するように設計された高度に最適化されたプログラムです (または最小限のメモリ、または別のトレードオフ) - これらのプログラム (またはドライバー) は通常、製造元の特定のバージョンの CPU に対応するために複数のバージョンで利用できます。これは、各コアが異なる命令セットをサポートし、メモリが制限されているARM CPUで特に一般的です (そのため、さまざまなプロセッサに対応することは非現実的であり、組み込みシステムでは無意味です)。
上記はわかりやすい説明を目的としています。上記のリンクをクリックすると、より正確で詳細な説明が表示されます。