パフォーマンステストの詳細
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
戻る