• 沒有找到結果。

计算机科学导论 - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "计算机科学导论 - 万水书苑-出版资源网"

Copied!
30
0
0

加載中.... (立即查看全文)

全文

(1)

第一层次 基本概念

第 1 章 从原始的计算工具到现代计算机

【问题引出】当今社会是一个信息社会,其主要特征表现在微电子技术、计算机技术及网络技 术的广泛应用已渗透到社会的各个方面,改变了人们的生活和生产方式。利用计算机的高速运算、 大容量存储及信息加工能力,使得以前很多可望而不可及的复杂计算成为现实,甚至许多工作如果 离开了计算机就几乎无法完成。可以毫不夸张地说,如果没有计算机,就不会有科学技术的现代化, 信息社会也将无从谈起。那么,计算机是怎样形成的?具有哪些特点和应用?计算机与信息化有何 关系?等等,这些都是计算机类专业学生必须了解的内容,也是本章所要讨论的问题。 【教学重点】本章主要介绍人类计算工具的发展、现代计算机体系的形成、现代计算机的基本 概况、计算机与信息化等。 【教学目标】了解计算工具的发展过程、现代计算机体系的形成与性能特点;熟悉信息化的相 关概念;掌握冯·诺依曼计算机的基本结构、组成原理及工作过程。通过本章学习,为进一步了解 和应用计算机以及深入研究计算机的形成与发展奠定基础。

§1.1 人类计算工具的进步

从原始的计算工具到现代的电子计算机,人类在计算领域经历了漫长的发展阶段,并在各个历 史时期发明和创造了多种计算工具。为了叙述方便起见,这里,我们把各个历史时期称为“代”。 人类计算工具的发展概况如图 1-1 所示。 电子时代 第一代计算机 第二代计算机 第三代计算机 第四代计算机 (电子管) (晶体管) (集成电路) (大规模集成电路) 光计算机 1946 1951 1959 1964 1971 1979 1994

ENIAC UNIVAC IBM7000 IBM360 Intel4004 IBM4300 光学芯片

图 1-1 计算工具的发展概况 机械时代 手工时代 机电时代 500 纪元 1621 1642 1673 1822 1834 1937 1942 1944 ┅ 帕 斯 卡 加 法 器 巴 比 奇 差 分 机 巴 比 奇 分 析 机 工 业 通 用 机 阿计 塔算 拉机 索 电 子 十 石 结 指 子 绳 计 、 数 贝 法 壳 自计 动算 顺器 序 控 制 算 筹 算 盘 计 算 尺 莱加 布法 尼器 兹 阿德拉曼 DNA 计算实验 生物计算机

(2)

1.1.1 手工时代 手工时代是人类最原始的时代。处在当今信息时代的人们,很难想象原始人类的生活情景。我 们今天拥有的一切,是随着人类的生活需要和生产实践的需求逐步发展起来的。需求是发明之母, 人类计算工具也不例外。手工时代的计算工具,其发展过程大致可分为以下 3 个阶段。 1.十指与结绳 远古时代还没有文字。人们为了记载发生过的事件,使用最方便、最自然、最熟悉的十个手指 来进行比较和量度,从而形成了“数”的概念和“十进制”计数法。此时,手指是一种天然、方便、 简捷的计算工具。而当生产力进一步发展到依靠十个手指的运算量已不能满足需要的时候,人类不 得不开始寻求非自然的计算工具。为了表示更多的数,祖先们用石子、贝壳、结绳等作为计数工具 来统计人和猎物的数目。最早,记事与记数是联系在一起的。为了要记住一件事,就在绳子上打一 个结(knot),“事大,大结其绳;事小,小结其绳;结之多少,随物众寡。” 2.算筹 随着人类社会活动范围的扩大,计算越来越复杂,要求的数值计算能力也越来越高。我国古代 劳动人民最先创造和使用了简单的计算工具——算筹。算筹在当时是一种方便而先进的计算工具, 它可以按照一定的规则灵活地布棍于地上或盘中。筹算时,一边计算一边不断地重新布棍。 我国古代数学家通过算筹这种计算工具,使我国的计算数学在世界上处于遥遥领先的地位,创 造出了杰出的数学成果。例如,祖冲之的圆周率,解方程和方程组的天元术、四元术,著名的中国 剩余定理,秦九韶算法,以及许多精密的天文历法等都是借助算筹取得的。 3.算盘 随着经济的发展,要求进一步提高计算速度,筹棍的缺点日益显露出来,算筹最终被更先进、 更方便的计算工具——算盘(珠算)取代,这是计算工具发展史上的第一次重大改革。据历史记载, 我国公元前 500 年发明了算盘,迄今已有 2600 多年的历史。随着算盘的普及应用,并经过不断地 在《后汉书》和先秦诸子著作中,有不少关于“算”、“筹”的记载。算筹问世于商周时代, 春秋战国以及后汉的书籍中已大量出现“筹”之说,《汉书·张良传》说张良“运筹帷幄之中, 决策千里之外。”这里的“筹”,就是算筹(筹棍)。用算筹进行计算称为筹算。 祖冲之(公元 429~500 年),36 岁时为古代数学名著《九章算术》作注。《九章算术》成 书于公元 40 年,集我国古代数学之大成,历代曾有不少人为它作注,但都碰到一个难题——圆 周率 π。远古时候,称“径一周三”,即指 π=3;三国时刘徽将其精确到 3.14。祖冲之采用的计 算方法是割圆术,即将直径为一丈的圆内接一个六边形,然后再依次内接一个 12 边形、24 边 形、48 边形……每割一次都按勾股定理用算筹摆出乘方、开方等式,求出多边形的边长和周长。 这样不断求出多边形的周长,也就不断逼近圆周了。接到 96 边形时遇到了难以想象的困难,当 年刘徽就是至此止步,将得到的 3.14 定为最佳数据。祖冲之认为这样不断割下去,内接多边形 的周长还会增加,接到 24576 边形时,圆周率已经精确到了小数点后第八位,即 3.14159261, 更接近于圆周,若再增加也不会超过 0.0000001 丈,所以圆周率必然是在 3.1415926 和 3.1415927 之间。在当时,这个数值已相当精确,比欧洲数学家奥托的相同结果早了一千多年。

(3)

改进和完善,终于在元代中后期取代了算筹。算盘的构成如 图 1-2 所示。 算盘由框、梁、档、珠等四部分组成。每一档模拟一个 人,每档梁上的珠子模拟一个人的双手,梁下五个珠子模拟 了一只手的五个指头,每增加一个档数便可成倍地提高运算 的精度。 算盘是我国汉族人民独特创造、采用十进制的先进计算工具。它轻巧灵活,携带方便,应用极 为广泛。随着算盘的广泛使用,人们总结出许多计算口诀(如加法口诀、减法口诀、九九口诀、除 法口诀等),使计算的速度更快了。在中世纪时期的世界各国,拥有像算盘这样普及并和人民的生 活密切相关的计算工具我国是仅有的。它不但对我国经济的发展起过有益作用,而且流传到日本、 朝鲜、东南亚,后来又传入西方世界,对世界文明作出了重大贡献。算盘是世界上公认的最早使用 的计算工具。至今,它还是我国和一些亚洲国家日常生活中重要的计算工具。在英语中,算盘有两 种拼法,一是单词 abacus,二是汉语拼音 Suan-Pan。 1.1.2 机械时代 16 世纪中叶之前,欧洲的数学和计算工具的发展是缓慢的,落后于当时的中国、印度、埃及 等国。进入 17 世纪,随着工业生产的发展,欧洲的数学和计算工具得到迅速发展。 1.计算尺 苏格兰数学家约翰·耐普尔(John Napier,1550~1617)以发明对数而闻名,1614 年他创造 了一种能帮助乘法计算的骨质拼条,称为耐普尔骨条。1621 年英国数学家威廉·奥特雷德(William Oughtred,1575~1660)根据对数原理发明了圆形计算尺(Circular slide rule),这是最早的模拟计 算工具。 2.帕斯卡加法器 1642 年,著名的法国数学家、物理学家帕斯卡(Blaise Pascal,1623~1662)设计了一台机械 式加法器,它是世界上的第一台机械计算机,如图 1-3 所示。 图 1-3 加法器 帕斯卡加法器是由一系列齿轮组成的装置,只能做加法和减法运算,这台加法器是利用齿轮传 动原理,通过手工操作来实现加、减运算的。机器中有一组轮子,每个轮子上刻着从 0~9 的 10 个数字。利用齿轮啮合装置,低位齿轮每转 10 圈,高位的齿轮就转一圈,实现了“逢十进一”的 进位功能。 算盘的发明,是人类计算工具史上的一次飞跃,是中华民族对人类文明的重大贡献之一。 它的科学性经住了长期实践的考验,直至今天,仍然有着极其顽强的生命力。令人遗憾的是, 迄今为止,我们并不知道算盘的发明者是谁。 图 1-2 算盘的构成 档 珠 框 梁

(4)

3.莱布尼兹乘法器

1673 年著名的德国哲学家、数学家(与牛顿同时创立了微积分理论)戈特弗里德·威廉·莱 布尼兹(Gottfried Wilhelm Leibniz,1646~1716),在 Pascal 加法器的基础上,增加了乘、除功能, 研制了一台能进行四则运算的机械式计算器,称为莱布尼兹四则运算器。整个机器由一套齿轮系统 来传动,重要部件是阶梯形轴,非常便于实现简单的乘除运算。莱布尼兹的乘法器,加、减、乘、 除四则运算一应俱全,为其后风靡一时的手摇计算机铺平了道路。但由于当时的生产技术水平还不 能提供廉价、精密的零件,使得大约经历了两个世纪,直到 19 世纪手摇计算机才得以商品化生产。 莱布尼兹研制出他的机械式计算器不久,又提出了进位加(Shift add)的设计思想(后来演化成“二 进制”),并系统地提出了二进制数的运算法则,对 200 多年后计算机的发展产生了深远的影响,并 被现代计算机采用。 4.雅克特提花编织机

1801 年法国工程师约瑟·雅克特(Joseph Marie Jacquard,1752~1834)发明了一种提花织布 机,在织布过程中,执行的步骤由纸带上穿孔的方式控制,这对后来计算机信息的输入输出和控制 操作的研制起了重要作用,否则,机械计算机是无法实现的。 5.巴贝奇差分机与分析机 帕斯卡、莱布尼兹设计的机械计算机都没有自动计算的功能。但雅克特提花编织机蕴涵的程序 控制的自动化思想,启发了剑桥大学(University of Cambridge)的一位学者(见图 1-4),他就是 英国数学家查尔斯·巴贝奇(Charles Babbage,1792~1871 年)。1812 年巴贝奇提出了自动计算机 的基本概念:要使计算机能自动地工作,必须把计算步骤和原始数据预先存放在机器内,使机器能 够自动地取出这些数据,在必要时能进行一些简单的判断,决定下一步的计算顺序。据此,1822 年,巴贝奇研制出了第一台差分机(Difference Engine),如图 1-5 所示。 图 1-4 巴贝奇 图 1-5 差分机 这台差分机可以保存 3 个 5 位的十进制数,并能进行加法运算,精确度可达到 6 位,而且还能 打印出结果,是一种供制表人员使用的专用机。差分机的杰出之处是能按照设计者的意图自动完成 一连串的运算,体现了计算机最早的程序设计思想。这种程序思想的创建,为现代计算机的发展开 帕斯卡的父亲是一个收税员,帕斯卡为了帮助父亲算账,研制了加法器,对父亲的工作起 了很大的帮助作用。Pascal 发明的加法器在法国引起了轰动。这台机器在展出时,前往参观的 人川流不息。Pascal 加法器向人们揭示:用一种纯粹机械的装置去代替人们的思考和记忆是完 全可以做到的。为了纪念帕斯卡在计算机领域开拓性的贡献,1971 年尼可莱斯·沃思(Niklaus Wirth)教授将自己发明的一种程序设计语言命名为“Pascal 语言”。

(5)

辟了道路,在计算机发展史上占有极其重要的地位。 1833 年,巴贝奇提出了一项大胆的设计,他的目标不仅仅是 能够制表的差分机,而是一种通用的数学计算机。巴贝奇把这种 新的设计叫做“分析机”(Analytical Engine),它是现在通用计算 机的始祖。1834 年,巴贝奇研制了一台可以运转的分析机模型, 如图 1-6 所示。 分析机的重要贡献在于它包括了现代数字计算机所具有的 5 个基本组成部分。 (1)输入装置:用穿孔卡片输入数据。 (2)存储装置:巴贝奇称它为“堆栈”(Store)。该装置被设计为能存储 1000 个 50 位十进制 数的容量,它既能存储运算数据,又能存储运算结果。 (3)资料处理装置:巴贝奇称它为“磨坊”(Mill),通过它来完成加、减、乘、除运算。其 演算加法的速度为每秒钟一次,演算乘法的速度为每分钟一次。这样的速度已经大大超越了原来所 有机器的速度。并且在运算过程中,还能根据运算结果的符号改变计算的进程,用现代术语来说, 就是使用了条件转移指令。 (4)控制装置:使用指令进行控制,使用程序自动改变操作次序。它们是通过穿孔卡片顺序 输入处理装置完成的。 (5)输出装置:用穿孔卡片或打印方法输出。 由此看出,在现代电子计算机诞生一百多年以前,就已经提出了几乎完整的设计方案,并包含 了程序设计思想的萌芽。这些概念和设计思想,为现代电子计算机的形成奠定了基础。巴贝奇首先 提出带有程序控制的完全自动计算机的设想,是向现代计算机过渡的关键一步。 1.1.3 机电时代 20 世纪初,电子管的诞生,开辟了电子技术与计算技术相结合的道路。1919 年,W.H.Ecclers 和 F.W.Jordan 用两只三极电子管接成了 E-J 双稳态触发器。这一关键技术的研制成功,引起了人们 极大的重视,它使人们联想到可以使用电子管来作为计算工具的元件,即用电子元件表示二进制数, 以提高计算速度的可能性。这一时期典型的计算工具主要有以下 3 种。 在巴贝奇分析机艰难的研制过程中,必然要提及到一位计算领域著名的女程序员—阿 达·奥古斯塔·拜伦。1842 年 27 岁的阿达,迷上了这项当时被认为是“怪诞”的研究。阿达 对分析机的浓厚兴趣和卓越见解对巴贝奇是极大的鼓舞,她成为巴贝奇科学研究上的合作伙伴。 阿达负责为巴贝奇设想中的通用计算机编写软件,并建议用二进制存储取代原设计的十进制存 储。她指出分析机可以像雅克特织布机一样进行编程,并提出了程序设计(Program Design)和 编程(Programming)的基本要素,还为某些计算开发了一些指令,开天辟地第一次为计算机编 出了程序,包括三角函数计算程序、级数相乘程序、伯努利数计算程序等。她对分析机的潜在 能力进行了最早的研究,预言这台机器总有一天会演奏音乐。由于阿达在程序设计上开创性的 工作,被誉为是世界上第一位软件工程师和第一位程序员。1979 年美国国防部(Department of Defense)研制的通用高级语言就是以阿达命名的,称为 Ada 语言,以寄托人们对她的纪念。 图 1-6 分析机

(6)

1.工业通用计算机

1937 年美国贝尔实验室的 George Stibitz 和哈佛大学的 Howard Aiken 等人开发了工业通用的机 电式计算机。随后,1938 年美国的 V.Bush 为解线性微分方程而设计了微分器,它是世界上第一台 电子模拟计算机。 2.阿塔纳索夫计算机 1939 年 12 月,美国衣阿华州立大学物理学教授阿塔纳索夫(J.V.Atanasoff)首次尝试用电子 元件按二进制逻辑制造电子管数字计算机,主要用于解决一些线性方程的系统。这项工作曾因战争 一度中断,直到 1942 年在研究生贝利(Cliffod Berry)的帮助下,才研制成一台很小的电子管计算 机(Atanasoff Berry Computer,ABC),从此拉开了用电子器件制作计算工具的序幕。

3.Mark 计算机 1936 年,美国青年霍华德·艾肯(Howard Aiken,1900~1973)来到哈佛大学攻读物理学博 士学位。在撰写博士论文,查阅参考资料时发现了巴贝奇的分析机论文。艾肯感到巴贝奇仿佛正在 同他娓娓交谈,为他讲解那台机器的结构,目光中充满着期待的神色。以艾肯所处时代的科技水平, 已经完全能够实现巴贝奇的夙愿。为此,他写了一篇《自动计算机的设想》的建议书,提出要用机 电方式,而不是用纯机械方法来构造新的“分析机”。 1944 年,在 IBM 公司提供 100 万美元资助下,艾肯研制出 了著名的“马克 1 号”(Mark-I)机电式计算机,其正式名字是 “自动顺序控制计算器”(IBM Automatic Sequence-Controlled Calculator,IBM ASCC),如图 1-7 所示。 1944 年 2 月,Mark-I 在哈佛大学正式运行,其设计思想几 乎就是巴贝奇分析机的翻版,当时就被用来计算原子核裂变过 程,所编出的数学用表至今仍在使用。1946 年艾肯发表文章称“这 台机器 Mark-I 能自动实现人们预先选定的系列运算,甚至可以求解微分方程”。这是对巴贝奇预言 的最好验证。事隔多年之后,已成为大学教授的艾肯博士谈起巴贝奇其人其事,仍然惊叹不已,他 感慨地说:“假如巴贝奇晚生 75 年,我就会失业。” Mark-I 完工后,在 1945~1947 年间,艾肯又领导研制了 Mark-II 机电式计算机。 Mark 终于实现了巴贝奇的夙愿,遗憾的是 Mark 计算机从它投入运行的那一刻开始就已经过 时。因为此时此刻,人类社会已经跨入了电子时代。但在计算机的发展史上,Mark-I 和 Mark-II 有 着重要地位,它们的成功为研制电子计算机积累了重要的经验。 1.1.4 ENIAC 的诞生 1943 年 4 月,正值第二次世界大战期间,美国陆军军械部为提高火炮弹道表的精确性和计算 速度,急需研制一台运算速度更快的计算机。当时,负责弹道表任务的是军械部弹道实验室的青年 这里值得一提的是,在参与 Mark 系列机研制的人员中,有一位杰出女性—格雷斯·霍 普(Grace Hopper,1906~1992 年)。1946 年,霍普在发生故障的 Mark 计算机里找到了一只飞 蛾,这只小虫被夹扁在继电器的触点里,影响了机器的正常运行。于是,霍普把它小心地夹出 来保存在工作笔记里,并诙谐地把程序故障统称为“臭虫”(Bug),这一奇妙的称呼后来竟成 为计算机故障的代名词,而“Debug”则成为调试程序、排除故障的专业术语。

