103機

103機是中國製造的第一種通用數字電子計算機，為電子管小型計算機。該型機是在蘇聯提供的M-3小型電子計算機圖紙的基礎上研製的，研製工作由中國科學院計算技術研究所和北京有線電廠（國營738廠）承擔。1958年8月，第一台103機在中科院計算所初步調試成功，這標誌了中國第一台電腦的誕生。

103機在不同的階段有不同的型號名稱：初期沿用原名稱M-3型，1958年試製的第一台機器被命名為八一型電腦，738廠擴大生產的機器改稱103機，1961年經過質量整頓後定型為DJS-1型，經過改進提升的機器有113機、DJS-3型等型號。從1958年至1966年，103機系列共計生產約49台。目前，僅有一台DJS-1型機較為完整地保存於曲阜師範大學圖書館。

103機是字長31位（1位符號和30位二進位數字）的定點機，支持加、減、乘、除、邏輯乘法5種運算，支持有條件跳轉、無條件跳轉、停機等操作，是圖靈完備的。103機最早使用磁鼓存儲器，後又增配了磁芯存儲器。使用磁鼓存儲器時，103機運算速度約為每秒30次；使用磁芯存儲器時，運算速度約為每秒1500至2000次。

130機研製項目項目負責人為莫根生、張梓昌，骨幹有董占球、王行剛等人，另有蘇聯專家指導。

1959年起103機被用於一些科學計算，如人民大會堂主席台的力學結構計算便是由103機完成的。

## 歷史

### 背景

1956年，國務院科學規劃委員會編制的《1956-1967年科學技術發展遠景規劃綱要》（簡稱十二年科學規劃）提出要建立計算技術，在一兩年內設計並製造電子計算機。在編制十二年科學規劃的同時，在周恩來的主持下，科學規劃委員會又提出「大力發展電腦、無線電電子學、半導體、自動化，並將新技術應用於工業和國防」的「四項緊急措施」。

1957年，中國科學院主持召開了第二機械工業部、總參謀部等部門參與的計算技術計劃協調會議，討論同意並簽訂了《合作發展中國計算技術協議書》，以落實「四項緊急措施」。根據協議，研製工作通過「先集中，後分散」的方式，首先從二機部和國防部門抽調人員到中科院計算所，集中力量製造中國第一台通用電子計算機，然後有關人員再回到原單位建立發展本單位的電腦。

### 試製

1957年4月，中國科學院經政府途徑向蘇聯科學院訂購了M-3電腦的圖紙。圖紙於1957年9月中旬運抵中國科學院，隨後送到北京廣播器材廠。由於北京廣播器材廠缺乏數字系統和精密機械的生產能力，圖紙又於9月28日轉送到738廠。1957年11月中科院計算所和738廠簽訂了試製M-3機的生產合同。根據協議，738廠負責複製圖紙、編制加工工藝文件、採購元器件和原材料、製造各個部件並總裝、參與機器調試、準備批量生產等，中科院計算所負責編制機器接線表、調試和應用。

1957年10月，738廠成立總設計科第二設計室，開始著手103機的生產工作。1958年6月1日，第一台103機的3個機櫃完成生產安裝，機器從738廠用卡車運送到中科院計算所。經過2個月調試，到1958年8月1日，第一台103機成功運行了一個具有4條指令的短程序，被命名為「八一型」電腦，標誌了中國第一台通用數字電子計算機的誕生。但此時，由於可靠性、穩定性和質量問題，機器還無法投入實際使用。1958年9月上旬，蘇聯專家Г. П. 拉巴篤到計算所協助103機調試工作，主張進行可靠性調整。到1959年8月，103機正式投入使用。

### 擴大生產與質量整頓

在第一台103機調試成功後，全國多個單位提出要使用103機。1958年9月起，738廠開始批量生產103機。這批機器總共18台（其中1台留在738廠），以較低標準出廠，即電源機櫃能夠正常輸出、插件測試正常、機櫃接線通鈴檢查正確。這批機器交由使用者自己調試。

