您现在的位置是:首页 >

电子计算机怎样运算

火烧 2016-12-08 03:38:53 1047
很早以前,我国就有了算盘,它比笔算来得快而方便,以后又有了计算尺、手摇(或电动)计算机,它们比算盘算得更快。随着科学的不断发展,这些计算工具还远远不能满足使用者的要求。近代的许多计算问题,不仅计算复杂、计算量大,而且计算速度要求非常之快,这样的任务只能由电

很早以前,我国就有了算盘,它比笔算来得快而方便,以后又有了计算尺、手摇(或电动)计算机,它们比算盘算得更快。随着科学的不断发展,这些计算工具还远远不能满足使用者的要求。近代的许多计算问题,不仅计算复杂、计算量大,而且计算速度要求非常之快,这样的任务只能由电子计算机来完成了。

计算机为什么能够算题?不妨先看看人是怎样算题的。我们知道,各国发射第一颗人造卫星的重量如下表所示:

如果要算一算,我国第一颗人造卫星的重量,是其他四国第一颗人造卫星重量总和的几倍?

一般总是先将算式写在纸上,即:

=?(倍)

然后将分母的四个数加起来,得到139.22公斤,最后做个除法:

173.00公斤+139.22公斤=1.24(倍)。

如果用算盘来算这个题目,需要些什么条件呢?

第一,要有一个算盘;

第二,写算式、数据及答案所用的纸;

第三,写算式、数据及答案的笔和手;

第四,指挥计算、写字的大脑。

事实上,电子计算机也具备这四个条件,它是由类似作用的四个部分构成的:

一、运算器(相当于算盘);

二、存贮器(相当于纸);

三、控制器(相当于人的大脑);

四、输入和输出设备(相当于手和笔)。

电子计算机有了这四个部分,也就能够算题了。

运算器是完成具体计算任务的——四则运算和逻辑运算。它是根据控制器的命令,从存贮器取出所需要的数进行计算,算好的中间结果或答案,再送入存贮器存放起来。运算器是由双稳态电路(双稳态触发器)和各种“门”电路(与门、或门、反相门),按特定的各种逻辑构成的。

存贮器是存放数据和指令的。计算时,在控制器的控制下,接收输入设备送来的原始数据和指令,把计算所需的数及时送到运算器,等运算器算好中间结果或答案,就把它们贮存起来;另外,还要把指令逐一送到控制器,最后把答案送到输出设备印刷出来。存贮器是由记忆元件(大多采用磁芯、磁带、磁鼓、磁盘或磁棒等)和电子线路组成。随着大规模集成电路的发展,高速度、低功耗、高密度的半导体存贮器不断问世,目前大力发展的有双极型半导体存贮器和金属氧化物半导体存贮器。

输入设备是专门送原始数据和指令到存贮器的。一般都采用光电输入设备;也就是先将数及指令穿成穿孔纸带(或者穿孔卡片),再通过光电设备,把纸带上的孔变成电信号送入存贮器。穿孔纸带上的孔,按不同的组合,可以代表不同的数(0、1、2…9)或指令(加、减、乘、除),这就象电话一样,不同的电话号码,代表着各个工厂、公社、机关或学校等单位。目前,文字输入也在大力推广和不断发展中。

输出设备是将答案或所需要的中间结果,从存贮器(或直接取自运算器)取出来并显示在纸上,告诉算题的人。输出设备的种类很多,有快速打印机、电火花印刷机、静电印刷机、照相输出设备、x—y记录仪。

然而,运算器、存贮器、输入设备和输出设备,究竟是怎样相互联系来完成计算的呢?例如:数和指令该送到存贮器的什么地方?什么时候送?存贮器又该把哪里的数、指令分别送到运算器、控制器呢?又该什么时候送呢?运算器又怎样将答案送到存贮器或输出设备呢……。这一切全靠控制器来指挥了。控制器也是由双稳态电路和各种“门”电路组成的,不过,它只是组成控制逻辑,而不是运算逻辑。

控制器又如何来指挥呢?它只是根据人们事先编制好的“计算程序”来指挥的。

控制器同人又是怎样联系的呢?这就靠“计算控制台”了。它一般是由很多开关、指示设备、电传打字机、显示设备组成的;主要是完成启动计算机和观察算题过程正常与否?各部件工作正常与否?或者人为地修改某些数据、修改某些指令。


这里,我们仍以上面人造卫星的题目为例,再看看电子计算机是怎样进行具体运算的:

