https://www.crimson-systems.com YouTube
  
ENIACシュミレーター
   
ENIACのシュミレーターは幾つかありますが、 2つのエミュレーターの紹介です。

@kinnla Till Zoppke    Java Applet版
Ablstuart Brian L. Stuart  go・Tcl/Tk版



ENIAC: Electronic Numerical Integrator And Computer




ENIACは、1946年にアメリカのペンシルベニア大学で、
物理学者のジョン・モークリー(John Mauchly)と電気技師のJ・プレスパー・エッカート(J. Presper Eckert)によって設計・開発されました。

 開発者: ジョン・モークリー、ジョン・プレスパー・エッカート
 場所: ペンシルベニア大学ムーア電気工学学校
 目的: 第二次世界大戦中に米陸軍の大砲の弾道計算を行うため
 特徴:
 約1万8000本の真空管を使用し、従来の機械式に比べ驚異的な計算速度を実現
                                                AIより





















ENIACシュミレーター (Java Applet版)

■マウスで、ケーブルの配線・各スィッチを設定し、実行(GOボタン)します。



下記 URLより ENIACシュミレーターのダウンロードができます。
URL → https://zuse-z1.zib.de/simulations/eniac/index.html




Javaランタイム環境バージョン1.7(以上)にします。 → f.a.qからダウンロード可
.






●シュミレータのダウンロードは、excutable jar_file をクリックしします。







●シュミレータのドキュメント 







kinnra →  GitHub






●ENIACシュミレーター SKIN








●アキュームレータ

・10進 10桁 符号有り P: プラス  M: マイナス (10の補数で加算)
・アキュームレーターは、12個のプログラムコントロールがあり、上段4個は、リピート不可、下段8個がリピート可
・スィッチで入力/送信用に切替
  入力: α β γ δ ε
  出力: A S AS



アキュームレータ No.3の写真
   kondo3d Home https://www.kondo3d.com/eniac/jp.html より

入力SW: α,β,γ,δ,ε   送信SW: A, S, AS     O: 何もしない    リピートSW( 1〜9 )
 


高速乗算器 https://commons.wikimedia.org/wiki/File:Eniac-panel.jpg より







【 ENIACシュミレーターで遊ぶ 】


eniac.jarをクリックし、 ENIAC構成画面等の選択を選択します。









 ・Simple example:    簡単な例
 ・Euclidean Algorithm: ユークリッドの互除法
 ・Fibonacci number:  フィボナッチ数

 他は、画面サイズを選択し、自分でケーブル配線のプログラミングをします。



Simple example → シュミレーターのデモ画面が表示






予め、ケーブルセッティングがしてあるので、GOボタンで動作が見れます。

計算は、 5回 x 8 + 2 = 42

ACC1に8をセットし、リピート数は 5をセット
ACC2に4をセット





計算結果 42




練習  3回 x 365 + 31 = 1126






  【 ユークリッドの互除法 】  2 つの自然数の最大公約数を求める

●Euclidean Algorithmを選択





ACCを4個使用   ACC2 と ACC3が連結 ( 10進20桁 )




定数ユニットに 6 と 9がセット済み




計算結果








ENIACシュミレーター ( go・Tcl/Tk版 ) → https://www.cs.drexel.edu/~bls96/eniac/simulator.html

■ケーブルの配線・各スィッチの設定を、一連の操作コマンドのファイル(プログラム)に出力し、エミュレータに渡します。



ENIACシュミレータは、ターミナルからコマンド入力、およびグラフィカルサポートも可になっています。
シュミュレータの動作では、goコンパイラー、Tcl/Tkが必要 (画面はWish)





GitHub  →  https://github.com/blstuart/eniac-simulator





goコンパイラのインストール  →  https://go.dev/doc/install







 




ENIACシュミレーター  ターミナル(DOS窓)


● programs内のエニアックプログラム






● 操作(コマンド)


 ※GitHubのDOCフォルダー内のcmd.tex, ref.tex, example.texを参照 






● プログラム example.e





● シュミレーターの実行方法

eniac プログラム名 →  eniac sieve.e





b i で、実行  ・・・ ボタン i (イニシエータ)を押す







【 グラフィカルサポートの構築 】

@Tcl/Tkのインストール →  https://www.activestate.com/platform/supported-languages/tcl/  ( ActiveTcl )





 


もし、wish ( Windowing Shell) が動作しない場合  →  wishのパスを確認






windowsの環境変数に C:\ActiveTcl\binを追加






BENIACグラフィカルシュミレーターの実行

>eniac -v vs/eniactk sieve.e   ( -v パラメータ指定 )






下部のポータブルコントロールステーションの[INIT]ボタンをクリックして実行




   ポータブルコントロールステーション


 CLEAR:すべての動作ユニットにクリア信号が送信されます。

 READ: 定数送信ユニットのパンチカードリーダーに開始パルスを送信します。

 INIT: 計算を開始するには、開始ユニット出力からパルスを送信します。

 PULSE:1 Add モードと 1 Pulse モードで 1 つのステップを開始します。




セクター2の表示 ・・・ [S2 View } をクリック







計算終了後







※ENIACのパネル・ボタン等の写真は、GitHubのimageフォルダー内に、ppm形式で有ります
             










【 ENIAC関連文書 】   →  https://ftp.arl.army.mil/~mike/comphist/





【 米陸軍 ENIACに関する報告書 1946年 】    → https://ftp.arl.army.mil/~mike/comphist/46eniac-report/index.html











【 関連書籍 】

■Electronic Numerical Integrator and Computer (ENIAC) ENIAC Operating Manual  (操作方法 )    Periscope Film, LLC
 

イニシエーティング ユニット



■Electronic Numerical Integrator and Computer (ENIAC) ENIAC Technical Manual  ( プログラミング手法 )   Periscope Film, LLC
  Adele Goldstineの技術マニュアル
 

マスタープログラム ユニット


配線


ENIACプログラム






  エニアック / スコット・マッカートニー    ENIAC ―現代計算技術のフロンティア
     



  コンピュータの発明 / 能澤 徹  
  ENIACのプログラミング











  6人の女性プログラマー / キャシー・クレイマン    
  6人の女性プログラマー

 キャスリーン・マクナルティ
 フランシス・ビーラス
 ルース・リクターマン
 ジーン・ジェニングス
 ベティ・スナイダー
 マーリン・ウェスコフ















●コンピュータの写真集


CORE MEMORY ヴィンテージコンピュータの美 / オライリー・ジャパン
 


コンピュータ―写真で見る歴史 / クリスチャン ワースター






 https://www.crimson-systems.com