1960年，一些使用者單位向國家科委、三機部十局反饋103機的質量問題。1960年10月起，738廠停止供應103機，開始對103機電路設計的質量整頓。1961年12月22日，103機生產性試製階段的正樣試製鑑定會在738廠召開，103機通過正樣試製鑑定，被命名為DJS-1。通過鑑定的第一台DJS-1機的使用者是中國科學院大連化學物理研究所。

### 全面改進與停產

1962年下半年，738廠開始試製用於DJS-1機的2048字容量磁芯存儲器，1963年12月通過鑑定，命名為CX-1型磁芯存儲器。CX-1型磁芯存儲器可配套於103、DJS-1機，可與磁鼓存儲器同時使用。

1964年初，738廠開始試製DJS-1的全面改進型，1965年3月通過鑑定命名為DJS-3型。DJS-3型改進了運算線路，將速度提升到2300次/秒，增配了1/4英寸磁帶存儲器，增加了自動變址功能。

1966年2月8日至12日，103機系使用者技術交流會在北京西郊科學會堂召開，共48家使用者單位到會。國家計劃委員會三局局長戴忠經作「電腦發展形勢報告」，指出要發展電晶體計算機，電子管電腦自此停產。

## 設計

103機由數個高約2米的機櫃組成，包括運算控制器櫃、磁鼓存儲器櫃、電源櫃等，一些機器還配有磁芯存儲器櫃、輸入輸出與磁帶機櫃、通風機櫃等。

103機由運算器、程序發送器、存儲器、輸入輸出設備組成。運算器包含A寄存器、B寄存器、C寄存器和累加器，用於對數進行算數和邏輯操作。程序發送器即控制器，包括脈衝分配器、局部程序發送器、操作器、選擇寄存器、啟動寄存器等。

103機為異步設計，全機沒有統一的時鐘信號，機器執行一條指令分為八拍。

103機字長為31位，包含1位符號和30位數。通常，指令和數據寫成符號加上10位八進位數的形式（如：`+12 3456 7012`）。

103機使用五單位穿孔紙帶作為輸入輸出數據的載體，可以採用八進位或十進位輸入，也配有電傳打字機。

## 指令與編程

103機的指令由操作碼、第一地址、第二地址組成。操作碼為兩位八進位數，其中第二位表示操作種類：

- 0：加法
- 1：減法
- 2：除法
- 3：乘法
- 6：邏輯乘法

第一位則表示操作性質和細節：

- 0：第二地址的數與第一地址的數進行操作，結果寫入第二地址
- 1：第二地址的數與第一地址的數進行操作，結果不寫入存儲器
- 2：上一操作的結果與第一地址的數進行操作，結果寫入第二地址
- 3：上一操作的結果與第一地址的數進行操作，結果不寫入存儲器
- 4：第二地址的數與第一地址的數進行操作，結果寫入第二地址並印出
- 5：第二地址的數的絕對值與第一地址的數的絕對值進行操作，結果不寫入存儲器
- 6：上一操作的結果與第一地址的數進行操作，結果寫入第二地址並印出
- 7：上一操作結果的絕對值與第一地址的數的絕對值進行操作，結果不寫入存儲器

除根據上面的規則組合而成的40個操作碼之外，其餘指令用於轉移、傳送、停機等：

- 07、27：將穿孔帶上的數寫入第二地址，但不保留在運算器中
- 05、15：將第一地址的數寫入第二地址，保留在運算器中
- 45、55：將第一地址的數寫入第二地址並印出，但不保留在運算器中
- 24：無條件轉移到第一地址，上一操作的結果寫入第二地址，上一操作的結果仍保留在運算器中
- 64：無條件轉移到第一地址，上一操作的結果寫入第二地址並印出，上一操作的結果仍保留在運算器中
- 74：無條件轉移到第二地址，上一操作結果的絕對值保留在運算器中
- 74：條件轉移，當上一操作的結果為正時轉移到第二地址，當上一操作的結果為負時轉移到第一地址，上一操作的結果仍保留在運算器中
- 04、14、44、54、37、57、77：停機，各指令停機時寄存器的值有所不同。

## 應用

103機被廣泛用於測繪、建築、礦山等領域的科學計算，以及大學計算數學、計算技術等專業的教學。