- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!データ解析
研究室のUさんの仕事を頻繁に邪魔しながら,
シミュレーション結果のデータ解析.
!CRubyとJRuby
MacOSX 10.5.7のCRuby(ruby 1.8.6)と,JRuby 1.3.1の話
p "\000\000\000\001".unpack("I*")
p "\001\000\000\000".unpack("I*")
を,CRubyで実行すると,
[16777216]
[1]
JRubyで実行すると,
[1]
[16777216]
になる.エンディアンの違いなのね.
ソース/ディスティネーションに対応したエンディアンでpack/unpackするときは
* n: big endian unsigned 16bit
* N: big endian unsigned 32bit
* v: little endian unsigned 16bit
* V: little endian unsigned 32bit
を使うのね.
ちゃんと注意事項として[packテンプレート文字列|http://www.ruby-lang.org/ja/man/html/pack_A5C6A5F3A5D7A5ECA1BCA5C8CAB8BBFACEF3.html]に書いてあった.
!Harnessing Horizontal Parallelism and Vertical Instruction Packing of Programs to Improve System Overall Efficiency
{{category 論文読み}}
DATE'08
「どこかで話を聞いてきた」と,K先生が紹介してくださったので読んでみた.
IRFとVLIWを組み合わせて,性能を落とさずに消費電力を削減したという話.
ちなみに紹介された方の論文は,
"Orchestrating Horizontal Parallelelism and Vertical Instruction
Packing of Programs to Improve System Overall Efficiency"
Hai Lin, Yunsi Fei
IEEE TRANSACTIONS ON COMPUTERS, VOL.58, NO.7 JULY 2009
MISA - 複数のIRF中のエントリへのインデックスを持つ
IDステージの前半で,IRFな実命令に対応づけられる
コードサイズ削減/フェッチのエネルギー節約
VLIWにIRFを実装する
(1)VLIW命令をそのままパックする.手間は一緒だけど柔軟性がない
(2)各インストラクションスロット毎に解析/パックする.
(2)がいいのだけど,VLIWの命令スケジューリングがこわれちゃうのでISAに
*PISA
*SISA
を導入してスケジューリング.
結果,約70%程度の消費電力削減に成功,という論文