Pentium 搭載 VME CPU ボード のデータ収集基本性能の評価
仲吉一男a

安 芳次b

kazuo.nakayoshi@kek.jp

Yoshiji.YASU@kek.jp

a 高エネルギー加速器研究機構田無分室
b 高エネルギー加速器研究機構
素粒子原子核研究所オンライングループ

Abstract
Intel Pentium II プロセッサ搭載の VME CPU ボード に OS として Linuxをインストールし，データ収集に関する基本性能の評価を行なった．その結果Programmed I/O によるデータ転送スピード は，A32D32 モード でリード が
4.2 MB/s ，ライトが 6.7 MB/s であった．DMA によるデータ転送スピード
は，A32D32 BLT モード で リードが 18 MB/s ，ライトが 24 MB/s ，A32D64
MBLT モードでリードが 34 MB/s ，ライトが 31 MB/s であった．VMEbus からの割り込みに対する応答時間は 16 s であった．これにより，1997 年にデスクトップ PC と PCI-VMEbus Adaptor で構築した Linux を用いた VMEbus
ベースのデータ収集システムと同様なシステムを Pentium プロセッサ搭載のVME CPU ボード でも実現することができた．

目 次
1

2

3

4

5

背景と目的
1.1 背景 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :1.2 目的 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :1

VMIC7696 の概要

3

2.1 PC/AT Features : : : : : : : : : : : : : : : : : : : : : : : : : : : : :2.2 VMEbus Features : : : : : : : : : : : : : : : : : : : : : : : : : : : : :33

性能評価に使用したハード およびソフト ウエア
3.1 性能評価に使用したハード ウエア : : : : : : : : : : : : : : : : : : : :3.2 性能評価に使用したソフトウエア : : : : : : : : : : : : : : : : : : : :3.2.1 universe ド ライバーの概要 : : : : : : : : : : : : : : : : : : : :4

CPU 基本性能テスト

5

4.1 nbyte ベンチマークプログラムによる性能評価 : : : : : : : : : : : : :4.2 DAQBENCH ベンチマークプログラムによる性能評価 : : : : : : : :5
6

DAQ 基本性能テスト

6

5.1 PIO によるデータ転送テスト : : : : : : : : : : : : : : : : : : : : : :5.2 DMA によるデータ転送テスト : : : : : : : : : : : : : : : : : : : : :5.3 VMEbus からの割り込み応答テスト : : : : : : : : : : : : : : : : : :

1
2

4
4
4

7
7
7

6

他の VME CPU ボード との DAQ 性能の比較
96.1 データ転送能力の比較 : : : : : : : : : : : : : : : : : : : : : : : : : : 10
6.2 VMEbus 割り込み応答時間の比較 : : : : : : : : : : : : : : : : : : : : 10

7

まとめ

11

謝辞

11

参考文献

11

A

ソフト ウエアのインスト ール
13
A.1 Linux のインストール : : : : : : : : : : : : : : : : : : : : : : : : : : 13
A.2 universe ド ライバーのインストール : : : : : : : : : : : : : : : : : : : 13
A.3 universe ド ライバのロード : : : : : : : : : : : : : : : : : : : : : : : : 15i

1 背景と目的
1.1

背景