(7)

数学家、上尉赫尔曼·哥德斯坦(Hermam H.Goldstine)。协助他一同负责弹道计算工作的还有来 自宾夕法尼亚大学莫尔学院的两位专家:一位是 36 岁的物理学教授约翰·莫齐利(John Mauchly); 另一位是他的学生,24 岁的电气工程师雷斯帕·埃克特(Presper Eckert)。莫齐利在从事分子物理 研究时,就曾想研制一种新型的高速计算工具,但苦于经费的问题,没有进行。当哥德斯坦把急需 研制高速计算机的想法和请求向莫齐利和埃克特说明后,莫齐利和埃克特很高兴。莫齐利擅长计算 机理论,埃克特专于电子技术。对莫齐利的每一种总体构思,埃克特总能从电路上使之具体化。于 是,两人向哥德斯坦提交了一份“高速电子管计算装置”的设计草案。哥德斯坦仔细看过这份设计 方案后非常振奋,如果能研制出这样的高速计算装置,那么弹道计算的效率将会提高成百上千倍! 于是,哥德斯坦决定立即向军械部争取这笔经费,尽管预算费用高得惊人(15 万美元,大约相当 于现在的 300 万美元)。1943 年 4 月 9 日,美国陆军军械部召集了一次非同寻常的会议,讨论哥德 斯坦等人提交的关于研制“高速计算装置”的报告。经过紧张激烈的研讨,最后决定批给经费,研 制这项不能确保一定能达到预期效果的开发方案。战争的需 要,推动了电子数字计算机的诞生。 1946 年 2 月 15 日是计算机发展史上值得纪念的一个日子。 在美国宾夕法尼亚大学举行了一个可载入史册的典礼,即人类 历史上第一台电子数字计算机的揭幕典礼。这台机器名为电子 数 字积 分器和 计算器 (Electronic Numerical Integrator And Calculator,ENIAC,埃尼阿克),如图 1-8 所示。 ENIAC 于 1945 年底竣工,1946 年 2 月 15 日正式举行了 揭幕典礼。这是一台重 28 吨、占地面积 170 平方米的庞然大物。它使用了 18000 多只电子管,70000 个电阻,18000 个电容,耗电量约 150 千瓦,每秒可进行 5000 次运算,堪称为空前绝后的“巨型 机”。在庆典大会上 ENIAC 不凡的表演确实令来宾们大开眼界,同一时代的任何机械和电子计算机 在它面前都只能相形见绌。 ENIAC 同以往的计算机相比,最突出的特点是它采用了电子线路来执行算术运算、逻辑运算 和存储信息。为了执行加减运算和存储信息,采用了 20 个加法器,每个加法器由 10 组环行计数器 组成,可以保存字长为 10 位的十进制数。它能在 1s 内完成 5000 次加法运算,在 3/1000s 内完成两 个 10 位数的乘法运算,其运算速度至少超出“马克 1 号”1000 倍以上,这就是它能够胜任相当广 泛的现代科学计算的原因所在。但由于 ENIAC 是一台按十进制表示数字和进行算术运算,仅能进 行一些特定运算的机器。其内部只有 20 个寄存器,没有真正称得上存储器的部件。编制程序是在 控制面板上用开关进行的,所有操作都只能通过设置开关和改接线路来实现。因此,ENIAC 的操 作复杂,自动化程度低,没有最大限度发挥电子技术所具有的巨大潜力。 尽管 ENIAC 的结构和原理继承于机电式计算机,还不具备巴贝奇所预见的自动通用机的特征 (存储程序功能),但由于它是世界上最早问世的第一台电子计算机,所以被认为是电子计算机的 始祖。它的诞生,是计算机科学发展史上的一个里程碑,是 20 世纪最伟大的科技成就。 回顾计算机的发展历程,从原始的计算工具到 ENIAC,每前进一步,都是计算机先辈们艰苦 卓绝的结果;每一种新型机的诞生,都是计算机先驱者们智慧的结晶。

§1.2 现代计算机体系的形成

ENIAC 以前的计算机由于缺乏最合理的体系结构与理论依据,无法实现重大突破。19 世纪中 图 1-8 ENIAC 计算机

(8)

期至 20 世纪中期,是布尔、香农、诺伯特·维纳、图灵和冯·诺依曼等人在计算机相关理论上的 突破和概念上的创新,形成了现代计算机科学的理论基础,构成了现代计算机的科学体系。 1.2.1 布尔及其布尔代数 1.布尔 乔治·布尔(George Boole,1815~1854),英国著名数学家和逻辑学家。逻辑是一门探索、 阐述和确立有效推理原则的学科,它利用计算的方法来代替人们思维中的逻辑推理过程,最早是由 古希腊学者亚里士多德(Aristotle,公元前 384~322)创立的。亚里士多德逻辑学的基本特点是使 用自然语言来描述逻辑的研究,称之为古典逻辑学。 2.布尔代数 由于莱布尼兹在建立新的逻辑系统中保留了对内涵的解释,因而,他在应用数学方法的过程中 不断遇到困难。而布尔却采用了外延的方法,因而在研究中取得了重大突破。在布尔 1847 年发表 的《逻辑的数学分析》和 1854 年发表的《思维规律研究》两部著作中,首先提出了“逻辑代数” 的基本概念和性质,建立了一套符号系统,利用符号来表示逻辑中的各种概念(逻辑判断符号化), 并从一组逻辑公理出发,像推导代数公式那样来推导逻辑定理。人们为了纪念这位伟大的逻辑学家, 将“逻辑代数”称为“布尔代数”(Boolean Algebra)。 布尔代数是以形式逻辑为基础,以文字符号为工具,以数学形式来分析、研究逻辑问题的理论。 布尔代数虽为数学,但与普通数学有着本质的区别。它研究的对象只有“0”和“1”两个数码,并 定义了“与”(and)、“或”(or)、“非”(not)三种运算。尽管布尔代数也用文字符号代替数码,以 表示逻辑变量,但这种变量的取值范围仅限于“0”和“1”,所以逻辑变量是二值的,因此又把它 称为二值逻辑。这种简化的二值逻辑为计算机的二进制、开关逻辑电路的设计铺平了道路,并最终 为现代计算机的发明奠定了数学基础。 布尔代数作为一种形式逻辑数学化的方法,提出时是和计算机无关的,但布尔代数理论和方法 为数字电子学和计算机设计提供了重要的理论基础。这种简化的二值逻辑为数字计算机的二进制 数、开关逻辑元件和逻辑电路的设计与简化铺平了道路,并为采用二进制理论的数字计算机提供了 理论基础。事实上,作为现代数学中一个重要分支的布尔代数,被数学家们应用于很多领域的研究, 如人工智能、概率论、信息论、图论、开关理论及计算科学等。 1.2.2 香农等人对布尔代数的研究 威廉·杰文斯(William Jevons,1835~1882)认为布尔代数是自亚里士多德以来逻辑学中最 伟大的进展,杰文斯于 1869 年发明了一台逻辑机,使用四个逻辑字母来进行布尔运算比不用机器 的逻辑学家能更快地解决复杂的问题。 20 世纪,人们利用布尔代数方法成功地解决了某些技术问题。1910 年,爱伦费斯特首次提出 用布尔代数作为分析和综合继电器线路的数学方法。1923 年,前苏联水利工程建筑专家戈尔塞瓦 诺夫指出,可以用布尔代数方法进行建筑物的计算。 20 世纪 30 年代美国学者克劳德·香农(Claude E.Shannon,1916~2001),1936 年在硕士论文 中将布尔代数引入了计算科学领域,该论文系统地提出了二进制的概念:能够用二进制系统表达布 尔代数中的逻辑关系,使用“1”代表“TRUE”(真),使用“0”代表“FALSE”(假)。二进制概 念的提出有很重要的意义,可以说是以后几十年里计算科学发展的基础。 1938 年,香农在硕士论文的基础上,发表了题为《继电器开关电路的符号分析》的论文,首

(9)

