https://www.crimson-systems.com YouTube
  
ENIAC シュミレーター  go・Tcl/Tk版のプログラム

ENIACシミュレーション( https://ieeexplore.ieee.org/document/8326772 ) のサンプルプログラムの紹介です。


 


Adele Goldstine の技術マニュアルにある、ENIACの基本操作より
べき乗表を計算するプログラムのサンプル






●ENIACの操作コマンド








●ENIACのプラグボードの接続・スイッチの設定



●プログラムの制御フロー

@プログラムライン1-1の開始ユニット出力信号は、アキュムレータ6と7のプログラム5と、定数送信器のプログラム26を起動します。
 この結果、2つのアキュムレータのそれぞれに1が加算されます。




Aプログラム 5 が完了すると、アキュムレータ 6 はプログラム ライン 1-2 に接続された 5o ラインに制御パルスを送信し、
 マスター プログラマのステッパー C の入力に送られます。




Bステッパー C のカウントが 999 を超えていない場合、
 マスター プログラマはプログラム ライン 1-3 に接続された C1o ラインに制御パルスを送信します。




Cプログラムライン1-3の信号は、両方のアキュムレータのプログラム6をトリガーします。
 このプログラムは、アキュムレータ6にデータを2回送信させ、アキュムレータ7にデータを2回受信させ、現在の値に加算します。
 つまり、アキュムレータ6の値が2倍になった値がアキュムレータ7に加算されることになります。




Dこの加算が完了すると、アキュムレータ 7 は 6o 端子に制御パルスを送信し、
 プログラム ライン 1-1 を駆動して、プロセス全体を再度開始します。






●プログラム ( 操作コマンド )






【  開始ユニットの設定  】





開始ユニットのパネル









【  マスタープログラマの設定 






端末とスィッチ ( Master Programmer  PANEL 1 )


 Master Programmer  PANEL 1    Master Programmer  PANEL 2






【 アキュームレータ 6 設定 










 






【 アキュームレータ 7の設定

















【 定数送信器の設定

 













■シュミレーション結果



ACC6: n=1000    ACC7: n^2=1000000















ENIACシュミレータの設定表記法 (抜粋 ) → https://github.com/blstuart/eniac-simulator  ※DOCフォルダー内の ref.tex

■ 開始ユニット


■ マスタープログラマ


■ アキュームレータ


■ 定数送信器
 







ENIAC 操作マニュアル → http://www.bitsavers.org/pdf/univOfPennsylvania/eniac/ENIAC_Operating_Manual_Jun46.pdf

 




ENIAC レイアウト (ムーア・スクール)










 https://www.crimson-systems.com