有限会社オービット
AuBit

PC選択ガイドライン

このページでは、パラレルポート接続型USBアナライザ「USBストリームスコープ US-F100A/US-L10A」をご使用するにあたって、 快適にご利用いただくためのホストPCの選択ガイドラインを説明しています。

USBストリームスコープ US-F100A を使用するのに最適なホストPCは?

IBM PC/AT互換機の世界では多岐に渡るCPU/チップセットが使用されており、 いずれの場合も「100%完全互換」ではなく「ほぼ互換」となっているのが現状です。 よって、微妙な部分で動作が違ったり、パフォーマンスに差異が発生することが多分にあり得ます。
そのため、「USBストリームスコープを使用するのに最適なホストPCは?」とのご質問に対しても、 弊社でそのすべてのPC/構成について動作テストを行うことは事実上不可能であり、特定の機種名を挙げておすすめすることが非常に難しい状況です。

そこで、ここではUSBストリームスコープを使用するのに適当なホストPCを選択するための「ガイドライン」を、 弊社独自の調査で行った結果とともにご紹介します。

USBストリームスコープを快適に使用するためのガイドライン

「USBストリームスコープを使用するのに最適なホストPC」の条件として、弊社では次のような条件が挙げられると考えています。

  1. パラレルポートの転送速度が速いこと
  2. パラレルポートでの転送において、「DMA転送モード」がスムースに行えること
  3. CPUの処理能力が高いこと
特に、USBの「バルク転送」の内容を滞りなく記録しようとする場合は、特に条件(A)と(B)が重要になってきます。

調査内容の詳細については次項以下を見ていただくものとして、 弊社独自の調査による現段階(2001年5月)での「ホストPC選択ガイドライン」を要約すると次のようになります。
(これらは、弊社内で確認できた動作環境での結果に基づくものあり、記述の内容がすべてのPCシステムに該当する訳ではありません)

弊社にて、実際に確認されたものの中でも特に

がパラレルポートの転送速度を十分に持ち、またDMAを有効利用してスムースに動作しました。また、
は、パラレルポートの転送速度はやや不足(約900KByte/sec)するものの、全体的にスムースに動作しました。

CPUの能力(クロックやアーキテクチャの差異)について

「CPUの能力が高い」=「パラレルポートの転送速度が速い」と考えられがちですが、 弊社の調査では「パラレルポートの転送速度という点ではCPU自体の能力は重要ではない」との結果が出ています。

PC機種名
(またはマザーボード型式)
CPU/FSB/PCIバス
クロック設定(MHz)
転送速度(KByte/s)
Windows98 Windows2000
I-Req
+
DMA
DMA I-Req I-Req
+
DMA
DMA I-Req
(CPU)
Pentium3 750MHz(100×7.5)
(マザーボード)

ASUS Tek社製 CUV4X
NorthBridge VT82C694Z
SouthBridge VT82C686A
(SuperI/O機能内蔵)
750/100.2/33.41 1210 1170 210 1210 1070 210
500/66.9/33.45 1210 1170 210 1210 1070 210
637/85.0/28.34 1020 990 180 1020 920 180
600/80.0/40.00 1460 1420 250 1460 1280 250
1000/133.0/33.25 - - - 1200 1070 210
(CPU)
Pentium3 600MHz(100×6)
(マザーボード)

A-Open社製 AX64Pro
NorthBridge VT82C694X
SouthBridge VT82C686A
(SuperI/O機能内蔵)
600/100/33 1210 1160 210 - - -
800/100/33 1210 1160 200 - - -
495/110/36.3 1330 1280 230 - - -
660/110/36.3 1330 1280 230 - - -
770/110/36.3 1330 1280 220 - - -
880/110/36.3 1330 1280 220 - - -

上記のように「CPUクロック」を変更しても、パラレルポートの転送速度にはほとんど影響していません。 よって、「パラレルポートの転送速度」と「CPUの能力」との因果関係は少ないと考えられます。
一方、PCIバスのクロックを変化させると、これに応じて転送速度が変化しています。 実際には、PCIバス自体が転送速度のボトルネックになっているとは考えにくいため、 周辺の「ISAバスの転送速度向上」や「スーパーI/O相当部分の動作クロックアップ」に伴って、 全体的にパラレルポートの転送速度が向上しているものと推測されます。

このようにCPUの能力が高くなってもパラレルポートの転送速度には影響しませんが、CPUの能力が高くなると以下のようなメリットがあります。

チップセットとパラレルポートの転送速度について

前述の通り、弊社の調査では「パラレルポートの転送速度は、チップセットに依存する部分が大きい」と言えます。
今日のPCにおけるチップセットは、大別して「ノースブリッジ」「サウスブリッジ」「スーパーI/O」の3つに分類できますが、 これらには様々な種類があり、またチップセットの「組み合わせ」によっても転送速度が変わってくることが考えられます。

チップセットの組み合わせとパラレルポートの転送速度に関して弊社で調査した結果につきましては、 こちらをご覧下さい。

フルスピードUSBデバイスでのバルク転送における実際の転送レート

一般に、フルスピードデバイス(12Mbps)でのバルク転送では

12Mbit/sec ÷ 8 = 1.5MByte/sec

の転送が行われていると考えられていますが、実はそうではありません。実際には、

などの理由により、実際にUSBバス上に流れるデータ(プロトコル管理のオーバーヘッド部分を含む)は

約1.2MByte/sec
程度となります。
したがって、USBストリームスコープ US-F100A がFull-Speedでのバルク転送を滞りなく記録できるための最低条件は、 「パラレルポートの転送速度が1.2MByte/sec以上」となっていることです。

上記の「1.2MByte/sec」という値は、どこから出てくるのでしょうか?これは、下記の手順で算出できます。
(チップセットVIA社製VT82C686Aの場合、弊社独自の調査結果)
  1. バルク転送(パケットサイズ64Byte)における、「バルクトランザクション」を構成する総バイト数

    トークンパケット(4Byte) + データパケット(2+64+2Byte) + ハンドシェイクパケット(2Byte) = 74Byte

  2. 「1フレーム期間(1ms)」内に生成されるバルクトランザクションの総数

    17(バルクトランザクション/フレーム)

    USBバスの使用帯域は常に10%分だけ空けておく(コントロール転送などのための予約)ことがUSB規格で規定されているため、 上記のように1フレームあたりでは17バルクトランザクションに制限されているものと思われます(パケット長が64バイトの場合)。
    (USB Ver.1.1規格には、1フレーム期間内に最大19バルクトランザクションが発生し得るように書かれていますが、 VIA社製VT82C686Aチップセットでは17バルクトランザクション/フレームとなっていました)

  3. 「1フレーム期間内」に発生する総バイト数

    4(SOFパケット) + 74(上記) × 17(上記) = 1262Byte

    SOFパケットは、「フレーム番号通知」のために各フレームの先頭で送られます。

  4. 1秒間に発生する総バイト数

    1000(1sec=1000フレーム) × 1262(上記) = 1262000バイト/sec ≒ 1.204MByte/sec
    (1MByte = 1024KByte = 1048576Byteで計算)

このうち、プロトコル管理のオーバーヘッドを除いた真のデータ部分(ペイロード)の転送レートは

1000 × 17 × 64 = 1088000Byte/sec = 1.0376MByte/sec

が上限となります。

2004年発売モデルで動作確認できた機種
メーカー機種備考
NECPCVY22XRX9UEFL
LL750/9D
LL900/9D
LL900/AD
BIOS上でECPに固定
DELLLATITUDE X300 + X300専用メディアベイBIOS上でECPに固定
東芝AX/2528PDS割り込みを外すと動作可能