次提出了可以用电子线路来实现布尔代数表达式。他认为布尔代数只有 0 和 1 两个值与电路分析中 的开和关、高电位和低电位等现象完全一样,都只有两种不同的状态。在香农的线路中,按布尔代 数逻辑变量的真或假对应开关的闭合或断开。他提出,可将任意布尔代数表达式转化为一系列开关 的布局。若命题为真,线路建立连接;若命题为假,则断开连接。这种结构意味着:任意用布尔逻 辑命题精确描述的功能都可用模拟的开关系统来实现。由于香农把布尔代数用于以脉冲方式处理信 息的继电器开关,从理论到技术彻底改变了数字电路的设计方向。因此,这篇论文在现代数字计算 机史上具有划时代的意义。1940 年,香农获得麻省理工学院数学博士学位。1948 年他发表了题为 《通信的数学原理》的论文,1949 年发表了题为《噪音下的通信》的论文,解决了许多悬而未决 的问题,被尊称为“信息论之父”。 1.2.3 维纳提出计算机设计的原则 美国数学家诺伯特·维纳(Norbert Wiener,1894~1964)是控制论学科的创始人,对控制论 的创立和发展作出了重大贡献。在创立控制论的过程中,维纳开始对计算机结构设计进行研究和探 索,考虑计算机如何能像大脑一样地工作。他认为计算机是一个进行信息处理和信息转换的系统, 只要这个系统能得到数据,机器本身就应该能做几乎任何事情。1940 年,维纳提出了设计计算机 的一些原则: (1)计算机中的加法装置和乘法装置应该是数字式的,而不是模拟式的。 (2)计算机由电子元件构成,尽量减少机械部件。 (3)采用二进制运算。 (4)全部运算在机器上自动进行。 (5)内部存储数据。 这些原则对新一代计算机的研制具有较大的指导意义,在计算机发展史上,为计算机设计理论 作出了不可磨灭的贡献。 1.2.4 图灵及其 TM 和 TT 阿兰·图灵(Alan Turing,1912~1954,见图 1-9)是现代计算机思想的创始人,被誉为“计 算机科学之父”和“人工智能之父”。正如被尊为“计算机之父”的冯·诺依曼一再强调的:如果 不考虑巴贝奇等人的工作和他们早先提出的有关计算机和程序设计的一些 概念,计算机的基本思想来源于图灵。图灵对现代计算机的主要贡献体现 在两个方面:一是建立了图灵机理论模型;二是提出了定义机器智能的图 灵测试。 1.图灵机(Turing Machine,TM) 布尔用“真”、“假”两种逻辑值和“与”、“或”、“非”三种逻辑运算 成功地把形式逻辑归结为一种代数,使得逻辑中的任意命题可用数学符号 表示出来,并能按照一定的规则导出结论。那么,以布尔代数为基础,能 否将推理过程由一种通用的机器来完成呢?

1936 年,图灵在他发表的《论可计算数及其在判定问题中的应用》(On Computable Numbers with an Application to the Encryption Problem)一文中,就此问题进行了探索。在这篇被誉为现代计算机 原理开山之作的论文中,描述了一种“图灵机”(Turing Machine)模型,并给“可计算性”下了一 个严格的数学定义。图灵认为可以制造一种十分简单但运算能力很强的计算装置,用来计算可以想

(10)

像得到的可计算函数。的确,图灵机模型不仅解决了纯数学基础理论问题,而且在理论上证明了研 制通用数字计算机的可行性。这个假想的通用“图灵机”由控制器、读写头和一个两端可无限延长 的工作带组成,如图 1-10 所示。 图 1-10 图灵机工作原理示意图 工作带被划分成一个个大小相同的方格,每个方格内记载着给定字母表上的符号。控制器带有 读写头,且能在工作带上左右移动。随着控制器的移动,读写头既可读出方格中的符号,也可改写 方格中的符号。图灵机把程序和数据都以数码的形式存储在纸带上,是“存储程序”型的,这种程 序能把用高级语言编写的程序译成机器语言程序。 在最基本的图灵机结构中,程序仅由三条语句构成,分别是:  增量语句,即变量值加 1;  减量语句,即变量值减 1;  条件转移语句,根据变量是否为 0 决定执行 A 语句或者 B 语句。 图灵认为:“只要为它编好程序,它就可以承担其它机器能做的任何工作”。事实证明,这种机 器确实能进行多种运算,并可用于一些定理的证明。图灵机的研究实现了对计算本质的真正认识。 根据图灵的研究,所谓计算,就是计算者(人或机器)对一条两端可无限延长的纸带上的一串 0 或 1 经过有限步骤,最后得到一个满足预先规定的符号串的变换过程。 尽管图灵机并不是真实的计算机,只是用数学方法从理论上证明了制造通用计算机的可行性 (用简单的程序指令解决计算与逻辑问题,用形式化方法成功地表述了计算这一过程的本质),但 其思想奠定了整个现代计算机发展的理论基础。图灵机虽然只是一个抽象或概念上的机器,但它的 计算能力超过了其它任何物理计算机。这是因为:物理计算机只有有限的存储空间,同时,物理计 算机的操作速度受限于真实世界的各种约束,而图灵机是一个抽象模型,它在操作速度上不会受到 真实世界的各种约束。实践证明,图灵机不能解决的计算问题,实际计算机也不能解决;只有图灵 机能够解决的计算问题,实际计算机才有可能解决。但必须注意,有些问题是图灵机可以计算而实 际的计算机还不能实现的。 2.图灵测试(Turing Testing,TT)

1950 年,图灵发表了一篇里程碑式的论文《计算机器与智能》(Computer Machinery and Intelligence),第一次提出“机器思维”的概念。图灵提出一个假想:一个人在不知情的条件下, 通过一种特殊的方式和一台机器进行问答,如果在相当长时间内,他分辨不出与他交流的对象是人 还是机器,那么,这台机器就可以认为是能思维的。这就是著名的“图灵测试”(Turing Testing)。 当时全世界只有几台计算机,它们肯定无法通过这一测试,但图灵预言,在 20 世纪末,一定会有 计算机通过“图灵测试”,计算机能做我们想象不到的事情。 1993 年 11 月 8 日,美国波士顿计算机博物馆举行了一次引起各界关注的“图灵测试”。1997 年 5 月,IBM 公司研制的计算机“深蓝”与国际象棋冠军卡斯帕罗夫进行了举世瞩目的国际象棋 大赛,可谓“世纪之战”。而最终“深蓝”以两胜一负三平战胜了卡斯帕罗夫。这一结果让世界为 之惊叹!再一次掀起了对图灵这一伟大预言的热烈讨论。今天,图灵测试已被公认为是“证明机器 1 1 1 0 0 1 1 0 0 0 1 1 1 0 0 1 1 控制器

(11)

具有智能的最佳方法”。 事实上,图灵对计算机科学的贡献远不只是图灵机和图灵测试。他在专用密码破译计算机设计、 计算机程序理论、神经网络和人工智能等领域也做出了开拓性的研究;在量子力学、概率论、逻辑 学、生物学等诸多领域都有突出贡献。为了纪念这位伟大的计算机奠基人,美国计算机学会(ACM) 将其年度奖命名为“图灵奖”,人们把它称为计算机科学界的诺贝尔奖。 1.2.5 冯·诺依曼及其 EDVAC

美籍匈牙利著名数学家约翰·冯·诺依曼(John Von Nouma,1903~1957 年,见图 1-11)曾 是 ENIAC 的顾问,他在研究 ENIAC 计算机的基础上,针对 ENIAC 的不足之处,并根据图灵提出 的存储程序式计算机的思想,于 1945 年 3 月提出了“存储程序控制”思想.1945 年 6 月,一个全新 的存储程序式、被认为是现代计算机原理模型的通用计算机—电子离散变量自动计算机 (Electronic Discrete Variable Automatic Computer,EDVAC)方案诞生了,而此时,ENIAC 机还尚 未完成。1946 年 6 月,诺依曼发表了更为完善的设计报告《电子计算机装置逻辑结构初探》。在该 报告中,他提出了以二进制和存储程序控制为核心的通用电子数字计算机体系结构。1951 年 EDVAC (埃德瓦克)宣告完成。1952 年进行最后试验,并在美军阿伯丁弹道实验室开始正常运转。EDVAC 模型机如图 1-12 所示。 图 1-11 冯·诺依曼 图 1-12 EDVAC 模型机 EDVAC 方案的提出和研制成功,标志着现代计算机体系的形成,也使得冯·诺依曼被称为“计 算机之父”。基于冯·诺依曼思想设计的现代电子计算机,其基本原理、结构组成与工作过程主要 体现在以下 5 个方面。 1.二进制原理 计算机虽然很复杂,但其基本元件都可看作是电子开关,而且每个电子开关只有“开”(高电 位)、“关”(低电位)这两种状态。如果这两种状态分别用“1”和“0”来表示,则计算机中的所 有信息,不论是数据还是命令,都可以统一由“1”和“0”的组合来表示。在计算机中采用二进制 具有如下优点: (1)电路简单:与十进制数相比,二进制数在电子元件中容易实现。因为制造仅有两种不同 稳定状态的电子元件要比制造具有十种不同稳定状态的电子元件容易得多。例如开关的接通与断 开、晶体管的导通与截止都恰好可表示“1”和“0”两种状态。 (2)工作可靠:用两种状态表示两个代码,数字传输和处理不易出错,因此可靠性好。 (3)运算简单:二进制只有 4 种求和与求积运算规则: 求和:0+0=0;0+1=1;1+0=1;1+1=10 求积:0×0=0;0×1=0;1×0=0;1×1=1

