成都电讯工程学院1956年首批建立了五个专业,即:“无线电设备设计与制造”“无线电零件设计与制造”“电子器件设计与制造”“有线设备设计与制造”和“电子自动化设备设计与制造”专业,各专业学制五年。电子计算机被列为“电子自动化设备设计与制造”专业的第一个“专门化”内容(沿袭苏联专业时称“解算装置”),成为成都电讯工程学院计算机专业的萌芽。
这份专业介绍在当时是用繁体汉字排印的,《电子自动化设备设计与制造》专业介绍中阐述了计算机这个“专门化”的内容,下面是当时的专业介绍内容:
“电子自动化设备设计与制造专业有两个专门化:一个是电子计算机,一个是自动及运动装置。
最主要的要求是精确和迅速。从20世纪40年代起,就有很多的科学家埋头研究来解决这个问题,千万人多年来的辛勤劳动,终于创造了今天的电子计算机。电子计算机是近几年来科学技术上最伟大的成就之一。它在保持必需的精确度下能以极其快的速度进行着计算——每秒几万次算术运算。它在几分钟或几小时内所做的工作就抵得上熟练的计算员几年才能完成的计算。电子计算机也可以在各种自动控制系统中当做控制设备,例如控制生产过程自动化,控制炮火射出及导弹等。此外电子计算机还能解决种种逻辑问题,例如翻译、整理资料等。目前电子计算机越来越显得重要,其在各种科学技术领域的运用愈来愈广泛。
与电子计算机密切相关的是自动和运动装置,今天电子计算机已成为自动和运动装置的一个主要组成部分,同时计算机也由于在自动装置中以运用而得到很大的发展,它在结构上往往就是一个自动装置。
前者是培养能设计和制造各种电子计算机(数字型和模连续型)的工程师,后者是培养能设计和制造各种自动控制装置的工程师,当然,以上专门化的毕业生也能在有关的科学研究机关从事研究工作。
从上述的专业介绍中,我们初次看到了电子计算机的概况:一个是“每秒几万次运算”,一个是“数字型和模拟型(模连续型)”。
50多年过去了,计算机技术已今非昔比,“每秒几万次”的运算已经被每秒千万亿次的运算所替代,带有计算功能的智能用户终端比比皆是,在各种自动控制系统和智能工程系统中都有计算机,都有智能处理器芯片。“计算”的意义也被拓展到“信息处理”,成为信息社会的基础设施的核心。
电子计算机具有两个大类别,即“电子数字计算机”和“电子模拟计算机”,后者是现在的学生还比较陌生的名词。可是在50年代、60年代,成电计算机专业的师生和教职员工就先后真正制造出了“电子模拟计算机”(六阶和八阶机),为我国的国防工业作出了贡献。虽然电子模拟计算机现在已经不再存在,而成电研制的作为电子模拟计算机核心的“高性能、高精度、低漂移运算放大器”已经在业界产生了深远的影响。
在“电子数字计算机”领域,成电计算机的师生们历经千辛万苦,实际完成了历经电子管、晶体管、小规模集成电路、中小规模集成电路的电子数字计算机的设计和制造。从电子管的104机,到晶体管的441—B机,到集成电路的930机,混合型的DJS—130机,再到有CPU芯片的紫金II微型机等,成为成电计算机专业史上的辉煌,为新中国在电子计算机领域的研究和应用作出了重要贡献。计算机专业编著的教材《电子模拟计算机原理》和《电子数字计算机原理》成为当时国防科委七所院校的公用教材,产生了极大的影响。
从专业介绍中可见,1957年建校后的招生只有五个专业,其中包含10个专门化方向。50多年后再回首,电子科技大学已经发展到15个学院,3个研究院,研究生招生学科方向近100个,本科专业近50个。当年,电子计算机“专门化”的培养目标是“培养能设计和制造各种电子计算机(数字型和模连续型)的工程师”,当年招生仅20余人。看看今天,计算机专业的发展有目共睹,已经融合了教学、科研、产品研发、国际合作、学生创业等在内的同步发展,最近在国家自然科学基金研究项目申请上获得的新突破,更显现了计算机专业的新的目标。
再看看我们今天的专业介绍和招生简章更显示了电子科技大学和各个专业的特色和风采,成电全体师生和教职员工,正意气风发、放眼未来,为更高的目标而奋斗。
昨天我们DIY计算机
——纪念JKX351工业控制计算机系统诞生
刘乃琦
现在信息技术领域中有一个时髦的词汇,称之为DIY,是Do It Yourself的首字母缩写。其含义在于自己亲自动手做一件事,如“DIY一台计算机”即自己动手装配一台计算机。不久前有中学生DIY机时让我做指导,我说“你们自己去做,没问题的!”因为,这只是装配。回想起我在成电做学生时,真正地DIY过计算机,从思考、设计、绘制、制作、焊接、连线,一直到调试成功。这个DIY机的过程对我帮助极大,成为我以后工作、研究和做项目的基础。
三十年一晃而逝,自己DIY计算机的过程还深深地印在我的脑海里。
一、“一两黄金买不到一两玻璃”
1975年,作为成都电讯工程学院计算机专业的学生,我们一行四人以毕业设计的方式进入由刘心松老师负责的一项工业控制计算机系统项目。项目是用一台计算机来对光学玻璃产品的退火过程进行炉温控制,温度数据通过安装在炉体的热电偶采集,经模—数转换后传至工业控制计算机,经过处理后的控制信号反馈到执行机构控制退火温度,形成一个实时闭环系统。
当时,这个厂承担着国防光学玻璃的生产任务,但由于工艺和过程控制等诸多问题,生产出的玻璃产品一直都属于次品,没有一、二类产品,极大地影响了国防工业和相关应用。而如果从德国进口产品,在当时一两黄金还买不到一两玻璃。出于为国争光,为国防出力,成电的老师们承担了这个光荣而艰巨的任务。
然而,当时没有现成的计算机,因此,研制工业控制计算机的任务也就落在了项目组自己的肩上。我们进入时,项目已经开始,项目组的老师有刘心松、刘绍烯、向世清等。控制计算机代号为JKX351,即“计算机控制系统(35信箱)一号”。从此,我们就开始了真正的DIY计算机的过程,到现在我还保存着自己承担的JKX351机设计部分的整套笔记本和记录。
我的导师刘心松老师是一位思想睿智、治学严谨、做事踏实、管理严格和学术造诣甚高的学者,在项目实施过程中,我们既是师生,又是朋友,他对我们的关心、要求、指导和鼓励使我们受益匪浅。这是我参与完成的第一个项目,以后又先后完成了十余个大大小小的项目,我都把刘心松老师的严谨治学和认真工作的精神带入,并贯彻于始终。
二、设计“CPU”,行吗?
自己设计CPU,不是吹牛吧,我们行吗?回答是,行!
那个时代,世界上还没有CPU这个词,计算机系统的整个运行和运算装置需要我们自己来设计和构造。当时,这几个部分被分别称为运算器、控制器、存储器和外部设备,我们的设计就围绕着它们展开。
“初生牛犊不怕虎”,在刘心松老师的指导和鼓励下,我们几个年轻人大胆地接受了这样的任务。我的主要任务是对控制器电路和微指令译码器电路的设计、修改和调试,并增加相关的指令。众所周知,指令及其译码线路是现代CPU核心中最重要的部分,指令码的长短、操作码的位数、地址与控制码的类型都是需要逐字逐句地研究和讨论的。这台“聪明”的机器,当时的指令数也不过是可怜的70余条。
在指令确定后,必须设定它的微操作电位和脉冲,并进行译码线路设计,这是我们的难点,每条指令经过译码后的电位或者脉冲输出都必须与相应的电路部件相连接,这些接口部件,有的是运算器(累加器)的数据门和进位链,有的是寄存器的端口,有的是存储器的译码阵列,你必须熟悉整个系统工作的时序,你才能了解指令译码后形成的电位或者脉冲在什么时间、什么地点产生、以什么极性驱动,它们下一步应当到达什么位置,这个时间期限有多长?
为了简单可靠,JKX351计算机没有全加器,而仅用B、C两个寄存器组外加进位链组成运算电路。当时,采用晶体管分离元件组成逻辑和时序电路,有一个非常重要、影响很大的问题,就是“门延迟”。器件的不归一性和传输延迟很可能影响和毁掉整个系统。因此,我们每天都为图纸上的电路的“与非门”结构、“反向器”结构、电平和脉冲极性、门的级连、选通脉冲的控制和时序问题而争论。最后,刘心松老师总会以精辟的见解给我们以启迪和总结。
全部电路图和电路插件板都是人工手绘,没有复印设备和绘制工具,全靠手工誊写和用绘图板与鸭嘴笔、直尺等绘制印刷板。修改后的新图纸不得不重新绘制,这浪费了不少时间。计算机的代码总线为14位,一块约200×100mm的电路板上仅仅排列了可怜的两位触发器,加上附加电路。因此,需要七块电路板,嘿!看看酷不酷!
那时的计算机机柜上的插件板都是自己设计制作的,JKX351计算机的机柜是一人多高的铁框架,水平建构了一排排的插件框,框架上均匀地排列着插件板槽,每个插件板上是分立元件的寄存器(双稳态触发器)、级连电路和控制电路。而从机柜的背面看过去,则是令人眼花缭乱的走线,这些信号线、数据线都要人工根据它们的起点和终点在机架的空隙中穿过。别小看这些布线,这里面有着大学问。机架间隙有限,线径当时是0.5~1mm。要考虑的因素很多,如:最短路径、最佳中继点、最可靠焊接点等。还要考虑线间干扰,双绞线“绞花”与密度、非屏蔽线与屏蔽线的使用、脉冲线与电平线与电源线的隔离与屏蔽、接地线的接地点与机架屏蔽点、外部设备(长线)的接口和接入点等。有时为一条线的走向伤透了脑筋,为消除线间产生的干扰一次又一次地换线。
插件板上的电路都是我们自己设计的,双稳态电路的布局、晶体管的选择和配对、电阻电容的筛选都必须亲自进行。当时流行的是“军品”级的器件最可靠,虽然价格贵,为保证质量,我们也尽可能选择军品。
几经周折,我们的“CPU”(运算器加控制器)终于成功运行了。指令和地址译码所产生的电平和脉冲工作正常、时序正常,从启动到数据显示正常。自然,我们乐欢了!
三、给计算机配“显示器”和“键盘”
现在DIY计算机,实际是部件的组装,各种CRT、LCD显示器拿来就用。可在当时,根本没有显示器,计算机的运行状态和数据显示是用小灯泡,小灯泡没有灯丝,也不是现在的LED发光管,是被称为氖灯的小灯泡。
JKX351机的显示氖灯分别安装在机架和控制台两个地方,分别显示数据变化和系统控制状态。氖灯的点亮会因工作过长和驱动晶体管的漏电流等受到影响,亮度会产生波动,即不该亮的时候它却在点点闪亮,这往往造成我们对系统控制和数据的误判。我们的工作在氖灯控制电路的设计、修改和调试上也经过反复的测试、筛选和稳定测试,在显示装置的稳定性上花去不少时间。
当时的计算机也是没有键盘的,数据的输入不得不靠搬键开关和穿孔纸带,前者在控制台上用于设定地址和几条关键微指令编码(类似于DJS—130机的手拨13条),依次用一个按钮送入,设置寄存器的初始状态,并使计算机执行最初的指令。后者则将含有数据编码的穿孔纸带通过纸带阅读机送入计算机内存(磁芯存储器),用于较长的指令序列(程序)的输入。不过,穿孔纸带的数据输入有时不得不反复送几次才能保证程序的完整。
上述输入方式不能真正做到人机即时交互,送进机器的数据不能马上确认是否正确。为提高输入速度和实时性,刘心松老师大胆地提出了用电传机作为JKX351机的输入和输出,并作为控制台打印机。他把这个任务交给了我。
电传机从外观上类似一台英文打字机,采用标准英文打字键盘排列,与打字机不同的是每按下一个字母键,会驱动一个电磁铁,通过吸合连杆在电传机胶辊卷纸上打印出该字母。重要的是在按键的同时,它会在该电磁铁连接端口上产生一个脉冲序列,每个字母按键对应了不同的编码,称为电传码。我的下一个任务就是为计算机配置这个既可以作为数据输入,又可以作为数据输出的设备。当时,可以看成是计算机“键盘”的雏形,闲时还能做英文打字机使用。
电传机的型号是T51,全名叫电传电报机,为东德进口的机器。可我此前对电传机是什么、如何工作、电路和数据方式如何一窍不通,对如何与计算机相连,也没有任何概念。不过,这是一项新的挑战,我一定要把它拿下。
设计开始,我在一个星期内翻译完成了T51电传机的使用手册,分析了该机全部按键和控制键的五单位电码序列(国际标准电码表),并根据任务需求,列出了要实现的功能和时序。即:用键盘发出信息传送到主机,从主机接收信息,打印出来并同时能够穿孔为五单位纸带,数据为双字长28位,用5位二进码表示一个十进制数。然后开始I/O控制电路设计,先绘出电路框图,再对5单位代码进行约简化得出逻辑式,再设计28位打印寄存器组、脉冲源和移位电路,再设计电平转换电路(因计算机主机是负逻辑0至12V,而电传机是正逻辑0至+10V)和电磁铁线圈驱动电路,再考虑所采用的晶体管(锗管和硅管)和组建触发器的配对管,再编写数据传送和打印调试程序,再……
经过数次的失败,不断地改进,解决了电平转换、脉冲宽度与时延、长线干扰、双绞线“绞花”疏密、感性电路电流稳定和电源退耦和滤波问题,终于配置成功。电传机成为我们与计算机通信的新工具,也是我们DIY的第一个“键盘”,为JKX351机控制台命令发送、数据回传奠定了基础。
四、在“下雨”声中小寐
当时,向世清老师负责计算机的存储器设计,机器采用的是磁芯存储器,成千上万个直径约0.6毫米的小磁环排列成一个M×N的阵列,比头发丝还细的绝缘导线要在其内环中按一定顺序穿过三根或者四根,从而组成了一个存储器平面,如果在引出线上通以脉冲电流,就可以利用电流重合方向对磁芯进行翻转磁化,形成数据的记录,每一个小磁环作为一个数据位。