我々は 1997 年に PCI-VMEbus Adaptor SBS Bit3 社の 616/6171) を用いた
VMEbus ベースの PC/Linux データ収集 (DAQ) システムを構築した2; 3) ．このシステムの特徴は，(1) コストパフォーマンスの優れていること，(2) PC の OS として
Linux を採用していることである．現在そのシステムは，長基線ニュートリノ振動実験4) や VME のテストベンチで使用されている．そのハード ウエアの構成は，デスクトップ PC の PCI bus と VMEbus に各々アダプタを挿入し，それらを接続したケーブルを介して PC から VMEbus へアクセスを行うというものであった．このスタイルは，Sun Microsystems の SPARCstation を Sbus-VMEbus Adaptor を介して VMEbus へアクセスする DAQ システム5) と対比することができる．しかし，前者の方がコストパフォーマンスにおいて優れている．このように PC/Linux を用いたコストパフォーマンスに優れた DAQ システムは，今後の DAQ システムの主流になる可能性を秘めている．
一方，VMEbus システムでは VMEbus 上に CPU ボードを配置するスタイルは，
組み込み機器分野や高エネルギー物理実験ではいわゆる業界標準のスタイルであり，種々の VME CPU ボードがこれまで使用されてきた．例えば，Motorola 68K ，Intel
x86，Sun SPARC を搭載した VME CPU ボード がそうである．近年 PC/AT 機のCPU としてよく知られている Intel Pentium プロセッサを搭載した VME およびCompactPCI ボード が各社からリリースされている．つまり，デスクトップ PC と同じ使用・開発環境を VMEbus や CompactPCI 上に構築できるのである．また，Pentium プロセッサ搭載のボード はサポートする OS が多いことも特徴のひとつである．例えば，我々が DAQ 性能の評価に使用した VME CPU ボード はサポートされている OS が Windows9x, WindowsNT, Windows CE, RTX, Solaris, QNX, Linuxと多彩である．我々は上述の PC/Linux による VMEbus DAQ システムと同様の使用・開発環境を実現するため OS として Linux をインストールすることにした．
Linux は POSIX 仕様でフリーの UNIX 互換 OS で，現在は多くの商用デ ィス
トリビューションが存在する．また Linux は，Intel 系 CPU 以外にも SPARC やPowerPC，Alpha など数多くのプラットホームに対応している．一般に Intel 系プロ
セッサを搭載した PC のコストパフォーマンスはワークステーション (WS) に比べて高いため，OS として Linux をインストールすると高性能な PC UNIX マシンとなる．これまで WS で行っていた実験データの解析やシュミレーションを PC/Linuxに移行する動きは国内外ですでに起こっている6) ．
そこで我々は，Pentium プロセッサ搭載の VME CPU ボード (Pentium CPU
ボード ) を用いて従来と同程度の性能を持つ DAQ システムの構築が可能であるかどうかを調べることにした．

1

1.2

目的

前節で述べたように，Pentium CPU ボード と Linux により，コストパフォーマンスに優れ柔軟性のある DAQ システムが構築できる可能性がある．そこで Pentium
CPU ボード に Linux をインストールし，その DAQ の基本性能を測定・評価してVMEbus ベースの DAQ システムの構築が可能かどうかを調べた．
我々は，以下の項目を満たす VME CPU ボードを評価対象機種とし，機種の選定を行った．
■ 最新の Pentium プロセッサーを搭載していること．機種選定の時点 (1998 年
11 月) では最新の Pentium プロセッサーは Pentium II 400MHz．
■ PCI-VMEbus のインターフェイスとして TUNDRA 社の UNIVERSE7) チップを使用していること．
■ 100BaseTx もしくは 10BaseT のインターフェイスを標準で装備していること．
■ サポートしている OS の種類が多いこと．
上記の項目を満たす CPU ボードとしては，VMIC 社8) の VMIVME7696 と SBS
or 社9) の VP6 であった．両者は性能や装備では，ほぼ同等であったが CERN でVMIC 社の VMIVME7586(Pentium 100MHz) に Linux をインストールしてテストした実績があるので VMIVME7696(以下，VMIC7696) を評価機種に選んだ．
参考のために我々が調査した Pentium 搭載の VME CPU ボード の一覧を表 1に示す．(これは 1998 年 11 月時点のデータなので最新の情報は各社のホームペー
ジやカタログを参照)

会社名

VMIC
VMIC
VMIC
SBS or
SBS orXycom

型番
VMIVME7696
VMIVME7695
VMIVME7686

VP6
VP5
XVME-656

CPU(clock)Pentium II(333)
Pentium II(266)
Pentium Pro(200)Pentium II(333)

Ethernet Universe
yes

yes

yes

yes

yes

yes

yes

yes

Pentium MMX(233)

yes

yes

AMD K6(300)
Pentium MMX(233)

yes

yes

表 1: 我々が調査した Intel-based VME CPU ボードの一覧．他にも国内外で種々の製品がある．

2

2 VMIC7696 の概要
VMIC7696 の PC/AT 機としての特徴と VME モジュールとしての特徴について各々述べる．
2.1

PC/AT FeaturesVMIC7696 は，PC/AT 機として以下の特徴をもつ10) ．以下のことから PC/AT
機の機能・装備としては，一般のデスクトップ PC と変わらないことがわかる．
 Includes a high-performance Intel Pentium II 333MHz processor.
 Up to 256Mbyte of synchronous DRAM.
 64-bit AGP SVGA video graphics accelerator.
 Battery-backed clock/calendar.
 Front panel reset switch and miniature speaker.
 On-board ports for keyboard and mouse, Ultra-IDE hard drive, oppy drive,

SCSI, Ethernet, video, dual serial, and parallel I/O.

2.2

VMEbus FeaturesVMIC7696 は，VME CPU ボードとして以下の特徴をもつ10) ．VME64 をサポートしているので MBLT による高速なデータ転送が可能である．
 Dual-slot, 6U height VMEbus board.
 Complete six-line Address Modi er(AM-Code) programmability.
 VME data interface with separate hardware byte/word swapping for masterand slave accesses.

 Support for VME64 multiplexed MBLT 64-bit VMEbus block transfers.
 User-con gured interrupter.
 User-con gured interrupt handler.

3

3 性能評価に使用したハード およびソフト ウエア
VMIC7696 の性能評価テストで使用したハード ウエアおよびソフトウエアについて述べる．
3.1

性能評価に使用したハード ウエア

性能評価に使用したハードウエアは VMIC7696 と VMIVME7452 である．VMIC7696
については，前節でその概要を述べた．VMIVME7452 は，VME シングルスロッ
トの フロッピー／ IDE ハード デ ィスク・モジュールである．VMIVME7452 は，
VMIC7696 と P2 コネクター間をケーブルで接続している．また，オプションで最大 48 MB のフラッシュ・メモリを搭載することができる．
3.2

性能評価に使用したソフト ウエア

性能評価に使用したソフトウエアの構成について述べる．ここでは VMEbus へ
アクセスするために必要な universe ド ライバー11) の概要について述べ，Linux とuniverse ド ライバーのインストールの概要については Appendix で述べる．
3.2.1

universe ド ライバーの概要

universe ド ライバー universe-0.6 には，以下のような関数が用意されている．
 universe lseek, universe read, universe write
 universe select universe ioctl
 universe mmap
 universe open, universe release universe interrupt

universe read と universe write について概略を説明する．リード ／ライトはPIO/DMA モード の切り替えが可能である．その具体的な方法は，universe ioctl
で VMEIMG SETDMATRESHOLD の値を設定する．転送するデータサイズがその値より大きければ DMA でそうでなければ PIO でリード ／ライトが行われる．
我々は，SBS Bit3 616/617 用のデバイスド ライバ vmehb12) を簡単に使用するためのライブラリを作成した3) ．universe についてもユーザ・インターフェイスとして同様のライブラリを作ることにより vmehb で使用したソフトウエアをそのままuniverse でも使用できる．universe 用のライブラリは現在作成中である．
4

4 CPU 基本性能テスト
VMIC7696 の CPU 基本性能を評価するため「 nbyte 」と「 DAQBENCH 」という2 種類のベンチマークプログラムを実行した．その評価の方法は VMIC7696(Pentium
II 333MHz) と同じ CPU をもつデスクトップ PC が手元にないので，Pentium II
300MHz，Pentium II 350MHz の 2 台のデスクトップ PC とベンチマークの結果を比較することにした．つまり CPU ボード が他の 2 台のデスクトップ PC と比べてその性能が明らかに劣るのでなければ，それら 3 台のベンチマークの結果は CPUのクロック数の順になるはずである．
4.1

nbyte ベンチマークプログラムによる性能評価

米 BYTE 誌の BYTEmark プログラムを Linux に移植した nbench13) プログ
ラムを使用して CPU 基本性能のテストを行った．表 2 からわかるように CPU を
Pentium に限定して眺めると，Integer index は CPU のクロック数の順になっており，妥当な結果であると思われる．

Digital 21164, 600MHz
Digital 21164, 500MHzIntel Pentium II 450MHz
Dual Intel Pentium II 400MHzIntel Pentium II 400MHzIntel Pentium II 350MHz
AMD K6-2 300 MHz
VMIC7696(Pentium II 333MHz)

Intel Pentium II 300MHz
Digital 21164, 300MHz
Motorola PowerPC 604e 225MHz

L2 Cache(KB)

Integer index

2048 (L3)1024 (L3)
512
512
512
512
512

8.331
7.537
6.859
6.106
6.088
5.373
5.219

512

5.168

512
2048 (L3)
1024

4.609
4.561
4.269

表 2: nbyte ベンチマークプログラムによる性能評価結果. BYTE 誌の
BYTEmark プログラムを Linux に移植した nbench を VMIC7696 で実行し，その結果を既知の結果のテーブルに挿入した．

