浅谈DJS-11集成电路电子计算机

🏠 首页 《无线电》杂志 1974年 🔗 第1期 🔗 第2页 分类:“现代家庭电子制作”电视讲座辅导材料 🔗 北京大学电子仪器厂 🔗

电子数字计算机的出现,是近代科学技术中的一项重大成就,同时它又推动着科学技术的迅速发展。电子计算机计算速度快,精确度高,能连续自动进行计算。我国第一台每秒钟运算一百万次的集成电路电子计算机——DJS—11机,进行各种运算的速度就达每秒钟一百万次。下面谈谈电子计算机是怎样进行运算的,DJS—11机在提高计算速度方面又具有哪些特点。

从小型电子计算机的结构谈起

电子计算机种类很多,有大有小。但是它们的结构和工作原理都是相似的。我们在用最简单的计算工具——算盘时,参与计算的有算盘本身,有用来列算式和记录运算结果的纸笔,以及使用这些工具的人。与此相仿,一台电子计算机一般由运算器、存贮器、控制器、输入设备和输出设备五部分组成。运算器相当于算盘,存贮器相当于纸、笔,控制器相当于人,而输入、输出设备是人和机器的桥梁。

1.运算器用来对数码进行算术运算(加减乘除)和逻辑运算(如逻辑乘、逻辑加、比较两个数的大小等)。它的主要部件是加法器。

我们知道,一些复杂的数学问题,可以通过数学方法转化为算术运算和逻辑运算,而这些运算又可以归结为对二进制数进行简单的加法运算。因此,以加法器为核心的运算器能够解决大量复杂的数学问题的计算。在运算器中还没有存放参加运算的数码和中间运算结果的寄存器以及移位线路等。

2、存贮器好象一个大仓库,是存放数(初始数据和中间运算结果)和“计算命令”(如加法命令、乘法命令)的部件。存贮器一般用磁心或半导体触发器组成。这是因为磁心的剩磁有两种不同极性,半导体触发器也有两种不同的状态,因而都可以用来表示二进制数中的“0”和“1”,起存贮作用。

为了进行大量复杂的运算,存贮器要存放成千上万个数和计算命令。因此存贮器划分为成千上万个单元。为了准确地从存贮器中“读出”(取出)数和计算命令,或者把它们“写入”(存入)到指定的单元,我们给每个存贮单元编一个号码,称做“地址码”。这正如同一幢大楼里住着许多人,要从楼中找到某人,必须知道他住的房间号码一样。

存贮单元的总数叫做存贮器的容量。每个单元包含的磁心或半导体触发器的数目叫做单元的长度——字长。

3.控制器是指挥电子计算机按照人们预先规定好的步骤进行操作的“指挥员”。它的任务是严格执行计算命令,综合运算器、存贮器等有关部分的要求,发出各种控制信号,使这些部件按一定顺序自动而协调地进行工作。控制器主要由各种门电路组成。

上述三部分称为计算机的主机部分。运算器、控制器通常又称为计算机的“运控”。

4.输入设备的作用是把原始数据和计算命令送入存贮器。目前输入设备多采用光电输入机。原始数据和计算命令按一定格式在纸带或卡片上穿孔,然后穿孔纸带或卡片通过光电机。利用光电转换原理,有孔的地方透光引起电流变化,无孔的地方不能引起电流变化,这样就把用“有孔”、“无孔”表示的数据和计算命令变为电信号送入计算机中了。

5. 输出设备是向操作者提供运算结果的设备。它也可以将存贮器中的部分内容输出供操作者分析、检查。常用的输出设备有数字或文字的打印、制表、穿孔、显示等装置。

输入、输出设备统称计算机的外部设备。外部设备一般是带有电子控制线路的机械装置。

主要由上述五个部分构成的电子计算机简单结构方框图如图①所示。其中控制台是人和机器直接联系的工具,用来控制计算机的启动或停止,在计算过程中对存贮器部分内容进行修改,显示某些中间结果等。方框图中单线箭头表示控制信号传送途径,双线箭头表示数据和计算命令的传送途径。

图1
图1 🔍原图 (548×467)

电子计算机的工作过程

我们用一个简单的例子y=40x\(^{2}\)+500(当x=10时)说明电子计算机的解题过程。