(12)

而十进制数的求和运算从 0+0=0 到 9+9=18 共有加法规则 100 条,求积运算从 0×0=0 到 9×9=81 共有乘法规则也是 100 条。显然,二进制数比十进制数的运算要简单得多。 二进制是德国数学家莱布尼兹在 18 世纪发明的,他的发明受中国八卦图的启迪。莱布尼兹 曾写信给当时在康熙皇帝身边的法国传教士白晋,询问有关八卦的问 题并进行了仔细研究,之后莱布尼兹还把自己制造的一台手摇计算机 托人送给康熙皇帝。 八卦由爻组成,爻分为阴爻(用“--”表示)和阳爻(用“-”表 示),用三个这样的符号组成八种形式,叫做八卦。每一卦形代表自然 界一定的事物,用乾、坤、坎、离、震、艮、巽、兑分别代表:天、 地、水、火、雷、山、风、泽。如果用 1 表示阳爻,用 0 表示阴爻。 用三个阳爻和阴爻便可构成八种不同的组合,正如三个二进制位能表 示八种不同的状态一样。八卦爻的组成如图 1-13 所示。 (4)逻辑性强:计算机的工作原理是建立在逻辑运算基础上的。二进制只有“1”和“0”两 种状态,正好与逻辑命题中的“是”和“否”相对应。 2.存储程序控制原理 存储程序控制是冯·诺依曼计算机体系结构的核心,其基本思想包括 3 个方面的含义: (1)编制程序:为了使计算机能快速求解问题,必须把要解决的问题按照处理步骤编成程序, 使计算机把复杂的控制机制变得有“序”可循。 (2)存储程序:计算机要完成自动解题任务,必须把事先设计的、用以描述计算机解题过程 的程序和数据存储起来。 (3)自动执行:启动计算机后,计算机能按照程序规定的顺序,自动、连续地执行。当然, 在计算机运行过程中,允许人工干预。 计算机中的程序是用某种特定的符号(语言)系统对被处理的数据和实现算法的过程进行的描 述,是各种基本操作命令的有机集合。 3.基本功能 从“存储程序控制”概念不难想象出,要实现“存储程序控制”,诺依曼计算机必须具有以下 5 项基本功能: (1)输入输出功能:计算机必须有能力把原始数据和解题步骤(程序)接受下来,并且把计 算结果与计算过程中出现的情况告诉(输出)给使用者。 (2)记忆功能:计算机应能“记住”所提供的原始数据、解题步骤和解题过程的中间结果。 (3)计算功能:计算机应能进行一些简单、基本的运算,并能组成所需要的一切计算。 (4)判断功能:计算机必须具有从预先无法确定的几种方案中选择一种操作方案的能力。例 如计算 a+|b|,在解题时应能够根据 b 的符号确定下一步进行的运算是“+”还是“-”。 (5)控制功能:计算机应能保证程序执行的正确性和各部件之间的协调关系。计算机的工作 就是在程序的控制下完成数据的输入、存储、运算、输出等一系列操作。 4.结构组成 从功能模拟的角度,诺依曼计算机应由与上述功能相对应的部件组成,这些部件主要包括:输 入设备、输出设备、存储器、运算器、控制器等,其逻辑结构如图 1-14 所示。 图 1-13 八卦图

(13)

这种结构是典型的冯·诺依曼结构,基于这种结构的计 算机具有以下特点:  整个机器以运算器为中心,输入/输出信息与存储器 之间的数据传送都经过运算器;  控制信号由指令产生,指令由操作码和地址码组成;  采用存储程序控制,程序和数据放在同一存储器中;  指令和数据均以二进制编码表示、运算和存储,并 可按地址访问;  指令在存储器内按顺序存放,并按顺序执行,但在特定条件下可以改变执行顺序。 冯·诺依曼结构计算机要求程序必须存储在存储器中,这和早期只有数据才存储在存储器中的 计算机结构是完全不同的。当时完成某一任务的程序是通过操作一系列的开关或改变配线系统来实 现的。冯·诺依曼结构计算机的存储器主要用来存储程序及其相应的数据,这意味着数据和程序应 该具有相同的格式。实际上,它们都是以二进制模式存储在存储器中的。 5.解题过程 按照诺依曼原理,计算机的解题过程可概括为:给出数学模型、确定计算步骤、编写程序、存 储程序和执行程序 5 个步骤。下面以 a+|b|计算为例说明解题过程,计算 a+|b|的程序流程如图 1-15 所示。 图 1-15 解题过程流程图 (1)给出数学模型:编程之前,需要先给出相应的数学模型。 例如计算 a+|b|,其数学模型为: a+b b≥0 a–b b<0 (2)确定计算步骤:有了数学模型便可根据给定的模型来确定计算步骤,并且用程序流程图 描述。 a+|b|= 图 1-14 冯·诺依曼机逻辑结构框图 存储器 控制器 运算器 输 入 设 备 输 出 设 备 取数 a 到寄存器 A 取数 b 到寄存器 B y n 输 出 停 机 B≥0? A+B A-B A=a B=b 开 始 存 数 结果送入存储器 判断 b≥0 作 a+b 运算 b<0 作 a-b 运算

(14)

(3)编写程序:就是用某种特定的符号语言对被处理的数据和实现算法的过程进行的描述。 根据流程图用计算机语言编写程序的过程称为程序设计。 (4)存储程序:把编制好的程序存放到存储器中,以便自动执行。 (5)执行程序:启动可执行程序,输出运行结果。 计算机之所以能自动、高效地工作,其关键是冯·诺依曼的“存储程序控制”概念的提出和实 现。六十多年来,虽然计算机以惊人的速度发展,在体系结构上有许多改进,但仍然是建立在存储 程序概念的基础上,所以人们把基于冯·诺依曼结构的计算机称为现代计算机。

§1.3 现代计算机的基本概况

现代计算机是一种能自动、高速、精确地进行数学运算和信息处理的现代化电子设备,所以 又称为电子计算机(Electronic Computer)。它是人类在长期的生产和研究实践中为减轻繁重的手 工劳动和加速计算过程而努力奋斗的结果,也是人类智慧的结晶。从原始的计算工具到 ENIAC 诞生的前夕,计算机的发展经历了三个阶段:手工时代、机械时代、机电时代。1946 年 ENIAC 的 诞生,揭开了电子计算机的发展序幕。基于二进制和存储程序控制的冯·诺依曼结构计算机,奠定 了现代计算机的理论基础,为现代电子计算机的发展铺平了道路。通常,人们把基于冯·诺依曼结 构的现代计算机简称为计算机。 1.3.1 计算机的发展过程 推动计算机发展的因素很多,其中起决定作用的是电子器件,即构成现代计算机的基本逻辑部 件。因此,计算机的发展与电子器件紧密相关。从第一台计算机的诞生到现在,如果按电子器件划 分,计算机的发展经历了以下阶段,人们常简称为代。 1.第一代计算机 第一代(first generation,1946~1957)为电子管计算机。其主要特 点是:基本逻辑部件采用电子管,如图 1-16 所示;内存储器采用磁鼓(后 来也采用磁芯);外存储器采用磁鼓或磁带;数据表示主要用定点方式; 体系结构以运算器为中心;软件方面主要采用机器语言编写程序,但只 能通过按钮进行操作;应用方面以科学计算为主。第一代计算机的缺陷主要体现在速度慢(每秒数 千次到数万次)、体积大、耗电多、可靠性差、价格昂贵。 这一时期计算机的主要产品如下:1946 年交付使用的 ENIAC 被公认是世界上的第一台电子数 字计算机。1949 年,英国剑桥大学科学家威尔克斯(M.Wilkes)教授在 EDVAC 的启发下主持研制 了世界上第一台程序存储式的现代计算机(Electronic Delay Storage Automatic Calculator,EDSAC)。 1951 年,由莫齐利和埃克特(ENIAC 的设计者)设计了世界上第一台通用自动计算机(Universal Automatic Computer,UNIVAC)。这是一台串行运算、同步控制的计算机,它不仅可做科学计算, 而且能做数据处理。该机采用了汞延迟线作为存储器,并已从实验室的单机试制转向工业化的批量 生产,向市场供应。1953 年交付使用的 IBM701 在当时是一台大型科学计算机,使用了静电式示 波管存储器,另外有一台磁鼓作为后援。该机能够并行运算,比 UNIVAC 快得多。后来,IBM605 计算机研制成功,其磁鼓每分钟旋转 12500 转,输入输出用卡片机。1953 年由美籍华人王安发明 的电流重合法磁芯存储器第一次安装在麻省理工学院(M.I.T)的计算机上,其存取周期为 5μs。 图 1-16 电子管

(15)

