1计算机导论2使用教材BehrouzA.Forouzan(佛罗赞)FirouzMosharraf(莫沙拉夫)刘艺瞿高峰机械工业出版社2010年出版3使用教材BehrouzA.Forouzan(佛罗赞)FirouzMosharraf(莫沙拉夫)迪安那大学.4第1章绪论5定义计算机的图灵模型.定义计算机的冯.诺依曼模型.描述计算机的三大部分:硬件、数据和软件.列举与计算机硬件相关的话题.列举与数据相关的话题.列举与软件相关的话题.讨论与计算机使用相关的一些社会问题和职业道德问题.说出计算机的简明历史.目标通过本章的学习,学生应该能够:61-1图灵模型TURINGMODELAlanTuring(阿兰.图灵)1912.6.23-1954.6.7英国数学家、逻辑学家、密码破译专家、计算机之父、人工智能之父1931年进入剑桥大学国王学院,毕业后到普林斯顿大学攻读博士,二战爆发后回到剑桥,后曾协助军方破解德国著名密码系统Enigma,帮助盟军取得了二战胜利1936年,图灵发表重要论文《论可计算数及其在判定问题上的应用》,提出“算法”和“计算机”两个核心概念(computingmachines)1950年,图灵发表题为“机器能思考吗”的论文,成为划时代之作71-1图灵模型AlanTuring在1937年首次提出了一个通用计算设备的设想。设想所有的计算都可能在一种特殊的机器上执行,这就是现在提出的图灵机Turingmachine.图灵机不是一种具体的机器,而是一种思想模型,可制造一种十分简单但运算能力极强的计算装置,用来计算所有能想象得到的可计算函数。他将该模型建立在人们进行计算过程的行为上,并将这些行为抽象到用于计算的机器的模型中,这才真正改变了世界。8数据处理器Dataprocessors在讨论图灵模型之前,首先把计算机定义成一个数据处理器。依照该定义,可以认为计算机是一个输入数据、处理数据并产生输出数据的黑盒。Figure1.1数据处理模型尽管该模型能够体现现代计算机的功能,但其定义还是太广泛。按照这种定义,也可以认为便携式计算器是计算机。(按照字面意思,它也符合定义的模型).没有说明处理的类型和数量,专用机?通用机?9可编程数据处理器Programmabledataprocessors图灵模型是一个适用于通用计算机的更好模型.该模型添加了一个额外的元素(程序)到不同的计算机器中.程序是用来告诉计算机对数据进行处理的指令集合.Figure1.2基于图灵模型的计算机:可编程数据处理器10Figure1.3相同的程序,不同的数据11Figure1.4相同的数据,不同的程序12通用图灵机TheuniversalTuringmachine通用图灵机是对现代计算机的首次描述,该机器只要提供了合适的程序就能做任何计算。一台很强大的计算机和通用图灵机能进行同样的运算。我们所需要的仅仅是为这两者提供数据以及用于描述如何做运算的程序.实际上,通用图灵机能够做任何可计算的运算.131-2冯.诺依曼模型VONNEUMANNMODEL基于通用图灵机建造的计算机都是在存储器中储存数据。在1944–1945年期间,JohnvonNeumann冯.诺依曼指出,鉴于程序和数据在逻辑上是相同的,因此,程序也能储存在计算机的存储器中.14读书过目不忘.一生掌握七种语言.最擅德语1921-1923在苏黎世联邦工业大学学习.1926年获得布达佩斯大学数学博士学位1927-1929在柏林大学和汉堡大学任教1930普林斯顿大学客座教授,1931年他成为美国普林斯顿大学的第一批终身教授1933年转到该校的高级研究所,成为最初六位教授之一,并在那里工作了一生.JohnVonNeumann(约翰·冯·诺依曼)1903.12.28-1957.2.8美籍匈牙利人数学家、化学家、物理学家、发明家、计算机专家15基于冯诺依曼模型的计算机分为四个子系统:存储器memory、算术逻辑单元arithmeticlogicunit,控制单元controlunit、输入输出单元input/output四个子系统FoursubsystemsFigure1.5冯.诺依曼模型16存储器:用来存储的区域。在计算机的存储过程中,用来存储程序和数据。算术逻辑单元:进行计算和逻辑运算。控制单元:对存储器、ALU、I/O等子系统进行控制操作。输入输出单元:输入子系统负责从计算机外部接收输入数据和程序。输出子系统负责将计算机的处理结果输出到计算机外部。四个子系统Foursubsystems17冯诺依曼模型要求程序必须存储在内存中.与早期只有数据才存储在存储器中的计算机结构完全不同:完成某一任务的程序是通过操作一系列的开关或改变其配线来实现的.现代计算机的存储单元主要用来存储程序及其响应数据。这意味着数据和程序应该具有相同的格式,这是因为它们都储存在存储器中.实际上,它们都是以二进制模式存储在内存中的(0和1序列)存储的程序概念Thestoredprogramconcept18冯诺依曼模型中的一段程序是由一组数量有限的指令组成.控制单元从内存中提取一条指令,解释指令,执行指令.换句话说,指令就一条接着一条按顺序执行.一条指令可能会请求控制单元以便跳转到其前面或者后面的指令去执行,但这并不意味着指令没有按照顺序来执行.指令的顺序执行是基于冯诺依曼模型的计算机的初始条件.当今的计算机以最高效的顺序来执行程序.指令的顺序执行Sequentialexecutionofinstructions191-3计算机组成COMPUTERCOMPONENTS我们可以认为计算机由三大部分组成:计算机硬件computerhardware,数据data,计算机软件computersoftware.20当今计算机硬件基于冯诺依曼模型,包含四部分,尽管可以有不同类型的存储器、不同类型的输入/输出子系统等。在第5章我们将详细讨论计算机模型.计算机硬件Computerhardware21冯诺依曼模型将一台计算机定义为一台数据处理机。它接收输入数据,处理并输出相应的结果。存储数据:冯诺伊曼模型并没有清楚定义数据应如何存储在计算机中。如果一台计算机是电子设备,最好的存储方式是电子信号,电子信号的出现和消失可用0、1表示。(日常使用的数据,其他类型的数据)组织数据:在将数据存储到计算机之前,能否有效的将数据组织成不同的实体和格式?数据Data22图灵或冯诺依曼模型的主要特征是程序的概念.尽管早期的计算机并没有在存储器中储存程序,但它们还是使用了程序的概念.编程在早期计算机中体现为对系列开关的开闭和配线的改变.编程在数据实际开始处理之前,是由操作员或工程师完成的.计算机软件Computersoftware23Figure1.6存储器中的程序和数据24Figure1.7由指令组成的程序251-4历史HISTORY我们将计算机的历史分为三个阶段.机械计算机电子计算机计算机的诞生26机械计算机Mechanicalmachines(before1930)用来计算的机器,与计算机的现代概念几乎没有相似之处.17世纪,法国BlaisePascal发明了Pascaline.一个用来进行加减运算的计算机器。20世纪,尼克劳斯.澳思发明了一种结构化程序设计语言Pascal17世纪后期,德国数学家GottfriedLeibnitz发明了既能进行乘除又能加减的更复杂的机器,该机器称为莱布尼茨之轮Leibnitz’wheel.第一台利用存储和编程概念的机器是提花织机Jacquardloom,由约瑟夫.玛丽.雅卡尔Joseph-MarieJacquard在19世纪初期发明的.这种织布机是利用穿孔卡(类似于存储程序)来控制在织布过程中经线的提升.1823年,CharlesBabbage发明了一种差分引擎.不仅能进行数学运算,还可以解多项式方程。后来发明了一种分析引擎,有四个组成部分:制造场(ALU),存储单元(存储器),操作者(控制单元)和输出单元(I/O)1890年,在美国人口普查办公室工作的HermanHollerith,设计出具有编程能力的机器,该机器可以自动阅读、计数和排列存储在穿孔卡上的数据.27电子计算机的诞生Thebirthofelectroniccomputers(1930–1950)1930-1950,被视为电子计算机工业先驱的科学家们发明了电子计算机.早期电子计算机并不是将程序存储到存储器中,所有计算机都是在外部进行编程的.五种杰出的计算机:ABC:第一台用于完成特定任务的计算机是通过将信息进行电子编码来实现功能,主要用于实现解决一些线性方程的系统(1939)Z1:与ABC统一时期,德国数学家设计出通用的计算机MarkI:美国海军和IBM在哈佛大学创建了一项工程,建造了这台巨型计算机,这台计算机既使用了电子部件,也使用了机械部件Colossus:英国,阿兰图灵发明了名为巨人Colossus的计算机,是为破译德国Enigma密码而设计的ENIAC:电子数值积分计算机,第一台通用的、完全电子的计算机,1946年完成设计,用了将近18000个集成块,100英尺长,10米英尺高,重30吨,获图灵奖-计算机界的诺贝尔奖28冯诺依曼提出了程序和数据应该存储在存储器中.按照这种方法,每次使用计算机完成一项新任务,只要改变程序,而不用重新布线或调节成百上千的开关.第一台基于冯氏思想的电子离散变量计算机于1950年在宾尼法尼大学诞生,命名EDVAC(埃德瓦克).存储原理、快240倍(1952核武器理论运算)与此同时,同样类型的被称为EDSAC(埃德沙克)的电子延迟存储自动计算机由英国剑桥大学的MauriceWilkes制造产生.基于冯诺依曼模型的计算机ComputersbasedonthevonNeumannmodel291956年,东北大学教授李华天带领工作人员开发研制出国内第一台模拟电子计算机。全套设备占地面积40平方米,拥有5个2.3米高的立柜式的外壳。仅各种运算小盒就有400多个。小盒中装有各种电子管1700多个、半导体二级管4300多个.国内第一台模拟电子计算机30计算机的诞生Computergenerations(1950–present)1950年以后出现的计算机差不多都基于冯诺依曼模型.虽然它们变得速度更快,体积更小,价格更便宜,但是原理几乎是相同的.31第一代计算机:电子管计算机,以商用计算机的出现为主要特征(1950–1959).电子管-穿孔卡-磁带-机器语言-体积大、速度慢-IBM700第二代计算机:晶体管计算机(1959–1965).FORTRAN、COBOL程序设计语言的发明,使得编程更加容易.晶体管-磁心、磁盘-高级语言-体积小、百万次/秒-IBM7000第三代计算机:集成电路计算机(1965–1975):集成电路的发明更减少了计算机的体积和成本.小型计算机出现在市场上.封装的程序,就是通常说的软件包也已经有售.集成电路-半导体-操作系统-性能好-IMB360第四代计算机:大规模集成电路计算机(1975–1985)出现了微型计算机.第一个桌面计算器Altair8800出现在1975年.这一时代还出现了计算机网络.第五代计算机始于1985年.见证了掌上电脑和台式电脑的诞生,第二代存储媒体(CD-ROM,DVD)的改进,多媒体及虚拟现实等.历史学家将这一时期划分成几代,每一代计算机的改进主要体现在硬件或软件方面(而不是模型).321-5社会问题和道德问题SOCIALANDETHICALISSUES计算机科学引发了一些周遭的问题,其中最为普遍的可以归类为社会问题和道德问题33社会问题Socialissues依赖:一些人认为计算机已经构成了一种依赖,使得人们的生活更加困难.社会公正:该问题的支持者辩称在家使用计算机不是所有人都能付得起的奢侈行为。计算机的花费、外围设备及每月支付的上网费对低收入家庭来说是额外的负担。这意味着计算机已经构成仅为中高收入人群的服务,