3

私は、Computer Organization を受講するまで、Java が移植可能である理由を常に理解していると思っていました。

これは、C プログラムの最初から最後までの私の解釈です。

C プログラム --> コンパイラ --> アセンブリ --> マシン コード --> ISA --> マイクロ アーキテクチャ (コンピュータが ISA を解釈する方法) --> 論理ゲート --> 回路 --> デバイス

コンパイラが ISA の知識を持っている必要がある場所。また、アセンブリとマシン コードは ISA によって異なります。

Java はそのままです: (JVM 内部): Java プログラム --> コンパイラ --> バイトコード

bytecode は JVM の ISA です。

したがって、JVMにはISA(バイトコード)を解釈するための独自のマイクロアーキテクチャもあると思います。

これは正確ですか?

したがって、全体的なサイクルは次のようになります: (JVM 内) Java プログラム --> バイトコード (ISA) --> JVM マイクロ アーキテクチャ --> ホスト ハードウェア

また、マイクロ アーキテクチャがプロセッサに実装されている場合、JVM はホストのプロセッサの 1 つを使用する必要がありますか?

4

2 に答える 2