5

4.2

DAQBENCH ベンチマークプログラムによる性能評価

CAMAC および VMEbus アクセスや DAQ に必要なシステムコール，プロセ
ス間通信の性能を評価するために開発された DAQBENCH14) を使用して memcpy,
strcpy, for loop でのデータ転送速度また semaphore(Context Switch あり／なし),
signal の実行速度を評価した．表 3 から分かるように VMIC7696 の性能が特に劣るという傾向はない．
以上，２つのベンチマークプログラムの結果より，一般のデスクトップ PC とPentium CPU ボード の CPU 性能に差はみられないことがわかった．
Pentium II 350MHz

memcpy(MB/s)
strcpy(MB/s)
for loop(MB/s)
semaphore1(s)semaphore2(s)signal(s)

VMIC7696(Pen II 333)

96.1
69.4
97.1
5.4
7.5
28.2

83.8
57.8
58.9
5.7
7.9
27.8

Pentium II 300MHz

110.9
56.9
60.5
6.3
9.8
39.5

表 3: DAQBENCH を使用した memcpy, strcpy, for loop による転送能力とsemaphore と signal の実行速度の結果．表中の semaphore1 は，Context Switch

なしの場合，semaphore2 は，Context Switch ありの場合．

5 DAQ 基本性能テスト
DAQ の基本性能を評価するための重要なパラメータとなるデータ転送スピードと VMEbus からの割り込み応答時間の測定を行った．
データ転送スピード については，Programmed I/O(PIO) と Direct Memory Access(DMA) の２つのモードで測定行った．すなわち高速の VME メモリボード (Chrislin Industries 社 CI VME64) に対してデータをリード ／ライトしてその実行時間を測定した．各々のモード について転送するデータ量を変化させながら，リード ／ライトにかかった時間を測定し，グラフへプロットした．そのグラフを直線で近似し，データ転送スピード とオーバヘッド を求めた．
割り込み応答時間については，VME Interrupt Register と VME Visual Scaler ，
NIM クロック・ジェネレータ等を使用して回路を作り測定を行った．

6

5.1

PIO によるデータ転送テスト

mmap を使った PIO によるデータ転送テストの結果を表 4 に示す．アド レス
幅は 32bit．データ幅を 16, 32bit で各々データサイズを変化させながら転送時間を10000 回測定し，その平均値をグラフにプロットした．そのグラフの傾きから転送
スピード を求めた．

READ(MB/s) WRITE(MB/s)
A32D16
2.9
4.3
A32D32
4.2
6.7
表 4: mmap を使った PIO によるデータ転送テスト結果．Data widthを 16 ，32bit にして各々で測定を行った．

5.2

DMA によるデータ転送テスト

DMA によるデータ転送テストの結果を表 5 に示す．アドレス幅は 32bit で転送
モード を BLT ，MBLT にして，各々転送するデータサイズを変化させながら，転送時間を 10000 回測定し，その平均値をグラフにプロットした．そのグラフの傾き
から転送スピードを切片から求めたオーバヘッドを求めた．

READ(MB/s) WRITE(MB/s)
A32D32 BLT
18.0
24.0
A32D64 MBLT
34.0
31.0

DMA Overhead (s)2020

表 5: DMA によるデータ転送テスト結果．DMA のモードを BLT，MBLTにして各々で測定を行った．

5.3

VMEbus からの割り込み応答テスト

VMEbus 割り込み応答時間の測定を VME Interrupt and I/O Register(VME I/ORegister) と VME 100MHz Visual Scaler(VME Scaler) および NIM Clock Generator，
CAMAC Programmable Gate and Delay Generator 等を使用して図 1 のようなセットアップで行った．また測定は 10000 回行い，その結果をヒストグラムにプロット
して VMEbus 割り込み応答時間を求めた．
7

測定の手順は以下の通りである．

(1) VME Scaler をクリアする．
(2) VME I/O Register の 「 Data Input1 」にデータを書く．
(3) (2) の 100ms 後に VME I/O Register の「 Interrupt1 IN 」に信号が入り，VMEbus に割り込みがかかる．また，この信号は VME Scaler のゲートのオープンに使用される．
(4) VMEbus 割り込みを CPU ボード でハンド リングしたら，
VME I/O Register の「 Data Input2 」にデータを書く．これにより VME Scaler のゲートがクローズする．
(5) VME Scaler のデータを読む．このデータの値が VMEbus 割
り込みの応答に要した時間である．