第一步是编制计算程序。也就是说,将x=化成依次计算的指令。所谓“指令”,就是指挥计算机进行各种动作的命令。每条指令都由操作码和地址码组成。“操作码”是以特定的数码来表示运算性质的;假若我们规定了“操作码”的对照表(如表一所示),如“13”表示取数,“11”表示做加法,“10”表示存数,……。这就象电报一样,每个字是由规定的编码表示的。“地址码”是用数码来表示本次运算的数,放在存贮器的什么地方。实际上,每台计算机都有自己特定的对照表。为了便于理解,可以把存贮器分为“指令区”(这里以1~100号来表示)和“数据区”(101~200号)两部分。假设我们将已知数83.6、38、9.4、8.22、173依次放在数据区101~105号单元中。据算式,应先求出除数(即分母中四数之和)。第一条指令就是“取数”(取被加数83.6),而83.6这个数是放在101号的,所以,第一条指令应该写成为;接着做三次加法,则第二、三、四条指令为。把这求出来的除数存贮起来(假设存在106号),然后再取被除数做除法,于是第五,六、七条指令为。这样,计算机就算出了答案,因此,第八条指令是存答案(假设存在107号),第九条指令是印刷,第十条指令是停机。这样整个程序就编好了,如表二所示。这是一个很简单的题目,复杂的题目只是用到的指令更多,所需要的存贮单元更多而已。

第二步是穿孔。根据计算程序将纸带穿成“穿孔纸带”。


第三步是具体运算。计算员通过“计算控制台”告诉控制器,将纸带上所记载的信号依次分别送入存贮器1~10号,101~105号。启动后,控制器命令“输入设备”开动,又命令“存贮器”将纸带中的内容依次存入1~10号、101~105号。输入设备送完纸带就自动关掉,并发“输入完毕”信号给控制器。存贮器存完数后,也发个“存数完毕”信号给控制器。控制器得到这两个信号,就知道指令、数据已放在规定的地方了。于是,它就正式照程序表的第一条指令进行运算(无特殊规定,总是自动地从第一条做起):这时,控制器命令存贮器将第1号单元的指令送给它,控制器中的操作码分析器马上得到"13”,一见“13”就知道是取数,又据地址码寄存器中为101,就知道是取101号的数。于是,命令存贮器将101号的数(83.6)送到运算器,同时又命令运算器收数。当存贮器、运算器各发出“送数完毕”、“收数完毕”信号时,第一条指令就做好了。这时,控制器再命存贮器将第2号指令送给它(),分析后知道是加102号的数,于是命令运算器做加法,命令存贮器将加数(38)送到运算器送完、加好后各发出回答信号,第二条指令也就做完了。依此类推,当做完第五条指令后,139.22(除数)就存入106号单元了。做完第八条,107号中就存入了答案(1.24)。第九条指令是,控制器就命令印刷机开动,命令存贮器将107号的数送到印刷机印出答案。第十条指令是“停机”,控制器命令全机(包括控制器本身)停止工作。这时,所要的答案就在印刷纸上了。


上面介绍的电子计算机是最简单的。目前,由于对大型电子计算机的运算速度要求越来越快,往往采用并行操作、先行流水作业、堆栈等先进技术。为了解决存贮器速度跟不上运算器速度的矛盾,就采取超前(先行)取指令、超前取数。也就是本条指令尚未执行完,下面的指令已预先从存贮器取出来放在“指令控制器”中,当本条指令执行完,马上能从“指令控制器”中取得下条指令,这比到时候再从存贮器去取要快得多。同样道理,也可实现超前取数。这些都由专门的“运算控制器”(简称“运控”)来进行控制。

那么,存贮器如何与“运控”打交道呢?怎样才能提前提供指令、提供数呢?又如何做到忙而不乱呢?这就靠“存贮访问控制器”(简称“存访”)来控制。

这样一来,存贮与运算的矛盾解决了,但这时,外部设备不是更显得老牛拖车了吗?要解决这一矛盾,一方面是提高外部设备本身的速度,另一方面,也可用“以多胜少”的办法,也即用很多设备同时对信息进行输入、输出。这好比—只万吨轮运来一船货物,为了快点卸完,就用很多卡车、吊车一起去卸运一样。那么多的外部设备又怎样和主机打交道呢?这将由“通道控制器”(简称“通道”)或者“信息交换控制器”(简称“交换器”)来控制。

为了提高效率、及时处理一些问题(例如发现明显的程序错误、数据超出允许范围、临时需要“人-机对话”等等),还增设了“中断控制器”(简称“中断”)。

采用这些技术后,电子计算机的确实现了一面计算、一面存取、一面输入、一面输出等并行操作。这与简单计算机相比,速度当然大大加快了,但结构也变得更复杂、更庞大,特别使“控制”变得更复杂、更广泛、更繁忙。于是将本来的单一控制器分成很多独立控制器——“运控”、“存访”、“通道”、“交换器”、“中断”等等。

尽管目前的大型电子计算机的速度已高达每秒几百万次、几千万次,但对有些题目还显得太慢,于是又出现了“双机系统”、“多机系统”,多台计算机一起来算。

但是,无论什么计算机,也不管它多么复杂、庞大,从物理上讲,它只不过是光、电、磁、机械之间互相转换而已,而这些东西是人们日常生活和工作中天天见面的,只要对它们有一定的了解,就可以从事计算机方面的工作。并没有什么神秘,更不是高不可攀。只要认认真真学习、踏踏实实工作、仔仔细细研究,一定能掌握计算机科学。

永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码