[H8-ML(5498)] Re:トランジスタ技術 3 月号と4月号
From: Sawaguchi Yuji <issho@xxxxxxxxxxxxxxxxx>
Date: 2005年02月25日(金)19時16分18秒
澤口@一升金です。

Shigeru Makinoさんの<4215BEBB.3060504@xxxxxxx>から
>そのまま素直に、
>「CでRISCを高速に走らせたいなら、
>配列の添え字は止め、
>ポインターを上手に使うのが良い。」
>で、良かったかな?
たしか、SHの場合はポインタによるメモリアクセスは
・グローバルベースをどこぞのレジスタにロード
  *場合によってはロード側、セーブ側別々のベースが必要
・16bitオフセット付ロードニーモニックでどこぞのメモリか
 らレジスタにデータロード(間接アドレッシングとしたけれ
 ば、この16bitオフセットもレジスタのどれかに格納しておく)
・同じく、16bitオフセット付セーブニーモニックでどこぞの
 メモリにレジスタからデータをセーブ
・連続転送であれば、レジスタ間接アドレッシングとし、1ワー
 ド転送後にオフセット値格納レジスタをインクリメントしてお
 く
という風になるんじゃないかと思います。
ペンティアムのように1命令で実効アドレスをインクリメントし
ながらメモリ->メモリ転送するニモニックは無いわけです。

あとは、ちょっとクロスGCCの吐き出すアセンブラソースを眺めな
いと確かめられませんが、
 p++ = q++;
がどう展開されているか興味あります。

(なにしろ、今入院中なもんで、データシートも参考書も手元にな
く、具体的なことがあまり調べられないんで皆さんの参考にはなら
んかも知れないですが)

スレッド概略
[4557(R)](起点)
 └[5469(U)]
   └[表示中]
     └[5501(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]