在机器进行计算之前,必须由操作者先确定好计算步骤,即“计算程序”。例如对上面这个题目,一种可能的计算程序是:

第一步:10×10(=100)

第二步:40×100(=4000)

第三步:4000+500(=4500)

第四步:将计算结果y=4500输出

组成计算程序的每一步,叫做一条“指令”(也就是前面说的计算命令)。因此程序实际上是为解算某一问题而编排的一串指令。一台机器所有执行的指令的全体,称为机器的指令系统。指令是用“代码”表示的,它的基本形式是:

操作码地址码  

操作码指出做哪一种运算,地址码指出运算的数在存贮器的哪一个单元。

编好程序后,计算机按以下几个步骤进行工作:

1.按原始数据(40、10、500)和上述计算步骤(共四条指令)通过输入设备送入存贮器。

2.机器按照程序依次执行指令,进行运算操作。执行一条指令包括以下几个环节(以第一条指令为例):

1)控制器从存贮器中取出第一条指令。

2)控制器分析指令内容,判断出要做乘法,按照地址码指示的存贮单元地址从存贮器将数“10”取至运算器;向运算器发出准备运算的控制信号。

3)运算器接受控制器发出的信号后,进行10×10的运算。运算完后向控制器发出回答信号,运算结果“100”保留在运算器的寄存器中。

4)机器转入执行下一条指令的准备。

这样,机器依次完成前三条指令后,便得到了结果(4500)。

3.执行最后一条指令,将结果(4500)输出打印。

上述全部过程,除了开始的输入命令和开工计算命令(即启动机器执行程序)由人工发出外,其余一切动作都是机器自动完成的。

DJS—11机的特点

DJS—11机以半导体集成电路和厚膜电路为基本元件,机内存贮容量为13万字,字长48位,还配有十几种几十台外部设备和比较完善的程序系统。但是,要达到每秒钟运算一百万次的高速度,还必须解决运算器调整运算能力和磁心存贮器存取速度较慢的矛盾,以及主机的高速度和外部设备相对的低速度的矛盾。针对上述问题,DJS—11机采取了以下几方面的先进技术和措施:

(一)存贮器采取“多体并行”的方式

为了提高运算速度,除了要求提高运算器本身的速度,还要求存贮器能及时提供操作数和指令。DJS—11机运算器采用高速半导体集成电路和高速运算方法(如多位乘法和快速除法),完全可以做到每秒钟运算一百万次。但存贮器由磁心做成,存取速度较慢,供不上每秒钟运算一百万次所需的操作数和指令。这是影响机器速度的主要矛盾。为了解决这个主要矛盾,DJS—11机将存贮器“化整为零”,分为四个容量各为3.2万字的较小的存贮器,称为“体”这四个磁心体可以同时工作。这样存取速度就比原来提高了四倍。为了使每一个磁心体最大限度地处于忙碌状态,对四个体分别进行控制。这种“多体并行”的工作方式,大大加快了速度。

(二)设置“先行控制器”

采用多体并行工作方式后,如果仍然象一般小型计算机那样,让运算器直接跟存贮器打交道,就还会受到单个磁心体存取速度的限制,多体并行工作的效率不能充分发挥。为此,DJS—11机在控制器里设置了一个叫做“先行控制器”的部件。其中有存取速度很快的寄存器。“先行”的意思是:存贮器提前向先行控制器的寄存器输送操作数和指令;控制器提前为运算器准备一批计算命令,也存放在先行控制器的寄存器中;运算器直接从先行控制器取出操作数和计算命令,并把运算结果直接存放在先行控制器中,由先行控制器负责存入存贮器。这样,运算器摆脱了磁心存贮器存取速度的限制,而从存取速度很快的先行控制器的寄存器里源源不断地取得操作数和计算命令,充分发挥了高速运算的能力。先行控制器的寄存器相当于运算器的快速小“存贮器”,在存贮器和运算器之间起缓冲作用。同时,有了先行控制器后,控制器和运算器不再象一般机器那样“串行”工作了(即控制器取指令、分析指令、取数、发出控制信号→运算器运算→控制器取指令、分析指令、取数、发出控制信号→……),而是控制器分析指令和运算器运算同时进行的“并行”工作了,消除了二者互相等待的现象,提高了机器的工作效率。