ME Scaler

Gate Gen.

Delay(100ms)

VME Int. Reg.

START

IN

IN

OUT

OUT1

OUT

OUT2

STOP
INHIBIT

OUT

IN

10MHz
Clock

図 1: VMEbus 割り込み応答時間の測定に使用したセットアップ．測定の手順は次の通りである．(1) VME Scaler をクリアする．(2) VME I/O Register の「 Data Input1 」にデータを書く．(3) (2) の 100ms 後に VME I/O Register の「 Interrupt1 IN 」に信号が入り，VMEbus に割り込みがかかる．またこの信号
は VME Scaler のゲートをオープンする．(4) VMEbus 割り込みを CPU ボー
ド でハンド リングしたら VME I/O Register の 「 Data Input2 」にデータを書く．これにより VME Scaler のゲートがクローズする．(5) VME Scaler のデー
タを読む．このデータの値が割り込みに要した時間である．

8

Number of Events

図 2 に上述の方法で測定したデータをヒストグラムにしたものを示す．グラフ
より割り込み応答時間はおよそ 16 sec であることがわかる．

100
10000
15.86
0.8662ID
Entries
Mean
RMS

8000

7000

6000

5000

4000

3000

2000

1000

0

0

5

10

15

20

25

30

35

40

45

50

Interrupt Respose Time(micro sec)

図 2: VMEbus 割り込み応答時間のヒストグラム．横軸は，割り込み応答時間( sec) ．縦軸は，イベント数．このヒストグラムから割り込み応答時間は，およそ 16 s であることがわかる．

6 他の VME CPU ボード との DAQ 性能の比較
これまでの測定で得られた VMIC7696 の DAQ 基本性能を他の VME CPU ボー
ド と比較してみる．性能比較を行なったボード は HEWLETT-PACKARD(HP) 社の HP743rt(PA7100 64 MHz)/HP-RT v2.0215-17) で，比較を行なったのはデータ転送能力と VMEbus 割り込み応答時間である．また VME CPU ボード ではないが，前述の SBS Bit3 社の 616/617 のデータも参考のため表に載せることにした．

9

6.1

データ転送能力の比較

表 6 に PIO および DMA によるデータ転送スピード の比較を示す．表 6 からわかるように HP743rt と本ボード の性能は拮抗している．
VMIC7696
Pen II 333

PIO(MB/s)

D32 READ
D32 WRITE

4.2
6.7

D32 BLT R

17.8

DMA

D32 BLT W

23.9(MB/s)

D64 MBLT R

34.3

D64 MBLT W

31.2

表 6:

HP743rtPA7100 64
4.8
5.6
19.2
19.5
38.0
38.0

Bit3 616/617
with Pen II 350

1.8(616,617)
1.9(616,617)
24.9(617)
19.4(617)

Not Supported
Not Supported

VMIC7696 ，HP743rt ，Bit3 616/617 の PIO と DMA データ転送性能．

VMIC7696 と HP743rt

は，ほぼ同等の性能であることがわかる．転送スピー

ド 測定に使用した メモ リボード の DTACK 信号が OPEN COLLECTOR か
TRI-STATE かで転送スピードが違う15) ．HP743rt の BLT および MBLT のデー

タは TRI-STATE を，それ以外のデータは全て OPEN COLLECTOR である．

6.2

VMEbus 割り込み応答時間の比較

表 7 に VMEbus 割り込み応答時間の比較を示す．表 7 から割り込みに対する応
答は，HP743rt より VMIC7696 が優れていることがわかる．しかし，その測定は，バックグランド に他の重いプロセスがない状態で行った．したがって，例えばバッ
クグランド にディスク I/O 等を頻繁に行うようなプロセスがある状態では，図 2 のようなシャープなピークをもつヒストグラムは得られない．これは，VMIC7696 がリアルタイム OS ではない Linux で動いていることに起因する．
VMIC7696
Pentium II 333

Interrupt Latency (s)16

HP743rtBit3 616/617
PA7100 64 with Pen II 350
48
Not measured

表 7: VMIC7696，HP743rt の VMEbus 割り込み応答時間の比較．VMEbus 割
り込み応答時間は，VMIC7696 の方が速いことがわかる．

10

