[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: please review the diff against SMC 91Cxx driver



筒井です。

<200002240832.RAA24942@lively.mitaka.yokogawa.co.jp>の記事において
Keiki_SUNAGAWA@yokogawa.co.jpさんは書きました。

> mac68kのNuBusの場合はlong wordの各バイトプレーン毎にメモリー
> やレジスターを割り付けるかどうかが選べるので(この設定はカー
> ドの設定ROMに書いてあります)、面倒なことになっています。

> 実際にはそういうカードは見たことがありませんが、たとえばアド
> レスの下4ビットが0x0、0x1、0x3の番地にカードのメモリーをマッ
> プすることもできます。strideの方法では1バイトおき、2バイトお
> き、…のマップにしか対応ませんよね。

うーん、そんな構造なんですか。

bus_space の建前からいえばそういう bus ならばそれに対応する
関数を書く(stride よりも柔軟に対応できる定義を用意してやる)のが
正当でしょうけど、 scottr 氏は overhead の点からそのような
実装には消極的だとか聞いたような気もします。

consistency な書き方とコードの performance はだいたい相反する
(ように見える)のですが、 macppc の場合は reg_map[] 使う場合も
stride 実装上での場合も目に見える性能差はありませんでした。

mac68k で実際どうなるかはやってみないとわかりません。
define が関数になったり間接参照や動的計算が増えるのは
確かなんですが、それが実際どれくらい数値として現れてくるのか……
---
tsutsui@ceres.dti.ne.jp