2.第二代计算机 第二代(second generation,1959~1964)为晶体管计算机。其主要特点是:基本逻辑部件采 用晶体管为主元件,如图 1-17 所示;内存储器采用磁芯;外存储器采用磁鼓和磁带,后期也开始 使用磁盘;数据表示采用了定点和浮点方式;体系结构以存储器为中心,从而使计算机的运算速度 大大提高(每秒数十万至数百万次);软件方面也有很大进展,用管理程序替代手工操作,出现了 汇编语言和多种高级语言(如 Fortran、COBOL、ALGOL 等)及其编译程序;在应用方面,除用 于科学计算外,还用于各种数据处理。与第一代计算机相比,提高了速度、减小了体积、降低了功 耗、增强了可靠性,因而大大改善了性能/价格比。 这一时期计算机的主要产品如下:1958 年,第一台商用晶体管计算机 MCR304 交付使用。1960 年,小型晶体管计算机 IBM1401 交付使用,它出售了几千台;同期出现的还有 IBM7040、IBM7070、 IBM17090 等。1960~1961 年,UNIVAC-LARC 和 IBM7030(STRETCH)大型晶体管计算机相继 交付使用。1964 年,CDC6600 交付使用。该机比 IBM7030 功能强 3 倍,每秒平均执行 300 万条以 上指令。这主要是因为它采用了并行结构、多个运算和逻辑部件,以及 10 台小型计算机专门用作 输入输出的结果。 3.第三代计算机 第三代(third generation,1964~1971)为集成电路计算机。其主要特点是:基本逻辑部件采 用小规模集成电路(SSI)和中规模集成电路(MSI),如图 1-18 所示;内存储器除采用磁芯外,还 出现了半导体存储器;外存储器有磁带、磁盘等;软件技术进一步成熟,出现了操作系统、编译系 统等系统软件,并出现了网络和数据库。这一时期,计算机的运算速度可达每秒数百万至数千万次, 可靠性进一步提高,价格明显下降,应用领域不断扩大。计算机的发展已开始形成通用化、系列化、 标准化、模块化,系列化成为计算机设计的基本指导思想。 图 1-17 晶体管 图 1-18 集成电路

1964 年,IBM 公司的 IBM360 系列计算机研制成功。它以兼容 IBM 以前的机器为特点,并且 作为新的竞争者投入市场。该系列计算机采用了双极型集成电路。当时就有几千台交付使用,几乎 成了以后计算机的标准。 第三代计算机的可靠性更高、功耗更少、体积也更小,使得计算机的造价大幅度降低,计算机 的性能有了极大的飞跃。IBM360 型计算机是迄今为止历史上获得最大成功的一个通用计算机系列。 它具有通用性、系列化、标准化的特点。正是从第三代计算机起,计算机进入普及阶段,并被广泛 应用于商业管理、过程控制、教育、实验室数据处理等各个领域。1972 年统计的使用领域已达 2900 多个。在程序设计技术方面形成了三个独立的系统:操作系统、编译系统和应用程序,统称为计算 机软件系统。 4.第四代计算机 第四代(forth generation,1971~至今)为大规模和超大规模 集成电路计算机。其主要特点是:基本逻辑部件采用大规模集成 电路(LSI)或超大规模集成电路(VLSI),如图 1-19 所示;内存 图 1-19 超大规模集成电路

(16)

储器普遍采用半导体存储器,并采用了高速缓冲和虚拟存储技术;外存储器以大容量磁盘为主,并 开始使用光盘;在体系结构方面,发展了并行处理技术、多机系统、分布式计算机系统、计算机网 络以及数据流结构的计算机等;软件方面各项技术日趋完善,发展了数据库系统、分布式操作系统、 网络操作系统等。由于软硬件技术的不断发展,计算机的运算速度每秒达数千万次以上,计算机已 进入尖端科学、军事工程、空间技术、过程控制、文化教育、事务处理等领域。而所有这些,都得 益于英特尔公司的微处理器产品。 1971 年末英特尔公司发布的 Intel 4004 是微处理器的开端,也是大规模集成电路发展的必然结 果。在这以前,大规模集成电路只是用在计算机的存储器方面。Intel 4004 是 4 位处理器,它把运 算器和控制器做在一块芯片上。虽然 Intel 4004 的功能还很弱,但它的出现,使计算机进入了微型 计算机的时代。 1972~1973 年,8 位微处理器相继问世,最先出现的是 Intel 8008。尽管它的性能还不完善, 但展示了无限的生命力,促使许多厂家投入竞争,使微处理器得到了蓬勃的发展。后来又出现了 Intel 8080。在 Intel 8080 问世不久,又出现了摩托罗拉公司的 MOTOROLA 6800。

1978 年以后,16 位微处理器相继出现,使微型计算机又达到一个新的高峰。首先是 Intel 8086, 以后又有日本电器公司(NEC)的 UCOM16000 以及美国 ZILOG 的 Z-8000,MOTOROLA 的 MC68000。这些机器的特点是采用 16 位运算(与小型计算机一样),寄存器多,寻址能力强,运算 速度快,微型计算机已经开始抢占小型计算机的领地,大型计算机的厂家也感到了威胁。 第四代计算机的主要成就表现在微处理器(Microprocessor)技术上。微处理器是一种超小型 化电子产品,它把计算机的运算、控制等部件制作在一个集成电路芯片上,这不仅使计算机的体积 进一步缩小,而且使可靠性得到进一步提高。在微电子技术的推动下,计算机的体系结构和软件技 术得到了飞速发展。微型计算机(Microcomputer),特别是个人计算机(Personal Computer,简称 PC)的问世,以其体积小、功耗低、价格便宜、高性能为优势渗入到社会生活的各个方面,并得 到了极其广泛的应用。 第四代计算机中的微型计算机已经进入了几乎所有的行业,并渗透到办公室、家庭、游戏和娱 乐中。巨型机的诞生也是第四代计算机的一个引人注目的成就。巨型机的运算速度可达每秒数千万 次至数百亿次。这类处理速度极快、存储容量极大的计算机系统,在现代化的大规模工程建设、军 事防御系统、国民经济宏观管理以及社会发展中的大范围统计、复杂的科学计算和数据处理等方面 发挥着重要作用。 1.3.2 计算机的基本类型 现代电子计算机是一种通过电子器件对信息进行加工、处理的机器,并且有多种分类方法。 1.根据信息表示形式和处理方式分类 从广义上讲,可分为数字计算机、模拟计算机以及由两者构成的模拟-数字混合计算机。 (1)数字计算机(Digital Computer):是指能够直接对离散的数字和逻辑变量进行处理的计算 机,它所处理的电信号在时间上是离散的,称为数字量。正如电子线路中用电平的高低或脉冲的有 无来表示数值的 1 和 0 一样,因而可用一串脉冲或一组触发器输出电平的高低表示一个数值,用不 同的组合便可表示不同的数值,增加组合位数就能增加数的表示范围和精度。在数字计算机中,根 据它的适用范围和用途不同,又分为以下两种类型:

1)专用计算机(Special purpose computer)。是指针对某一特定应用领域或面向某种算法而研 制的计算机。例如工业控制机、专用仿真机、处理卫星图像用的大型并行处理机等。

(17)

2)通用计算机(General purpose computer)。是最常使用的数字计算机,并根据规模大小,又 可分为:巨型计算机(Giant computer)或称超级计算机(Super computer),例如银河计算机;大 型计算机(Largescale computer 或 Mainframe computer);中型计算机(Medium-size computer);小 型计算机(Minicomputer),例如 PDP-11 系列便是高档小型计算机;微型计算机(Microcomputer); 工作站(Workstation)也是一种高档微型计算机系统。 由于微型计算机的迅速发展,其字长已达到 32~64 位,主频已高达 1000MHz 以上,内存容 量已达数吉字节。所以今天的微型计算机,只是在体积上的缩小,在性能和体系结构方面,与传统 的大、中、小型机相比,已不再有明显的界线。 (2)模拟计算机(Analogue Computer):是指能够直接对模拟量进行操作的计算机,它所处 理的电信号在时间上是连续变化的,称为模拟量(如温度、流量、电压等)。这种计算机的特点是 运算速度很高,但精度较差,所以应用范围比较小。模拟计算机主要用于过程控制和模拟仿真。

(3)模拟-数字混合计算机(Analogue-Digital hybrid computer):是把数字计算机和模拟计算 机的优点结合起来设计而成的计算机。因此,这种计算机不仅能处理离散的数字量,而且还能处理 连续的物理量。例如医院使用的监护系统就是一种混合计算机,它通过测量病人的心脏功能、体温 和其它身体状况,然后把这些测量信号转换成数字量并进行处理,以监视病人的身体状况。 现代技术已经可以将一些连续变化的物理量进行模-数转换,变为数字量。数字化信息不仅可 用来表示各种物理量和逻辑变量以至文字符号、图形等,还能够用各种存储器或寄存器保存,使计 算机具有极大存储量,从而可对大量的数据信息进行处理。因此,数字计算机除了数值计算外还能 进行逻辑加工,并具有更强的功能,故使得电子数字计算机成为信息处理装置的主流。所以,人们 通常说的计算机就是指电子数字计算机,简称为电子计算机。 2.根据指令流和数据流分类 1966 年,Michael Flynn 提出了根据指令流和数据流的数量对计算机系统结构进行分类。由于 当前的计算机系统结构的主流发展方向是控制驱动方式下的并行处理,因而这一分类方法获得普遍 认同。Flynn 将计算机系统结构分成以下 4 种类型:

(1)单指令流单数据流(Single Instruction stream Single Data stream,SISD):这类计算机的 指令部件一次只对一条指令进行译码,并且只对一个操作部件分配数据。目前大多数串行计算机都 属于 SISD 计算机系统。

(2)单指令流多数据流(Single Instruction stream Multiple Data stream,SIMD):这类计算机 有多个处理单元,它们在同一个控制部件的管理下执行同一条指令,但向各个处理单元分配各自需 要的不同数据,并行处理机属于这一类计算机系统。

(3)多指令流单数据流(Multiple Instruction stream Single Data stream,MISD):这类计算机 有多个处理单元,按多条不同指令的要求对同一个数据及其中间结果进行不同的处理。这类计算机 已被证明不可能存在或不实际,现在还没有这类计算机系统。

(4)多指令流多数据流(Multiple Instruction stream Multiple Data stream,MIMD)。这类计算 机包含有多个处理机、存储器和多个控制器,实际上是几个独立的 SISD 计算机的集合,它们同时 运行多个程序并对各自的数据进行处理。多处理机属于这类计算机系统。

1.3.3 计算机的主要特点

计算机之所以从诞生开始就得到迅猛异常的发展,是与电子数字计算机本身所具有的性能特点 分不开的。由于基于诺依曼体系结构的数字计算机采用高速电子器件、数字化信息、逻辑判断和存

(18)

储程序控制,因而它具有快速性、准确性、通用性、逻辑性的特点,其结构与特性的对应关系如图 1-20 所示。 图 1-20 诺依曼结构计算机与外部特性的对应关系 1.运算速度快 计算机的运算速度,慢则每秒钟数万次,快则每秒钟数亿次。现在世界上最快的计算机每秒钟 运算可达数千亿次。仅就每秒运算一百万次的计算机而言,它连续运行一小时所完成的工作量,一 个人一生也做不完。 2.计算精度高 数字计算机的计算精度随着字长的增加而提高。目前计算机表示有效数字的位数可达数十位、 数百位,甚至千位以上,这是其它任何计算工具不可比拟的。 3.存储容量大 采用半导体存储元件作主存储器的计算机,目前仅就微型计算机而言,主存储容量可达数 GB, 辅助存储容量可达数百 GB 以上。 4.判断能力强 由于计算机具有准确的逻辑判断能力和高超的记忆能力,所以计算机是计算能力、逻辑判断能 力和记忆能力三者的结合,不仅使计算机能实现高度的自动化和灵活性,而且还可以模仿人的某些 智能活动。因此,今天的计算机已经远远不只是计算工具,而是人类脑力延伸的重要助手,有时把 计算机称为“电脑”就是这个原因。 5.工作自动化 由于计算机采用存储程序控制方式,即计算机内部的操作运算都是按照事先编制的程序自动进 行的,计算机一经启动,不需要人工干预就能自动、连续、高速、协调地完成各种运算和操作处理。 这正是电子计算机最突出的特点,也是计算机与计算器之间本质的区别所在。 6.可靠性能好 可靠性是衡量一台设备能否安全、稳定运行的重要指标,也是人们对设备的最基本要求。随着 计算机技术与电子技术的发展,采用大规模及超大规模集成电路(VSLI),可靠性大大提高,比如 装配在宇航机上的计算机能连续地正常工作几万、几十万小时以上。 对微型计算机而言,除具有上述特点外,还具有:体积小,重量轻;价格便宜,成本低;使用 方便,运行可靠;系统软件升级快,应用软件种类多;对工作环境无特殊要求等一系列特点。因而, 微型计算机得到广泛的应用。 1.3.4 计算机的主要应用 正是由于计算机具有一系列的优、特点,所以在科学技术、国民经济、文化教育、社会生活等 诺依曼计算机 存储程序 高速电子器件 数字化信息 快速性 准确性 通用性 逻辑性 逻辑判断

(19)

各个领域都得到了广泛的应用,成为人们处理各种复杂任务所不可缺少的现代工具,并取得十分明 显的社会效益和经济效益。电子计算机的主要应用领域可以概括为以下 8 个方面: 1.科学计算(Scientific Compute) 现代计算机诞生就是源于科学计算。因此,科学计算一直是电子计算机的重要应用领域之一, 例如在天文学、量子化学、空气动力学、核物理学等领域中,都需要依靠计算机进行复杂的运算; 在军事上,导弹的发射及飞行轨道的计算,飞行器的设计、人造卫星与运载火箭轨道的计算更是离 不开计算机。用数字计算机解决科学计算问题的过程如图 1-21 所示。 图 1-21 数字计算机的解题过程 2.信息管理(Information Management) 计算机在信息管理方面的应用是极为广泛的,如企业管理、库存管理、报表统计、账目计算、 信息情报检索等。在当今这个信息时代,计算机在信息管理中的应用越来越广,并已形成一个完整 的体系,即信息管理系统。按其功能和应用形态,可分 为事务处理系统、管理信息系统、决策支持系统和办公 自动化系统。计算机信息管理系统各层次之间的关系如 图 1-22 所示。

(1)事务处理系统(Transaction Processing System, TPS):是倾向于数据处理的系统,即使用计算机来处 理基层管理中所涉及的大量数据,如工资结算、会计 账目等。

(2)管理信息系统(Management Information System,MIS):是以基层事务处理为基础,把 企事业中各子系统集中起来所形成的信息系统,它为中层管理各项活动和作出决策提供支持信息。

(3)决策支持系统(Decision Support System,DSS):是把数据处理功能、运筹学、人工智能 和模拟技术结合起来,使系统具有推理和决策功能,即根据事务处理系统和管理信息系统提供的信 息,为高层管理的决策者提供决策支持。

(4)办公自动化系统(Office Automation System,OA):是一种以计算机为主体的多功能集 成系统,它为管理和办公提供和创造更有价值的信息,并为信息的传递提供有效的支持。OA 系统 具备完善的文字处理功能,较强的资料、图书处理及网络通信能力,如文稿的起草,各种信息的收 集、汇总、保存、检索与打印各种原始数据等。因此,OA 系统不仅能促进人们正确地决策,还能 改进人们的工作方式,提高工作效率。 3.实时控制(Real-time control) 实时控制是指在信息或数据产生的同时进行处理,处理的结果又可立即用来控制进行中的现象 或过程。实时控制的基本原理是基于一种反馈(feedback)机制,即通过被控对象的反馈信号与给 定信号进行比较,以达到自动调节的控制技术。实时控制系统原理如图 1-23 所示。 在该系统中,由计算机给定的数字量(Digtal-value),经过 D/A,转换成连续变化的模拟量 (Analog-value)送给执行部件(将弱信号转成强信号)以驱动控制对象,此过程称为实时控制。 为了实现自动控制,必须把控制对象中的连续信号返回到输入端,以形成闭环系统。从被控制对象 中取出的连续信号接入传感装置(将强信号转成弱信号),经过 A/D,将连续变化的模拟量转换成 图 1-22 计算机信息管理系统的层次关系 事务处理系统 管理信息系统 办公自动化系统 决策支持系统 基层管理 中层管理 办公管理 高层管理 离散模型和数值计算 程序设计 实际问题 数学模型 上机求解

(20)

数字量送入计算机中,此过程称为数据采集。被采集到的数据经计算机进行处理、分析、判断和运 算后输出数值控制量。 图 1-23 实时控制系统原理框图 实时控制广泛地应用于过程控制、生产控制、参数测量等诸多领域。把计算机用于实时控制, 是使用计算机及时地搜索检测被控对象的数据,然后按照某种最佳的控制规律来控制过程的进展。 从而,可以大大提高生产过程的自动化水平,提高产品质量、生产效率、经济效益和降低成本。在 国防尖端科学技术方面,更是离不开计算机的实时控制。

4.计算机辅助系统(Computer Aided System)

计算机辅助系统是指以计算机作为辅助工具的各种应用系统。目前主要指使用计算机进行辅助 设计、辅助制造、辅助测试和辅助教学这 4 个方面:

(1)计算机辅助设计(Computer Aided Design,CAD):是使用计算机来帮助设计人员进行工 程设计,以提高设计工作的自动化程度,节省人力物力。它是利用计算机的高速运算、大容量存储 和图形处理能力,辅助进行工程设计与分析的理论和方法,是综合了计算机科学与工程设计方法的 最新发展而形成的一门新兴学科,并已获得广泛的应用。

(2)计算机辅助制造(Computer Aided Manufacturing,CAM):是使用计算机进行生产设备 的管理、控制和操作的过程,在生产过程中可以改善工作人员的工作条件。

(3)计算机辅助测试(Computer Aided Test,CAT):是利用计算机运算速度快、计算精度高 的特点,检测某些系统的技术性能指标。

(4)计算机辅助教学(Computer Aided Instruction,CAI):是利用计算机辅助学生学习的自动 系统,它将教学内容、教学方法以及学生的有关信息存储于计算机内,使学生能够轻松自如地从 CAI 系统中学到所需要的知识。 5.系统仿真(System Simulation) 系统仿真是利用计算机模仿真实系统的技术,即利用计算机对复杂的现实系统经过抽象和简 化,形成系统模型,然后在分析的基础上运行此模型,从而得到系统一系列的统计性能。由于仿真 技术的特效所具有的安全性与经济性,在航空、航天、军事领域的设计、定型、训练中得到广泛应 用。新型武器系统与大型航空航天飞行器在其设计、定型过程中,都要依靠仿真试验进行修改和完 善;在航空航天训练方面,利用计算机仿真技术,在导弹研制出来之前就可以让其“飞行”;飞机 驾驶员不用上天就能进入“起飞”、“空战”和“着陆”;敌战双方不发一枪一弹便能开展一场激烈 的“战斗”等。 仿真技术是以系统数学模型为对象的研究方法,并利用计算机的高速运算,在很短时间内得出 结果,因而不仅缩短了决策时间,而且可以节省工程投资费用、降低成本消耗、避免损坏设备、缩 短设计与调试周期等。据美国对“爱国者”等 3 个型号导弹的定型试验统计,采用仿真试验可以减 D/A 转换 传感装置 计 算 机 被 控 制 对 象 A/D 转换 执行部件 数字量 实时控制 模拟量 数字量 数据采集 模拟量

(21)

少的实弹发射试验次数约为 43%,节约费用达数亿美元。我国某种型号的导弹在设计和定型过程 中通过仿真试验,缩短研制时间近两年,少进行 20 多次实弹发射(型号的定型往往需要进行数十 次甚至上百次发射试验)。 目前,系统仿真已发展成与人工智能相结合组成的专家系统,并成为计算机辅助设计中极其重 要的内容。 6.人工智能(Artificial Intelligence) 人工智能是控制论、计算机科学、心理学等多学科综合的产物,是计算机应用研究最前沿的学 科领域,也是探索计算机模拟人的感觉和思维规律的科学(如感知、推理、学习和理解方面的理论 与技术)。机器人的大量出现,是人工智能研究取得重大进展的主要标志之一。人工智能研究的应 用领域包括:模式识别、自然语言的理解与生成、自动定理证明、联想与思维的机理、数据智能检 索、博奕、专家系统、自动程序设计等。近几年发展起来的神经网络计算机技术是人工智能的前沿 技术,它要解决人工感觉(包括计算机视觉、听觉、嗅觉),即解决大量需要相互协调动作的机器 人在复杂环境下的决策问题。 7.文字处理(Word Processing) 随着计算机外部设备的不断丰富、完善,特别是打印机的性能提高,近年来计算机已广泛用于 文字方面的处理。它具有比常规中文打字机字型变化多、字体的大小变化容易、编辑排版功能强等 优点,因而颇受用户的欢迎,并在逐步取代常规中文打字机和铅字印刷。目前用于文字处理的有桌 面排版印刷系统和电子出版系统,而且种类繁多,其中最典型的有 Word、金山、北大方正和华光 系统,目前北大方正已在国内出版印刷行业占统治地位。

8.娱乐游戏(Recreation and Game)

随着计算机技术、多媒体技术、动画技术以及网络技术的不断发展,使得计算机能够以图像与 声音集成的形式向人们提供娱乐和游戏。在计算机上可以观看影视节目和音乐,或从计算机网络上 下载影视节目和音乐。而网络游戏及其软件,已成为众多个体业主的产业。 当前,计算机的应用领域仍在不断拓展,特别是微型计算机的广泛应用,已渗透到社会的各个 方面,并且日益发挥越来越重要的作用,已成为信息社会科学技术和社会发展的核心。 1.3.5 计算机的发展趋势 计算机的发展并不是孤立的,它取决于元器件的进步、体系结构的改进和软件的开发。其中最 为重要的是元器件,它是决定硬件性能的根本因素。计算机从第一代发展到第四代,从根本上讲, 就是源于元器件的更新换代。专家们普遍认为:当前计算机的发展趋势是微型化、巨型化、网络化、 多媒体化和智能化。 1.微型化 由于微电子技术的发展,大规模及超大规模集成电路技术水平的提高,使计算机的体积不断缩 小,开始从台式微型计算机发展到膝上型、笔记本型计算机等。由于微处理器的处理能力方面已与 传统的大、中型机不相上下,再加上与众多技术的综合使用,因而计算机微型化的趋势今后将进一 步加快。 2.巨型化 现代科学技术,尤其是国防技术的发展,需要具有很高运算速度、很大存储容量的计算机,而 一般的大型机已不能满足要求。近年来微处理机的发展,为阵列结构的巨型机发展带来了希望。并 行处理、多处理器系统是巨型机发展的一个重要方面。

(22)

3.网络化 网络化是 20 世纪 90 年代计算机发展的一大趋势。通过使用网络,可以在任意地方、任意种类 和任意数目的计算机上运行程序并可以在任意时刻相互通信。这样就极为方便地实现了网络中各系 统间的信息交换,使信息和资源得到高效的共享。目前计算机网络已广泛应用于情报、金融、信息 管理系统等各个领域。 4.多媒体化 多媒体技术是集多种媒体信息的处理、调度、协调于一体,集微电子产品与计算机技术于一身 的综合信息处理技术。由于计算机的智能化,使多媒体技术能把数值、文字、声音、图形、图像、 动画等集成在一起,进行交互式处理,因而具有多维性、集成性和交互性的特点。这种信息表示的 多元化和人机关系的自然化,正是计算机应用追求的目标和发展趋势。近几年来,数字多媒体技术 在计算机工业、电信工业、家电工业等方面展示出令人瞩目的新成果,已无可争辩地显示出其广阔 的应用前景。 5.智能化 人工智能是计算机理论科学研究的一个重要领域,它用计算机系统模拟人类某些智能行为,其 中最具代表性的两个领域是专家系统和机器人。智能化的特点主要体现在逻辑思维和推理方面,例 如对文字、图像、声音的识别,就有赖于模式识别和对知识的理解。 人们把具有智能化的计算机称为人工智能计算机。人工智能计算机将具有听觉、嗅觉、触觉、 视觉等感觉能力,即具有自然语言理解(人机对话)的能力、“自学习”和“自创造”的能力等。 不难预测,智能计算机的功能将大大超过现有的各种计算机,它不仅可以在生产现场进行各种作业 (如代替人做一些危险的工作),还能在办公室或服务行业从事一些智力型劳动或服务工作。

§1.4 计算机与信息化

人类在认识世界和改造世界的历史过程中,认识了信息,利用了信息,并且发展了信息。信息 技术伴随着人类文明的发展而不断地进步,与此同时,也对信息处理工具提出新的要求。其中,计 算机的产生和发展,不仅极大地增强了人类认识世界、改造世界和处理信息的能力,而且促进了当 今社会从工业化向信息化发展的进程,并已成为信息化社会中不可缺少的重要工具。利用计算机的 高速运算、大容量存储及信息加工能力,使人们得以摆脱繁复而冗长的数字运算和数据处理,以前 使人望而生畏的数值计算以及各种信息处理可以在瞬息之间得出结果,而且许多工作如果离开了计 算机就几乎无法完成。可以毫无夸张地说,如果没有计算机技术,就不会有今天高新技术和经济的 飞速发展,信息化时代就无从谈起。在当今社会,信息技术与计算机技术两者密不可分,并且相互 依存,相互促进。 1.4.1 信息的相关概念 1.什么是信息 “信息(Information)”一词在西方源于拉丁语“Informatio”,表示传达的过程和内容。然而, 什么是信息?目前尚无统一定义,人们常从不同的角度和不同的层次来理解和解释。 (1)控制论的观点:控制论的创始人—美国数学家维纳认为:信息是我们在适应外部世界、感 知外部世界的过程中与外部世界进行交换的内容。具体说,凡是通过感觉器官接受到的外部事物及其 变化都含有信息,人们所表露的情感或表达的内容以及说、写、想、做的,也都含有丰富的信息。

參考文獻

相關文件

学校现有教学仪器设备超过1亿元,学校图书馆纸质藏书125万册,电子图书

  现有来自 现有来自 现有来自 现有来自44 现有来自 现有来自 现有来自 现有来自 44 44 44 44 44 44 44 个国家留学生近 个国家留学生近 个国家留学生近

Schools implementing small class teaching may have different sizes of grouping and different numbers of groups subject to the learning objectives and students’ needs.. The number

2014 年底,首经贸颁布了一份《关于教师职务晋升的补充规定》 。其中教授 职务晋升的条件当中赫然写着:“出色完成教学工作”“教学效果优秀” “任现职

• 全球已累积有 1600 万人次有效计算机案例, 5000 余家企 业、研究机构与政府组织持续追踪其有效性。. • 96% 的准确度、 34 个国家使用、

十、信息的传递

那么可以用四种颜色来给 这些区域染色,使得每两 个邻接区域染的颜色都不

在教书育人第一线工作的广大中小学教师,对社会主义教育科学的