103机
103机是中国制造的第一种通用数字电子计算机,为电子管小型计算机。该型机是在苏联提供的M-3小型电子计算机图纸的基础上研制的,研制工作由中国科学院计算技术研究所和北京有线电厂(国营738厂)承担。1958年8月,第一台103机在中科院计算所初步调试成功,这标志了中国第一台计算机的诞生。
103机在不同的阶段有不同的型号名称:初期沿用原名称M-3型,1958年试制的第一台机器被命名为八一型计算机,738厂扩大生产的机器改称103机,1961年经过质量整顿后定型为DJS-1型,经过改进提升的机器有113机、DJS-3型等型号[1]。从1958年至1966年,103机系列共计生产约49台。目前,仅有一台DJS-1型机较为完整地保存于曲阜师范大学图书馆。
103机是字长31位(1位符号和30位二进制数字)的定点机,支持加、减、乘、除、逻辑乘法5种运算,支持有条件跳转、无条件跳转、停机等操作,是图灵完备的。103机最早使用磁鼓存储器,后又增配了磁芯存储器。使用磁鼓存储器时,103机运算速度约为每秒30次;使用磁芯存储器时,运算速度约为每秒1500至2000次。[2][3][4]
历史
背景
1956年,国务院科学规划委员会编制的《1956-1967年科学技术发展远景规划纲要》(简称十二年科学规划)提出要建立计算技术,在一两年内设计并制造电子计算机。在编制十二年科学规划的同时,在周恩来的主持下,科学规划委员会又提出“大力发展计算机、无线电电子学、半导体、自动化,并将新技术应用于工业和国防”的“四项紧急措施”。[5]
1957年,中国科学院主持召开了第二机械工业部、总参谋部等部门参与的计算技术计划协调会议,讨论同意并签订了《合作发展中国计算技术协议书》,以落实“四项紧急措施”。根据协议,研制工作通过“先集中,后分散”的方式,首先从二机部和国防部门抽调人员到中科院计算所,集中力量制造中国第一台通用电子计算机,然后有关人员再回到原单位建立发展本单位的计算机。[6]
试制
1957年4月,中国科学院经政府途径向苏联科学院订购了M-3计算机的图纸。图纸于1957年9月中旬运抵中国科学院,随后送到北京广播器材厂。由于北京广播器材厂缺乏数字系统和精密机械的生产能力,图纸又于9月28日转送到738厂。[7] 1957年11月中科院计算所和738厂签订了试制M-3机的生产合同。根据协议,738厂负责复制图纸、编制加工工艺文件、采购元器件和原材料、制造各个部件并总装、参与机器调试、准备批量生产等,中科院计算所负责编制机器接线表、调试和应用。[6]
1957年10月,738厂成立总设计科第二设计室,开始着手103机的生产工作。1958年6月1日,第一台103机的3个机柜完成生产安装,机器从738厂用卡车运送到中科院计算所。[8] 经过2个月调试,到1958年8月1日,第一台103机成功运行了一个具有4条指令的短程序,被命名为“八一型”计算机,标志了中国第一台通用数字电子计算机的诞生[9]。但此时,由于可靠性、稳定性和质量问题,机器还无法投入实际使用。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家用户单位到会。国家计划委员会三局局长戴忠经作“计算机发展形势报告”,指出要发展晶体管计算机,电子管计算机自此停产。[10]
设计
103机由数个高约2米的机柜组成,包括运算控制器柜、磁鼓存储器柜、电源柜等,一些机器还配有磁芯存储器柜、输入输出与磁带机柜、通风机柜等。
103机由运算器、程序发送器、存储器、输入输出设备组成。运算器包含A寄存器、B寄存器、C寄存器和累加器,用于对数进行算数和逻辑操作。程序发送器即控制器,包括脉冲分配器、局部程序发送器、操作器、选择寄存器、启动寄存器等。
103机为异步设计,全机没有统一的时钟信号,机器执行一条指令分为八拍。
103机字长为31位,包含1位符号和30位数。通常,指令和数据写成符号加上10位八进制数的形式(如:+12 3456 7890
)。
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:停机,各指令停机时寄存器的值有所不同。
参考文献
- 钱基广. . CCF中国计算机历史记忆. 2021-01-05 [2023-03-29]. (原始内容存档于2023-03-29).
- 《当代中国》丛书编辑部 1994.
- 徐祖哲 2015.
- 王伟 2012.
- 张久春; 张柏春. (PDF). 中国科技史料. 2003, 24 (03): 189–215 [2023-07-09]. ISSN 1000-0798. (原始内容存档 (PDF)于2023-07-09).
- 徐祖哲 2015,第88頁.
- 徐祖哲 2015,第282-283頁.
- 徐祖哲 2015,第284-287頁.
- . 光明日报 (1958年8月3日). 新华社. 1958-08-03.
- . 电子学报. 1996-06, (2): 191–192. ISSN 0372-2112.
- 鲁福. . 测绘学报. 1965-11, 8 (4): 247–260.
- 抚顺矿务局; 煤炭科学研究院北京煤炭科学研究所; 辽宁省煤炭研究所. . 煤矿安全. 1974, (3): 14–23.
参考书籍
- 《当代中国》丛书编辑部 (编). . 当代中国出版社. 1994-03. ISBN 7-80092-098-4.
- 徐祖哲. . 北京: 生活·读书·新知三联书店. 2015-06. ISBN 978-7-108-05234-6.
- 王伟. . 北京: 清华大学出版社. 2012-07. ISBN 978-7-302-28555-7.