esvm0003
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* エミュレータの作り方
-(by [[K]], 2020.06.27)
** (0)
-仮に、ES-VMのバイトコードから任意のCPU/OSに向けて、自由...
-これができるようになったら、あとはx86のコードをES-VMのバ...
-・・・ここではx86を例に出しましたが、ARMやPowerPCとかで...
-そこで、ここでは、x86のコードをES-VMに変換する際のアイデ...
** (1) エンディアンの問題
-x86は全面的にリトルエンディアンを前提とした仕様になって...
-一方で、ES-VMはエンディアンに依存したプログラムを許容し...
--参考: [[esvm0002]]の(1)
-ということで、x86のプログラムをどうにかしてエンディアン...
----
-私の考えているアルゴリズムはこうです。
-まずメモリ全体を32bit-intの配列として表現します。
-そしてプログラムがメモリアクセスをする際には、メモリアド...
--これはかなり遅くなるやり方ですが、結局、このやり方が一...
--何らかの方法で、「この個所に限ってはこのチェックを省略...
----
-それにしても、どうしてこんなひどい変換をしなければいけな...
-そもそもCPUは、メモリに対しては基本的にいつも32bitでアク...
-そして多くのプログラムはその機能をあてにして作られてしま...
-この点をもっとはっきりさせるために、次のような思考実験を...
-もしインテルが、「メモリアクセスは32bitアラインされてい...
-もしそうなっていたら、ES-VMが変換する場合も、アドレスが4...
-ということで、x86のハードウェアが相応に過剰だったから、...
** (2) 自己書き換えプログラムの問題
-x86のプログラムの一部は、プログラム内で動的に生成したバ...
-これは高性能なプログラムを作るには必須の手法だと思うので...
----
-ということで、ES-VMに変換済みのコードが書き換えられたか...
-これは、例えばこうします。メモリを4KBとか、32バイトとか...
-一方、たとえば関数を呼び出す際には、呼び出し先のコンパイ...
* こめんと欄
#comment
終了行:
* エミュレータの作り方
-(by [[K]], 2020.06.27)
** (0)
-仮に、ES-VMのバイトコードから任意のCPU/OSに向けて、自由...
-これができるようになったら、あとはx86のコードをES-VMのバ...
-・・・ここではx86を例に出しましたが、ARMやPowerPCとかで...
-そこで、ここでは、x86のコードをES-VMに変換する際のアイデ...
** (1) エンディアンの問題
-x86は全面的にリトルエンディアンを前提とした仕様になって...
-一方で、ES-VMはエンディアンに依存したプログラムを許容し...
--参考: [[esvm0002]]の(1)
-ということで、x86のプログラムをどうにかしてエンディアン...
----
-私の考えているアルゴリズムはこうです。
-まずメモリ全体を32bit-intの配列として表現します。
-そしてプログラムがメモリアクセスをする際には、メモリアド...
--これはかなり遅くなるやり方ですが、結局、このやり方が一...
--何らかの方法で、「この個所に限ってはこのチェックを省略...
----
-それにしても、どうしてこんなひどい変換をしなければいけな...
-そもそもCPUは、メモリに対しては基本的にいつも32bitでアク...
-そして多くのプログラムはその機能をあてにして作られてしま...
-この点をもっとはっきりさせるために、次のような思考実験を...
-もしインテルが、「メモリアクセスは32bitアラインされてい...
-もしそうなっていたら、ES-VMが変換する場合も、アドレスが4...
-ということで、x86のハードウェアが相応に過剰だったから、...
** (2) 自己書き換えプログラムの問題
-x86のプログラムの一部は、プログラム内で動的に生成したバ...
-これは高性能なプログラムを作るには必須の手法だと思うので...
----
-ということで、ES-VMに変換済みのコードが書き換えられたか...
-これは、例えばこうします。メモリを4KBとか、32バイトとか...
-一方、たとえば関数を呼び出す際には、呼び出し先のコンパイ...
* こめんと欄
#comment
ページ名: