||
1-2 计算工具与算法第一章 计算的历史
上一节提到了古巴比伦人借助平方数来实现乘法运算的技巧,但该算法的前提是需要知道特定的平方数的值。能否方便的在计算机上算出我们所需要的平方数呢?
观察下面这个数列: 1,4,9,16,25,36,49...,这是一个平方数序列。如果从第二个数开始,把数列中的每一项减去其前项,就可以得到一个新的数列:3,5,7,9,11,13...,一个等差数列。然后再次后项减前项,就得到一个全部值都为2的数列。这种数列后项减前项的运算被称为差分运算。一次这样的操作,就是一阶差分,在一阶差分的基础上继续作差分就是二阶差分。学过微积分的就知道,这实际上是对应了函数y = x2 的一阶、二阶导数运算。如果能设计出一台计算装置,来实现数列的逐次相加、逐次相减运算,就能根据已知的初值(2阶差分需要3个初值)不断递推求出后继的平方数、立方数甚至完成其他更复杂的多项式运算。
巴贝奇(Charles Babbage 1791-1871)是最早提出差分机的思想的人,可直到他去世差分机都没能最终完成。巴贝奇差分机与前面提过的机械计算机最大的不同点在于它使用了递推运算,也就是循环计算的思想。为了有效的实现递推,还需要解决数据存储的问题。巴贝奇甚至还设计了用穿孔卡片来控制差分机的计算过程,这已经初步具备了现代计算机的雏形。当然,就当时的技术条件来讲,确实过于复杂了。
同样还是在英国,一个叫图灵(Alan Mathison Turing,1912—1954)的年轻人,高屋建瓴的提出:计算的本质就是把一组数(或称一组状态)按照某种规则转换为另外一组数(另一组状态)的过程。所以,如果一台计算机能完成:状态的记录和按指定规则进行状态转换,那就意味着实现了自动化的计算。按照当时的技术条件,他提出了一个简洁的计算机模型:一条可以记录状态的磁带,一个能完成对磁带进行读、写操作的磁头,以及控制磁头操作的状态转换控制器。图灵使用电磁信号作为数据状态的表达方式,大大简化了原来用机械状态表达数据的方案。因此能适应对大批量数据进行处理。在机械计算机中需要通过人为控制手柄的转动方式和数据的解读方式来实现四则运算。而在新一代计算机中,为了能实现更加快速和复杂状态变换,使用了一种叫继电器(relay)的器件。继电器可以借助电流的通断来控制开关的闭合与开启。针对不同的计算要求,只要给出正确的电平信号,就能控制计算机实现指定的状态变换。1943年10月。绰号‘巨人’的计算机在英国完成,该机 为二次大战中破译德军的密码立下汗马功劳。二战结束后英国军方把巨人机锁进了保险柜。美国人则快速推进了相关领域的研究与应用,并逐步确立了在计算机领域的领导地位。
尽管继电器实现了通过电信号来控制计算状态的转换,但本质上还是借助电磁力实现的机械开关电路。因此这个阶段的计算机无论是体积、功耗都比较大,运行速度也受到限制。这种状况随着一种静态电子开关元件 —— 三极管的发明而得到了根本的改观。三极管利用半导体材料的物理特性,实现了通过基极b的电平信号来控制集电极c、发射极e之间的电路通断功能。由于三极管是纯电子的开关元件,开关速度大大提高。随着制造工艺的进步三极管的体积越做越小,功耗越来越低。最后甚至可以把成千上万个三极管电路集成到一片硅片上,这就是后来的集成电路。从此,计算机就完全走入了电子时代。尽管从基本原理上来看与早期的机械计算机并没有本质区别,但电子计算机依靠其极高的运算速度,再配合算法科学的进步,许多原来觉得不可能被计算的问题都被纳入到了计算机服务的领域。信息时代的大门由此开启。
body { } .chapter { font-size:11px; } .hh1 { float:left; font-family:楷体_GB2312; font-size:40px; height: 60px; width:100%; padding-left:30px; margin-right:20px; } .heng { padding-left:2px; margin-left:2px; } .keywords { color :Navy; font-size:16px; width :auto; float :right; margin-right:5px; margin-bottom:20px; padding-right:10px; padding-bottom:5px; } .titleBar { background-image:url('pic/tBar.JPG'); background-color:#658fa7; width: 100%; height :20px; } #tLeft { font-size:14px; color:#bbe0e3; float :left; width :200px; padding-top:3px; padding-bottom:2px; padding-left:7px; font-weight:bolder; } #tRight { font-size:14px; color:#bbe0e3; float :right; padding-top:3px; padding-bottom:2px; padding-right:5px; font-weight:bolder; } .chapterIntro { height :auto; } .introPic { float :left; height: 242px; width: 284px; margin-right:5px; margin-bottom:5px; margin-top:5px; } .introText { width:auto; font-size:16px; line-height:180%; padding-left:10px; } .chapterIndex { width:100%; } .blankLine { width:100%; height :30px; } .firstChar { font-size:28px; margin :-10px; padding-right:12px; font-family:隶书; } .index { font-size:28px; padding-right:12px; font-family:隶书; } li { font-size:18px; line-height:180%; } h3 { font-size:18px; line-height:130%; } .question { background-color:#ccc; margin:10px 10px 10px 3px; padding:0px 10px 3px 10px } .leadPic { visibility :hidden; height :1px; float:left; } .firstChar2 { font-size:24px; margin :0px; padding-right:2px; font-family:幼圆; }
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-2 08:49
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社