[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:520

From: SASADA Koichi <ko1 atdot.net>
Date: Wed, 29 Jun 2005 14:12:52 +0900
Subject: [yarv-dev:520] Re: Bytecode Fetch Optimization for a Java Interpreter

 ささだです。

MAEDA Atusi wrote:
> ハンドラは64バイトおきに置いてあるんですよね.
> 64バイトにハンドラが収まらなかったら,他へ飛ぶんでしょう.
> で,たいてい収まるし,「他へ飛ぶ」場合は分岐予測がヒットする.

 なるほど。YARV の

> 
> 
>>2.2 stack caching
> 
> 
>> ここでの(WB: Write-backと比較しての)利点として、load -> store という
>>順番になって、WB だと store-load という順番になって、ロードが遅れてしま
>>うらしい、という話が書いてあるんだけど、何処の時点の話をしているのかわか
>>らない。
>>
>>・スタックへ値を push
>>  stack[++sp] = top_of_stack_register; // store
>>  top_of_stack_register = val;         // load
>>
>> この順番で、store-load という順番になってしまい、load の遅延が隠蔽でき
>>なくてよろしくない、という話? しかし、load って何を load だ?
> 
> 
> たとえば iload a とかの話では.

  store top-of_stack_regsiter // store
 load local(a)               // load

 という順番の話ですか。なるほど。


>>4.2 Improvement by PHC
>>
>> 凄い速くなってますね。パックしておくとこんなに有利なのか。
>>
>>5.1 Reduction of Memory Access
>>
>> PHC によってメモリアクセスが劇的に減ってますね。SC よりもフェッチ部分
>>のほうがアクセスがあるってことか。
> 
> 
> dynamic superistructionでも,フェッチはかなり減りますからね.まあいろ
> んな方法があると.
> 
> 
>>5.2 Increase in I-Cache Miss Ratios
>>
>> DS よりも PHC のほうがミスが増えているのはなんでだろう。DS は 3 状態
>>で、PHC は 4 状態だからか? でも、ミス率は DS の 2 倍くらいになっている
>>気がする。
> 
> 
> スタック状態には偏り(局所性)があるけど,バイトコードのアラインメントに
> は偏りがないってことでは.

 なるほど。

>> しかし、これらの評価はいったいどうやってとったんだろう。とても詳しい評
>>価になっているんだけど。
> 
> POWER3のhardware performance monitorを使ったとか書いてあるけど.

 う、見落としておりました。

-- 
// SASADA Koichi at atdot dot net
//

--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

       514 2005-06-28 19:36 [ko1 atdot.net       ] Bytecode Fetch Optimization for a Java Interpreter
       515 2005-06-28 19:55 ┣[shiro lava.net      ]                                       
       517 2005-06-29 11:26 ┗[maeda-yarv atusi.org]                                       
->     520 2005-06-29 14:12  ┗[ko1 atdot.net       ]