7 まとめPentium CPU ボード VMIC7696 に Linux をインストールし，DAQ の基本性能の評価を行なった．mmap を使用した PIO によるデータ転送スピード は，A32D32
モード でリード が 4.2 MB/s ，ライトが 6.7 MB/s であった．DMA によるデータ転
送スピード は A32D32 BLT モードでリードが 18 MB/s ，ライトが 24 MB/s であった．A32D64 MBLT モード では，リード が 34 MB/s ，ライトが 31 MB/s であった．
VMEbus 割り込みに対する応答時間は 16 s であった．1997 年にデスクトップ PCと PCI-VMEbus Adaptor で構築した PC/Linux DAQ システムと同様なシステム
を VME CPU ボード でも実現することができた．

謝辞
Pentium CPU ボードの DAQ 性能評価テストのため VMIC7696 の購入を認めて頂いた奥野英城氏をはじめとする KEK 田無分室の ES グループの皆様に感謝致します．VMIC7696 の DAQ 性能評価テスト中に VMIC 社との連絡および VMEbus
Analyzer で VMEbus の測定をして頂いたセントラル・コンピュータ・サービス株
式会社の若月 薫氏に感謝致します．また今回の性能評価テストをご支援していただ
いた藤井啓文氏をはじめとする KEK オンライングループの皆様に感謝致します．

参考文献[1] SBS Bit3 社のホームページを参照．URL は，http://www.bit3.com/．国内では，SBS Bit3 社 PCI-VME Adaptor 616/617 はソリトンシステムズが販売している．URL は，http://www.soliton.co.jp/．
[2] 仲吉一男，安 芳次，PC/Linux による VMEbus ベースのデータ収集システムの構築，KEK Internal 98-6, September 1998.
[3] SBS Bit3 616/617 の VME ライブラリの配付キットについては，次の URL を
参照．http://onlax2.kek.jp/~nakayosi/．
[4] 長基線ニュートリノ振動実験では，VME Flash ADC と GSP のデータの読み
だしに SBS Bit3 616 を使用している．
[5] Y. Takeuchi, T. Tanimori and Y. Yasu, Development of Data Acquisition System using RISC/UNIX Workstation, Nucl. Inst. Meth. A328(1993)526.
[6] 例えば，「 HEP Projects using Linux 」というホームページを参照．URL は，
http://hepwww.ph.qmw.ac.uk/HEPpc/．
11

[7] TUNDRA 社の PCI-VMEbus ブリッジ・チップ．詳細は，http://www.tundra.com/ を参照．
[8] http://www.vmic.com/．日本の総代理店は，セントラル・コンピュータ・サー
ビス株式会社．URL は，http://www.ccs.co.jp/．
[9] SBS or 社のホームページを参照．http://www.or-computers.com/．
[10] VMIVME-7696 Product Manual, VMIC, 22-Jan-1999.
[11] Universe ド ライバの開発者 Hannappel 氏のホームページを参照．URL は，
http://lisa2.physik.uni-bonn.de/~hannappe/．
[12] PCI-VME Adaptor 616/617 用のド ライバ vmehb の開発者 Kruszynska 氏のホームページを参照．URL は，
http://www.nikhef.nl/user/natalia/projects/vmehb.html．
[13] BYTE 誌の BYTEmark プログラムを Linux に移植した Mayer 氏のホームペー
ジを参照．URL は，http://math.vanderbilt.edu/~mayer/linux/bmark.html．
[14] Y. Yasu and Y. Tajima, Performance Evaluation Tool of DAQ Computer
DAQBENCH, Proceedings of the International Data Acquisition Conference on
Event Building and Event Data Readout in Medium and High-Energy Physics
Experiments, Fermilab, Batavia, Illinois, U.S.A., October 26-28, 1994.
[15] Y. Yasu, Y. Tajima, LYNX - HP AND DAQ SYSTEM. (In Japanese) KEKPREPRINT-94-191, Feb 1995. 7pp. Submitted to the 3rd Meeting on Computer
Aided Astronomical Instruments, National Astronomical Observatory, Mitaka,
Tokyo, Japan, 7-8 Dec, 1994.
[16] Y.Yasu, Data Acquisition System using VMEbus, KEK Proceedings 95-14, The
Proceedings of the Meeting on the Technical Study at KEK, KEK, Tsukuba,
Japan, November 28-29, 1995.
[17] HP 社のボード コンピュータ関連のホームページを参照．URL は，
http://www.hp.com/es/．

12

A ソフト ウエアのインスト ール
A.1

