
| https://www.crimson-systems.com | YouTube |
| ENIAC シュミレーター → ENIACシュミレーターA | |
| ENIACのシュミレーターは幾つかありますが、 2つのシュミレーターの紹介です。 @kinnla Till Zoppke Java Applet版 Ablstuart Brian L. Stuart go・Tcl/Tk版 Java Applet版は、プログラミングのケーブル配線・スイッチ設定をマウスで行うので、当時のプログラマー疑似体験ができます。 一方 go・Tcl/Tk版は、ケーブル配線・スイッチ設定の操作をファイルに作成し、シュミレーターに渡します。 そういった意味では、現在のプログラムの作成・修正に通じます。 |


ENIACの大砲の弾道計算 https://ieeexplore.ieee.org/document/8540483

![]() |


※8つのアキュムレータ1、2、15、16、17、18、19、20に、プリンター(IBMのカードパンチ)に接続されています。
■マウスで、ケーブルの配線・各スィッチを設定し、実行(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 より ![]() |
||||||
|
||||||
| 高速乗算器 https://commons.wikimedia.org/wiki/File:Eniac-panel.jpg より |
||||||
![]() |
eniac.jarをクリックし、 ENIAC構成画面等の選択を選択します。
![]()

・Simple example: 簡単な例
・Euclidean Algorithm: ユークリッドの互除法
・Fibonacci number: フィボナッチ数
他は、画面サイズを選択し、自分でケーブル配線・スィッチ設定をします。
※使用可能なユニットは、開始ユニット、サイクリングユニット、アキュームレータ、定数送信器のみ
[Simple example] → シュミレーターのデモ画面が表示
写真の人物はアーサー・バークスで、ポータブルコントロールステーションを操作しています。

●Overview window ・・・ 小さなディスプレイで、各々のパネルが見れるよう、画面範囲が設定できます。

予め、ケーブルセッティングがしてあるので、GOボタンで動作が見れます。
計算は、 5回 x 8 + 2 = 42
ACC1に8をセットし、リピート数は 5をセット
ACC2に2をセット

計算結果 42

【 動画 】
| 練習 3回 x 365 + 31 = 1126 | |||
![]() |
![]() |
||
●アキュームレータの内部配線

※各ユニットには、電源SWが有ります。
電源がONになってないと動作しないので、ケーブル配線・スイッチ設定と合わせて確認が必要です。
●Euclidean Algorithmを選択

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

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

計算結果

※簡単なプログラムなら、ケーブル配線等おもしろいかも知れませんが、複雑なプログラムの場合デバックが大変です。
・各ユニットの電源をON
・アキュームレータの内部配線と終端抵抗器のセット
・各ユニットとトランクの配線
・アキュームレータの、入力SWと出力SWの設定
・リピートが有れば、リピートSWの設定
・サイクリングユニットでステップ毎の確認可
ENIACシュミレーター ( go・Tcl/Tk版 ) → https://www.cs.drexel.edu/~bls96/eniac/simulator.html
Brian L. Stuart 教授 → https://www.cs.drexel.edu/~bls96/
■ケーブルの配線・各スィッチの設定を、一連の操作コマンドのファイル(プログラム)に出力し、エミュレータに渡します。
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.e
pコマンド: ジャンパーの接続
sコマンド: スィッチの設定

※注釈行は、 1桁目に #
※プログラムは UTF-8 BOM無しであること。
● シュミレーターの実行方法
eniac [プログラム名] → eniac sieve.e

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

・計算結果(アキュームレータの値)は、prコマンドでプリント(IBMパンチカード)できます。
(8つのアキュムレータ1、2、15、16、17、18、19、20のみ)
・シュミレーションでは、ターミナル(DOS窓)に表示されるので、結果の確認、計算途中の値の表示ができます。
※ コマンド q で終了
| 【 グラフィカルサポートの構築 】 |
|||||||||||||||||||||
| @Tcl/Tkのインストール → https://www.activestate.com/platform/supported-languages/tcl/ ( ActiveTcl ) | |||||||||||||||||||||
|
|||||||||||||||||||||
もし、wish ( Windowing Shell) が動作しない場合 → wishのパスを確認![]() windowsの環境変数に C:\ActiveTcl\binを追加 ![]() |
|||||||||||||||||||||
| ● グラフィカルシュミレーターの実行方法 eniac -v vis/eniactk [プログラム名] → eniac -v vis/eniactk test.e
|
|||||||||||||||||||||
ENIACルームが表示されるので、ポータブルコントロールステーションで操作します。 ![]() |
|||||||||||||||||||||
[INIT] ボタンを押して実行
|
|||||||||||||||||||||
※ポータブルコントロールステーションが、画面から外れていたので修正しました。
|
|||||||||||||||||||||
| [S1View] 〜 [S5View] で、区画毎 / 全体が見れます。 ![]() |
|||||||||||||||||||||
![]() |
※セクション1〜5を表示する画像 (e1900s1.ppm〜e1900s5.ppm)を加工し、アキュームレータ番号を表示しました。 |
| e1900s1.ppm |
![]() |
e1900s2.ppm |
![]() |
e1900s3.ppm |
![]() |
●1Pluseモードによるデバック方法 |
プログラムに、 s cy.op 1a を記述しておきます。 ![]() |
ポータブルコントロールステーションで、 PLUSE ボタンをクリックして進ませ、アキュームレータの内容が確認できます。 ![]() |
| ●example.e 定数送信器に 123 をセットし、 ACC6に加算(送る)します。 |
![]() |
| 結果 |
![]() |
| ●Adele Goldstine の技術マニュアルにある、べき乗表を計算するプログラムのサンプル → ENIACシュミレーターA コマンド p ・・・ 端子間のケーブル接続 コマンド s ・・・ 各スィッチの設定 |
![]() |
●Adele Goldstine の技術マニュアルにある、べき乗表を計算するプログラムのサンプル → ENIACシュミレーターA |
※GitHub → programs 内にプログラムがあるので、 これらを試しながらプログラミングの練習をしました。 動画 |
■ Brian L. Stuart → ENIACに関するプログラミング
@ https://ieeexplore.ieee.org/document/8326772
A https://ieeexplore.ieee.org/document/8467000
B https://ieeexplore.ieee.org/document/8540483
【 ENIAC関連文書 】 → https://ftp.arl.army.mil/~mike/comphist/

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


Chapter 1 -- Introduction → https://ftp.arl.army.mil/~mike/comphist/46eniac-report/chap1.htm

【 関連書籍 】
| ■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プログラム → https://www.clps.ugent.be/sites/default/files/talk-slides/UA_CHOC_Lehmer.pdf |
||||||||||
![]() |
||||||||||
| 図1.11 ENIACのプログラミングに相当する基本コンポーネントの接続図 (出典:Eames,Charles and Ray,A Computer Perspective: Background to the Computer Age、Harvard University Press. First Edition 1973; Second Edition 1990. ) |
| ■エニアック / スコット・マッカートニー | |||
![]() |
![]() |
| ■ENIAC神話の崩れた日 / ATANASOFF | |||
![]() |
![]() |
| ■ENIAC ―現代計算技術のフロンティア | モークリーによる処理の分岐(IF文)のアイディア ・・・ マスタープログラマ | ||
![]() |
|
| ■コンピュータの発明 / 能澤 徹 | ENIACのプログラミング | ||
![]() |
![]() |
| ■6人の女性プログラマー / キャシー・クレイマン | |||
![]() |
6人の女性プログラマー キャスリーン・マクナルティ フランシス・ビーラス ルース・リクターマン ジーン・ジェニングス ベティ・スナイダー マーリン・ウェスコフ |
![]() |
![]() |
| 実験公開日 1946年2月15日 ジョンとプレスが、公開実験の前夜、白いピンポン玉を半分に切って表示ランプの先端にかぶせ、誰でも読めるように数字を描いてENIACを化粧直し。 |
||||
|
||||
| ●ENIAC・他コンピュータの写真集 ・・・ ENIACなど複数のコンピュータの写真が沢山載っています。 | |||||
CORE MEMORY ヴィンテージコンピュータの美 / オライリー・ジャパン |
|||||
|
|||||
| コンピュータ―写真で見る歴史 / クリスチャン ワースター |
|||||
![]() |
![]() |