VMEボードとは
VME (Versa Module Europe) ボードとは、CPU用のバスであるVMEバスを使用したボードとして開発されたものです。
VMEボードにおいて使用されているVMEバスはもともとモトローラCPUである68000系向けに開発されたもので、その後、世界的な技術標準規格であるIEC (International Electrotechnical Commission : 国際電気標準会議) やIEEE (Institute of Electrical and Electronics Engineers: 電気・情報分野における標準化団体) において技術規格として標準化されました。
現在では、16bitCPUや32bitCPUに加え、64bitCPUに使用する標準的なバスとして使用されています。
VMEボードの使用用途
VMEボードでは、複数のVMEボードを接続する土台側であるマザーボード上に9枚もしくは20枚のVMEコネクタが用意されています。このマザーボードのことをVMEバックプレーンボードもしくはVMEバックプレーンシャーシと呼んでおり、その性能や品質を維持するため材質やサイズなども決められています。
このVMEバックプレーンボードは、複数のVMEボードを電気的かつ構造的に接続する役割を果たしており、このボードを介してデータの送受信を行っているため非常に重要です。VMEバックプレーンボード上のスロットにCPUボードやIOボードが挿入されて使用されます。
VMEボードの原理
VMEボードにおいて使用されるデータ転送は、非同期式インタークロックという方法がとられています。これはシステムのクロックに同期してデータを送受信する方式とは異なります。
マスタ側からのデータ転送に対して、スレーブ側がデータの受信完了を示す確認信号を返答するまで、マスタ側はデータ送信を繰り返し、データ転送サイクルを終了しません。スレーブデバイスのタイミングに応じてデータの送受信が可能であることから、転送速度に余裕のない周辺デバイスにとっては有利であり設計しやすい仕様です。
ただし、マスタからの転送サイクルが無限に続くことを回避する必要があります。このために、VMEバスではタイムアウト機能が実装されています。VMEバス上におけるデバイス間のデータの衝突が発生した場合への対応も考慮されています。
衝突を検出して対応するための専用の機能モジュールとしてアービトレーションモジュールが定義されており、VMEバスシステム上には必ず存在します。衝突を検出して対応する方法として、2つの方法が決められています。ラウンドロビンという方式と優先順位方式です。いずれの方式を採用するかは、システムの用途や特性に応じて決められます。
1. ラウンドロビン方式
ラウンドロビンとは、VMEバス上のデバイスに振られた数字に基づき、各デバイスが順次割り振られていくという方式です。例えば、A,B,Cのデバイスが存在したとして、1周目はA、B、Cだとすると、2周目はB、C、A、3周目はC、A、Bというように優先順位を逐次均等に入れ替えていくというルールに基づき、衝突が発生した場合にいずれを優先するか決めます。
2. 優先順位方式
優先順位方式とは、各デバイス固定的に決められた優先順位に基づき衝突が発生した場合にいずれのデバイスを優先するか決める方式です。
VMEボードのその他情報
1. バス
上述の説明で出てきているバスとは、コンピュータ内部でデータや信号を伝達する回路のことです。コンピュータ内部では、CPUやメモリ、IO装置などの各装置が共通のバスで接続されています。
メモリアドレス信号を伝送するためのアドレスバスや、CPUとメモリ・IO装置でデータ転送を目的とするデータバスが存在します。また、これら2つのバスを制御するためのコントロールバスがあります。コントロールバスでは、アドレスバスやデータバスが実際に入出力を行うタイミングの制御等を担当します。
2. バス規格
開発当初の標準は、Eurocardのコネクタに収まるために16ビットバスの規格でした。その後、拡張を経ることで現在のVME64では64ビットバス規格と32ビットバス規格が存在します。
参考文献
https://www2.denshi.numazu-ct.ac.jp/mirsdoc2/mirs9805/tech/num0004a/vme.html
https://www-he.scphys.kyoto-u.ac.jp/