(三)用“交换器”控制外部设备

一般小型计算机的外部设备是由控制器直接控制的。当控制器控制外部设备时,就不能对运算器的运算实行控制。外部设备大多是慢速的机电装置,往往耽搁很多时间。为了让控制器做更紧迫的工作,DJS—11机将控制外部设备的工作交给一个叫做“交换器”的部件,由它控制外部设备与存贮器交换信息。只是在交换信息的开始和末尾,由控制器对交换器实行简单控制。这样,外部设备工作时,运控仍可进行运算操作,为运控和外部设备并行工作创造了条件。在交换器控制下,不同的外部设备也可并行工作。

由于存贮器分成四个体,设置了先行控制器和交换器,DJS—11机的逻辑方框图和一般机器相比,有较大的变化,见图②。其中磁盘为外存贮器,也是外部设备的一部分。前边谈到的四个体通常称为内存贮器。

图2
图2 🔍原图 (764×471)

(四)多道运行

DJS—11机设置了交换器,使控制器甩掉了直接控制外部设备的负担,提高了效率。但是如果只允许一道算题在机器里进行运算,往往会出现这样的情况:当程序执行到一定阶段时,需要将存贮器中部分或全部数据存入外存贮器中,并从外存贮器取来一批新的数据继续运算。由于外存贮器速度很慢,运控仍不得不停下来长时间等待内存贮器和外存贮器交换数据,直到新的数据到来才能继续运算。为了改变这种情况,DJS—11机采用“多道运行”的方法,在内存贮器存放四道算题程序。当一道程序需外部设备提供新的数据或指令无法继续运算时,机器就记下“运算现场”去算第二个题目;当第二个题目又由于某种原因无法往下运算时,同样也记下“运算现场”去算第三个题目……。一直到第一个题目外部设备使用完毕时,再回过头来计算第一个题目。这样,机器的运控一直处于忙碌状态,充分发挥了高速运算的能力。

要实现多道运行,除了机器本身增加必要的逻辑线路外,还要有一套管理调度多道运行的程序系统——多道程序。

综上所述, DJS—11机采用了多个存贮器并行工作和先行控制,解决了高速运算中存贮器存取速度较慢的主要矛盾,又针对主机高速度和外部设备相对低速度的矛盾,设置了专门管理外部设备的交换器,实行多道运行,保证控制器、运算器、外部设备都能并行工作,充分利用了机器各部件可能的等待时间。正是上面这些措施,保证了DJS—11机能达到每秒钟运算一百万次的高速度。

DJS—11机的应用

由于DJS—11机具有高速运算和大容量存贮的功能,应用于工业、农业、科学研究等部门各种大型数值计算和数据处理,取得较好的效果。

例如,测定我国首先制成的一种霉素——“创新霉素”的结构,需要进行大量的数值计算。仅一个三维函数图,若用手算就要用三个月时间,计算精确度还很差;而用DJS—11机十分钟就可得出精确度很高的结果。再如精确预报二十四小时内的天气,过去用手摇计算机计算,往往要算上一两个星期,即使得出结果也失去了意义。用电子计算机,几分钟内就能算出十天的气象预报数据。DJS—11机还可以用五层模式的方法,计算天气预报,这是一般中小型计算机难以完成的。

在数据处理方面,DJS—11机主要用来处理地震勘测数据。在石油地质勘探中,过去用模拟地震勘探的方法,速度慢,精确度低,要查明油层分布情况是困难的。如果钻井位置找得不准,一口井报废就会造成上百万元的损失。近年来发展起来的数字勘探技术,使用DJS—11机处理大量地震勘探数字资料,就可以较快地算出结果,并准确地描绘出地层结构图,指明油层的具体分布,从而加快了勘探速度。这是使用其它计算工具根本不可能完成的。

电子计算机用途很广,可以代替人的大量繁杂劳动和一定的思维活动。但是必须指出,它永远也不可能代替人的大脑和全部劳动。它是人制造的,也要由人来使用;它只能按照人的规定和安排去进行工作。在人和计算机的关系中,人的因素总是第一位的。我们必须批判种种唯心主义和形而上学的错误论点,用唯物辩证法指导研制、使用电子计算机,让电子计算机为多快好省地建设社会主义做出更大的贡献。