PIC マイコンによる自己安定分散アルゴリズムシミュレーター
(2002年8月 広島大学オープンキャンパス)
Microchip technology社
の PIC マイコン 16F84A により、
自己安定分散アルゴリズムの
実機シミュレーター(?)を作成しました。
- 1チップで1プロセスをシミュレート
- 単方向/双方向リングネットワーク
- 状態通信モデル
- (ニセ)Cデーモン
- 相互排除(単方向リング)と独立点集合(双方向リング)の2アルゴリズムを実装。
- ノード#1 の2つのスイッチ(SW0/SW1)でアルゴリズムを選択します。
- 表示は LED 1つだけです。
高輝度 (緑色3200mcd) LED 使ったら、まぶし過ぎて目が痛い。
- ボードを10枚作り、リングネットワークを構成しした。
(ひとつひとつ手作りです。)
- 設計/組み立て/ソフトウエア開発は全て角川が行ないましたが、
本ページの内容は自由に使って下さって結構。
- 回路図には書き忘れていますが、
各ノードの PIC の PA2 にはスイッチ(Fault Switch と命名) が付きます。
これが On のときはそのノードの内部状態をぐちゃぐちゃに書き換えて、
メモリの transient fault を真似します。
表と裏。手作業配線です...
相互排除(トークンリング). いま 3つのトークンがある。
やがて2つになり。
ついに1つになった。これで安定
独立点集合の例。あっという間に安定する。
LED がとてもまぶしくて、目が痛い...
ソースコードは少し前の
gpasm
で書いています。
いまの gpasm でアセンブルするには、ちょっと手直しが必要かも知れません。
回路図