パフォーマンステストの詳細

  LRS 2249W を使って、16-bit の読み出し性能を評価した (2249W は
  バッファ型 ADC ではないので、ブロック転送は意味が無く、単なる
  速度計測のためのテスト)。

  1-6 では、irq_handler の最初に output register のビットを ON、
  最後に OFF した時のパルス幅を測定した。
  7 は CC/7000 のバグ回避によるオーバーへッドが計測可能か測定を
  試みたもの (結論としては計測不能)。

  1 = 間に何もしない (オーバーへッド、ただし回路のクリアは含む)
  2 = 間に camacCcycle16 を 12 回実行
  3 = 間に camacCblkrd16 を 12 word 分実行
  4 = 間に camacCblkrd16 を  2 word 分実行
  5 = ($2-$1)/12 で求めたシングルアクションの時間
  6 = ($3-$4)/10 で求めたブロック転送一回分の時間
  7 = gate から output register ON までの時間

                1      2      3      4      5      6      7
  CC7700PCI   10.2    87.0   70.0   21.4   6.4    4.9    112
  CC7700ISA   16.6   130.0  101.0   32.8   9.5    6.8    114
  CC7000      14.2   114.0   72.0   27.2   8.3    4.5    113
                                                (単位はμsec)

  面白い事に、ブロック転送 (つまり一回の I/O アクセス) は CC/7000 
  が最も速い。昔ながらのハードロジックの方が、FPGA によるものより
  効率が良いという至極尤もな結論のようだ。CC/7000 のシングルアクシ
  ョンが遅くなっているのは、I/O ポートの構成上、NAF が一回でセット
  できない (NA と F が異なる I/O ポートに割り当てられている) 影響
  と思われる。従って 24-bit 読み出しならば PCI が有利なのは明らか
  だが、需要があまり無いので…。

  あまり関係無いと思うが、使用機の構成は以下の通り。

      CPU: Celeron 667 MHz (FSB 66.7MHz)
      M/B: CB61 rev. B+ (440BX chipset)
      MEM: 256 MB

戻る