Linux のインスト ール

VMIC7696 には，CD-ROM ドライブがないため SLACKWARE3.6(Linux 2.0.35)
をネットワーク経由でインストールした．(Linux のインストールの詳細については，
市販の書籍を参照して下さい．)
1. 起動用のフロッピーとして Boot Disk と Root Disk を作成する．
2. SLACKWARE3.6 の CD-ROM を別の PC(以下，PC) の CD-ROM ド ライブに入れ，マウントする．

3. PC と VMIC7696 で各々 NFS の設定を行ない，VMIC7696 から PC の CDROM を NFS マウントする．
4. VMIC7696 でインストーラを起動する．
5. 「 SOURCE MEDIA SELECTION 」で「 Install via NFS 」を選択する．
6. ネットワーク・インストールを行う．
7. インストール終了後，Kernel を Linux 2.0.36 へバージョンアップした．
A.2

universe ド ライバーのインスト ール

VMEbus とのブリッジ・チップである UNIVERSE のデバイスドライバー universe-

0.6 を以下の手順でインストールした．
1. Netscape 等のブラウザーでhttp://lisa2.physik.uni-bonn.de/%7Ehannappe/software/ へアクセスする．
2. universe vme-0.6.tar.gz をダウンロード する．
3. 取得したファイルを展開する
4. スーパーユーザになり make する
VMIC7696 は「 System COMM Register 」の「 VMEbus enable Bit 」を High にしなければ VMEbus にアクセスできない．universe ド ライバーには，その Bit をHigh にするためのモジュールとして vmic enable が用意されている．しかし，これは古い機種の VMIVME7686 用に書かれており，VMIC696 では使用できなかった．
そのため新たに VMIC7696 に対応したモジュールを書いて「 VMEbus enable Bit 」
を High にすることができた．以下にそのプログラムを示す．

13

#include <linux/module.h>#include <linux/kernel.h>#include <linux/types.h>#include <linux/errno.h>#include <linux/miscdevice.h>#include <linux/malloc.h>#include <linux/ioport.h>#include <linux/fcntl.h>#include <linux/bios32.h>#include <linux/pci.h>#include <asm/io.h>#include <asm/system.h>#if LINUX_VERSION_CODE < 0x020100#define ioremap vremap#define iounmap vfree#endif#define COMM 0xd800e
int init_module( void ){volatile unsigned short *ptr;
unsigned short oldval, newval;
unsigned long flags;
ptr = (unsigned short *)COMM;
save_flags(flags);
cli();
oldval = *ptr;*ptr = 0x800; /* COMM Reg. の VMEbus enable Bit を High にする */newval = *ptr;
restore_flags(flags);
if(newval == 0xc00)
printk("Bits 11 in the COMM was set to high.\n);return (0);}14void cleanup_module( void ){printk(KERN_INFO "VMIC initializer goes away...\n");}A.3

universe ド ライバのロード

universe ド ライバは，loadable なモジュールなのでカーネルへの組み込み／取り外しを自由に行うことができる．以下，PC 起動後に universe ド ライバをロード する方法を示す．本文中で % typewriter とあった場合，typewriter とタイプしてリ
ターンキーを押すことを意味する．% は一般ユーザ，# はスーパユーザの Shell のプ
ロンプトを表す．

1. % su (スーパユーザになる)
2. universe ド ライバをインストールしたデ ィレクトリへ移動する．
3. # insmod universe.o (universe ド ライバをロード する)
4. # dmesg (正常にロード されたかどうか調べる)
universe: $Id: universe.c,v 1.66 1998/12/13 15:27:01 hannappe Exp $universe: found at bus 0 device 40 index 0
universe: the device uses memory address: ee026000
universe: The device id is 000010e3, the interrupt is 11
universe: Misc_Ctl is 31060000
universe: is VME system controller
universe: disabling all images
universe: VCSR is 00000000
universe: will enable PCI Bus masteruniverse: PCI Bus master enabled
universe driver $Id: universe.c,v 1.66 1998/12/13 15:27:01 hannappe
Exp $ installed, major 61
universe driver compiled Sep 19 1999 16:08:17

5. 上記のような表示がでれば，universe ド ライバは正常にロード されている．
6. # insmod vmivme7696 enable.o (上述の VMEbus enable Bit を High にするモジュールをロード する)
7. /dev/vme stat にド ライバの種々の情報が書かれているので問題があった場合には参照する．

15