ENIAC 是世界上第一部電子計算機,但是她的許多設計, 在想法上仍然沿用機械型或電機型計算機的慣例, 只是設法改成用真空管來實現。
以上的照片顯示 ENIAC 面板上輸入數值的撥盤。
可以看出來 ENIAC 採用十進制數字,每個數有 42 位數字。
它們可以全是整數,但也可以全是定點數:
亦即,所有數都假設小數點在同一個位置。
計算程序中所需要的常數,或變數的初始值,
就是從轉動這些撥盤,將數值輸入 ENIAC。
輸入了常數之後,就要讓這些電流通過一個接著一個的計算元件。 每個元件都造得像今天的直立型電冰箱一樣大, 每個元件負責一種計算 (加減乘除之類的), 用電纜線輸入數值,也用電纜線輸出數值。 就好像從一批管線的前端灌水進去一樣,這些水就按照預定的管線流經一個又一個的過濾器, 每個過濾器做一種計算。 當時沒有記憶體這種東西,所以,電流不會暫停, 從一開始就按照預定的管線直奔終點而去。
以下的照片顯示 ENIAC 計算元件之間的電纜線。
這些電纜線將不同的計算元件,以不同的排列順序連接起來,
以執行不同的計算程序。
ENIAC 的程式不儲存在機器裡面,而是利用這些電纜線來決定資料 (電流) 的工作流程。 每修改一次程式,就是要實際將這些電纜線的插孔重新排列。 以下這張,就是當年將 ENIAC 重新設定程式的工作照片。
那,如果程式的執行不正確,就要除錯。通常稱為 debug。 ENIAC 的除錯工作,有兩部分。 一部分是在紙上檢查,程序的設計是否有邏輯上的錯誤。 然後,要按照紙上的設計,實際檢查那些電纜線有沒有插錯位置。 下面這張照片,就是在執行第二部分的除錯。
課外讀物:
[1] U Penn 舉行的 ENIAC 五十周年慶祝大會,有 ENIAC 線上模擬機
http://homepage.seas.upenn.edu/~museum/
單維彰 (2000/06/01) --- 00/03/29, 00/06/01