next up previous contents
Next: CAMAC ブロック転送 Up: 性能評価 Previous: 性能評価

CAMAC シングルアクション

USB-CAMAC ライブラリを使用してCAMACの シングルアクションの実行時間を測定した. 実行時間の測定方法は USB-CAMAC ライブラリのCAMAC シングルアクションをコー ルする前後で gettimeofday()関数により時間情報を取得し, その差から シングルアクションに要する時間を求めた. 測定は CAMAC Switch Register に 対してシングルアクションのリード/ライトを各々 10000 回行なった. その結果を表 9に示す. 表 9より CAMAC シングルアクションの速度は, 速くないこと がわかる. これは USB のデータ転送速度が遅いのではなく転送を行なうまでの セットアップに時間がかかっていることによる. これは 表 9 の 24ビット データと 16ビット データで転送時間が同じであること からもわかる.

 

CAMAC シングルアクション処理時間のより詳しい情報を得るため, デバイスドライバのソースコードに do_gettimeofday() 関数を埋め込み, scsi_read()関数内部での処理時間の測定も行なった(表 10). 表より send_cdb() 関数に約 3ms, recv_dat() 関数に約2ms の処理時間を要していることがわかる. send_cdb() では USB 制御転送が recv_dat() では USB バルク転送がそれぞれ実行されて いる. 他の転送に比べて制御転送はプロトコル上のオーバヘッドが大きい ためこの結果は妥当である.

 



Kazuo Nakayoshi
Wed Jun 27 22:15:09 JST 2001