1、1计算机导论计算机导论计算机基本概念计算机基本概念计算机是什么?计算机是什么?计算机的基本原理计算机的基本原理计算机的历史计算机的历史2计算机是什么?计算机是什么?我们怎么定义计算机?我们怎么定义计算机?我们考虑人的定义是什么?我们考虑人的定义是什么?比如:两足行走的灵长类动物?比如:两足行走的灵长类动物?比如:能使用工具的动物?唯一用背睡觉比如:能使用工具的动物?唯一用背睡觉的动物?的动物?为什么外星人(如果有的话)会被我们毫为什么外星人(如果有的话)会被我们毫不犹豫地承认为不犹豫地承认为“人人”?(我们似乎不在乎他们的外形我们似乎不在乎他们的外形)(我对人的定义)(我对人的定义)人是能够用
2、人是能够用某种语某种语言言进行进行思维和交流思维和交流的智慧生物。的智慧生物。3计算机是什么?计算机是什么?计算机(或者称为计算机(或者称为“电脑电脑”),我们随处),我们随处可以见到、听到。超级计算机、小型机、可以见到、听到。超级计算机、小型机、图形工作站、服务器、微机、笔记本电脑、图形工作站、服务器、微机、笔记本电脑、单片机单片机甚至很多设备(如机床)或日用品(如手甚至很多设备(如机床)或日用品(如手机、洗衣机、微波炉、照相机)中也大量机、洗衣机、微波炉、照相机)中也大量采用电脑控制。采用电脑控制。4计算机是什么?计算机是什么?如果有一天,有一只动物,走到你的面前,告诉如果有一天,有一只动
3、物,走到你的面前,告诉你:你:“我是一个人!我是一个人!”你能不能断定、或者说根你能不能断定、或者说根据什么断定它是人或不是人?据什么断定它是人或不是人?如果商店里摆放着一台电扇,说明书写着:微电如果商店里摆放着一台电扇,说明书写着:微电脑控制。你能不能断定、根据什么断定它是电脑脑控制。你能不能断定、根据什么断定它是电脑或不是电脑控制?或不是电脑控制?1给它出一道数学题,看它会不会做?2看它的设计资料或干脆拆开,看有没有 电脑芯片?3.如何根据定义判断它是不是计算机?如何根据定义判断它是不是计算机?5怎样定义计算机?怎样定义计算机?方案1:能够进行数学计算的机器?方案2:由基本的通用硬件组成,
4、通过执行预先编制好的程序,完成程序所规定的功能。计算机最早确实是为完成计算任务设计和发展起来的。但是,由于“程序控制”技术的出现,“计算”已经成为次要的或从属的任务了!计算机通过程序能够完成的功能五花八门,可以说是“无所不能”!6计算机定义计算机定义l定义:Computers are electronic devices that can follow instructions to accept input,process the input and then produce information.l定义:计算机是能够依照指令来接受输入、处理输入和产生信息的电子设备。7计算机是什么?计算机
5、是什么?数字计算机(数字计算机(digital computer)对离散的数字量进行处理,输出的结果仍然是离散的数字量。模拟计算机(模拟计算机(analog computer)对连续的物理量(电流、电压等)进行处理,获得的输出仍然是连续的物理量。电子计算机的分类电子计算机的分类由于数字计算机技术的飞速发展,模拟计算机已基本消亡。8计算机是什么?计算机是什么?通用数字计算机(通用数字计算机(general)计算机的设计与制造并不针对某一具体应用,而是通过所执行的程序完成具体的功能。专用数字计算机(专用数字计算机(special)专门针对某一具体应用设计的、靠硬件(有时有少量软件)完成其功能。专用
6、机的趋势:专用机的趋势:用通用芯片,搭建专用系统(嵌入式系统)。数字计算机的分类数字计算机的分类9计算机是什么?计算机是什么?通用计算机的分类通用计算机的分类 超级计算机(超级计算机(Supercomputers)主机(主机(Mainframe computers)工作站(工作站(Workstations)微机(微机(Microcomputers),),PC 微处理器(微处理器(Microcontroller)10计算机的基本原理计算机的基本原理考虑一个简单的逻辑问题:联合国考虑一个简单的逻辑问题:联合国安理会五个常任理事国对重要问题安理会五个常任理事国对重要问题有否决权。假定他们不能弃权,为
7、有否决权。假定他们不能弃权,为他们设计一个表决器。他们设计一个表决器。开关闭合表示反对灯亮表示否决11计算机的基本原理计算机的基本原理“一票否决”似乎有点霸道。这个问题有一个很“民主”的漂亮的说法:重要问题必须五个常任理事国一致同意才能通过。开关闭合表示同意灯亮表示通过12计算机的基本原理计算机的基本原理问题的上述两个说法是完全等价的。为了解决这类问题,布尔创立了布尔代数。布尔代数中,可以证明这两个命题等价(摩尔定理)。EDCBAREDCBAR13逻辑运算逻辑运算 设两个开关设两个开关K1和和K2与一盏灯与一盏灯L串联,考虑它们串联,考虑它们的关系:的关系:K1K2LK1K2LK1K2L:K1
8、K2LK1 and K2都为真时,都为真时,L为真。我们称这种运算为为真。我们称这种运算为“与与”运算(即运算(即and 运算)记作:运算)记作:LK1 and K214逻辑运算逻辑运算 设两个开关设两个开关K1和和K2与一盏灯与一盏灯L并联,考虑它们并联,考虑它们的关系:的关系:K1 or K2为真时,为真时,L为真。我们称这种运算为为真。我们称这种运算为“或或”运算(即运算(即or 运算)记作:运算)记作:LK1 or K2K1K2LK1K2LK1K2LK1K2L15逻辑运算逻辑运算 设一个开关设一个开关K与继电器与继电器R串联,而串联,而R的常闭触点的常闭触点与一盏灯与一盏灯L串联,考虑
9、它们的关系:串联,考虑它们的关系:KLRKLRK 为真时,为真时,L为假;为假;K 为假时,为假时,L为真。我们称这为真。我们称这种运算为种运算为“非非”运算(即运算(即not 运算)记作:运算)记作:LK16计算机的基本原理计算机的基本原理布尔代数中,任何变量或表达式只有0或1两个值,也就是:真和假。很有意思,布尔代数中表达的所有逻辑关系,用对应的逻辑电路就可以实现。实际上布尔代数的表达式本身就已经设计好了逻辑电路!用布尔代数对逻辑表达式化简,等价于化简逻辑电路!这其实也不奇怪,很多事物都有其对立的两方面!17计算机的基本原理计算机的基本原理一个布尔表达式可以用一个逻辑电路来实现。表达式中的
10、所有变量是逻辑电路的输入,而逻辑电路的输出代表了表达式在这种输入状态下的输出。这种输出只与输入有关的逻辑称为组合逻辑。有些逻辑电路的输出不仅与当前输入有关,还与上一次的状态有关。这种电路叫做时序电路。时序电路的逻辑可以用时序表或状态图+布尔表达式来描述。18计算机的基本原理计算机的基本原理逻辑电路可以用继电器、电子管、晶体管和集成电路实现。过去就有全部用继电器制造的自动电话交换机,它用非常复杂的逻辑电路实现成千上万部电话的自动交换功能。令人惊奇的是:有一种继电器控制的自动电话交换机(纵横制交换机),其原理居然与现在电子计算机控制的程控交换机几乎完全一样!19计算机的基本原理计算机的基本原理逻辑
11、电路可以实现任意逻辑功能,能不能用逻辑电路制造一台能够进行数学计算的机器呢?当然能!但是数学计算的逻辑关系过于复杂,导致了这样的机器成本过高,难于设计和制造。能否将数学计算分解成若干简单的步骤,只设计一个能够实现这些简单步骤的机器,一步一步地完成整个计算?只要这些计算能够自动进行,只要计算足够快.20计算机的基本原理计算机的基本原理例如:如何设计一个自动织地毯机?如果我们设计了一个能够根据卡片上的穿孔控制色线的抬或落的机器,然后将花样信息穿孔在一大叠卡片上,每读一张卡片织一行,所有的卡片读完,一块美丽的地毯就织好了!如果要想换一种花样,只要再穿孔一叠卡片就行了!一台简单的计算机几乎就要诞生了!
12、21计算机的基本原理计算机的基本原理为了实现数学计算,这样的计算机还要有一些存储器,存储数据和中间结果。美国科学家冯纽曼(Von Neumann)在1946年提出了一个计算机体系结构:把程序象数据一样存储在计算机的存储器中,用一个指令计数器指向所要执行的指令,这个指令将会被取出来执行。执行完毕之后指令计数器自动增加,指向下一条指令。必要时,指令会修改指令计数器的内容。至此,现代计算机诞生了!22计算机的基本原理计算机的基本原理既然程序象数据一样存储在普通的存储器中,它们当然能被程序修改。“正在执行的指令修改内存中的指令”这一技术最早可以用来产生循环,现在则能用来将高级语言程序转换成可执行程序。
13、这一技术也被计算机病毒利用,将有害程序到处传播。直到现在,冯纽曼的体系结构还没有根本改变。23计算机的历史计算机的历史人类最早的计算工具大概是手指。Digit的本意就是手指。中文也说“屈指可数”,可见远古时期世界各地的人都用过手指计算。人类所用的十进制数也起源于十指。最早制造的计算工具有石子、算筹等。中国人创造了算盘(abacus),直到现在还在使用。工业时代出现了手摇计算机和对数计算尺。现在已经见不到工程师腋下夹着一米或者半米长的计算尺在工地上匆匆走路的情景了。24计算机的历史计算机的历史1832年英国科学家巴贝奇(Babbage)设计了一台真正的机械计算机,据说它的原理与现在的电子计算机非
14、常相似。但是巴贝奇至死也没有完成他的创造。直到最近,英国人利用巴贝奇的资料和遗物,终于完成了这台具有历史意义的计算机。乔治布尔的布尔代数以数学方法研究逻辑问题,奠定了计算机理论的数学基础。美国在1900年将穿孔卡片机用到人口统计中。穿孔卡片对以后的计算机发展起了很大的作用。25计算机的历史计算机的历史工业时代的到来和科学技术的发展对计算精度提出了更高的需求。当时发达国家都设有“计算局”这样的机构,雇佣了大量的人员,计算诸如“对数表”或“三角函数表”等大量数据。二战时期,工业技术发展到了顶峰,可以说是“想到的,就能造出来”!为了战争的需要,德国发明了“密码机”。每发一个字符,齿轮都要转动,因此每
15、一个字符加密都是不同的,而且与上一个字符有关。如果没有事先给定的密码,有了密码机也解不了密.1642年,法国数学家、物理学家年,法国数学家、物理学家 Pascal发发明了第一台计算机器明了第一台计算机器1642年,法国数学家、物理学家年,法国数学家、物理学家 Pascal发发明了第一台计算机器明了第一台计算机器26计算机的历史计算机的历史为了对付德国,波兰人研究了解密装置。但是,仅凭机械装置,如果不知道密码,还是无法解密。因此,急需高速的电子装置代替机械的解密装置。1946年,美国制成了世界上第一台电子计算机,电子计算机时代开始了!据有关资料,实际上第一台计算机是英国在1944年首先造出来的,
16、但是为了战争期间的保密,很多年以后才透漏出来。美国的第一台计算机叫做ENIAC,Electronic Numerical Integrator and Computer,电子数字积分器和计算机。27电子计算机的发展历史算盘电子计算机的发展历史算盘28电子计算机的发展历史对数计算尺电子计算机的发展历史对数计算尺 17世纪西方发明了对数计算尺世纪西方发明了对数计算尺29电子计算机的发展历史电子计算机的发展历史 1642年,法国数学家、物理学家年,法国数学家、物理学家 Pascal发明了第一台计算机器发明了第一台计算机器30电子计算机的发展历史电子计算机的发展历史 1801年,美国发明了提花织机年,
17、美国发明了提花织机31电子计算机的发展历史电子计算机的发展历史 1832年英国数学家巴贝奇(Babbage)的Difference Engine 32电子计算机的发展历史电子计算机的发展历史 1833年巴贝奇(Babbage)的 Analytical Engine 33电子计算机的发展历史古代到近代电子计算机的发展历史古代到近代 公元前五世纪,中国的算盘公元前五世纪,中国的算盘 1612年,年,John Napier 的对数的对数 1622年,年,Willian Oughtred 的计算尺的计算尺 1642年,年,Blaise Pascal 的自动进位加法机器的自动进位加法机器 1822年,年
18、,Charles Babbage 的差分机的差分机 1833年,年,Charles Babbage 的解析机,具有现的解析机,具有现代计算机的基本部件。因而巴贝奇被认为是计代计算机的基本部件。因而巴贝奇被认为是计算机之父。算机之父。34电子计算机的发展历史电子计算机的发展历史 20世纪初出现了许多电子机械结合的计算机器。世纪初出现了许多电子机械结合的计算机器。35lAlan Turing(19121954)1936年上研究生年上研究生时发表了一篇论文,提出了时发表了一篇论文,提出了图灵机图灵机(Turing Machine),奠定了计算机科学的理论基础。),奠定了计算机科学的理论基础。lTur
19、ing 与与 Church 合作给出了数学证合作给出了数学证明,断言未来的计算机能够象人那样明,断言未来的计算机能够象人那样具有思维能力具有思维能力(因而汉语中有了(因而汉语中有了“电电脑脑”)。)。l全世界计算机学科的最高荣誉,是全世界计算机学科的最高荣誉,是图图灵奖灵奖(美国计算机学会)(美国计算机学会)。l第二次世界大战中,第二次世界大战中,Turing 领导的小组制造领导的小组制造出了破译德军出了破译德军 Enigma 密码的计算机,并成密码的计算机,并成功地完成了任务。功地完成了任务。36“I think there is a world market for maybe five
20、computers.”Thomas Watson Senior,Chairman of IBM,194337世界上第一台电子计算机世界上第一台电子计算机ENIAC 1946年,美国宾夕法尼亚大学研制年,美国宾夕法尼亚大学研制38Von Neumann 计算机计算机 1946年,提出了存储程序的概念,他年,提出了存储程序的概念,他碰到的第碰到的第一台计算机是霍华德文肯的一台计算机是霍华德文肯的Harvard Mark IHarvard Mark I。作为作为EckertEckert和和MauchlyMauchly研发研发ENIACENIAC时的顾问,他时的顾问,他为计算机体系结构设计了一个沿用至
21、今的概念。为计算机体系结构设计了一个沿用至今的概念。存储程序计算机后来被称为存储程序计算机后来被称为“冯冯诺伊曼体系诺伊曼体系结构结构”,在一个,在一个“草案报告草案报告”中描述了这种带中描述了这种带有中央处理器,有中央处理器,I/OI/O,以及内存的存储程序计,以及内存的存储程序计算机算机(指令和指令所操作的数据都一起放在内指令和指令所操作的数据都一起放在内存中的计算机存中的计算机),同时,存储程序计算机也为,同时,存储程序计算机也为现代计算铺平了道路。现代计算铺平了道路。39第一代计算机第一代计算机40计算机走向商业化计算机走向商业化4142计算机的历史计算机的历史 第一代计算机电子管(v
22、acuum tube)计算机 第二代计算机晶体管(transistor)计算机 第三代计算机集成电路(integrated circuit,IC)计算机 第四代计算机大规模(large-scale integrated,LSI)和超大规模(very large-scale integrated,VLSI)集成电路计算机现代电子计算机经历过四代现代电子计算机经历过四代43计算机的历史计算机的历史第一代(19441958)电子管计算机时代一台电子计算机需要数千到数万个电子管,重量达几十吨,耗电几十千瓦,占地动辄一座楼!运行费用极高,运行极不稳定。维修的时间远大于运行的时间。当时最大型的计算机的处理
23、能力比不过现在一个芯片!但是它能完成人作不了的工作!44计算机的历史计算机的历史第二代(19591963)晶体管计算机1948年贝尔实验室造出了世界上第一个晶体管。晶体管取代电子管大量应用在计算机上,使得计算机体积和功耗减少了几十倍!成本的减少使得人们能够制造更复杂、性能更高的计算机。这一时期普遍采用磁芯存储器作为主存储器。高级语言得到了广泛应用。45计算机的历史计算机的历史第三代(19641970)集成电路计算机平面晶体管技术的出现,使得人们可以在一个硅片上同时制造大量的晶体管,再把它们切割、封装,再组装成电路。那么,为什么不把它们在硅片上直接连成电路呢?集成电路诞生了!当时集成的规模是每片
24、1到十几个逻辑门。这一时期,计算机的工作方式从批处理逐步演变成多道程序和分时系统。46计算机的历史计算机的历史第四代(1971现在)大规模和超大规模计算机集成度越高,电路板的工艺就越简单,可靠性和速度也越高!70年代集成电路的集成度越来越高,甚至可以将整个计算机集成到一个芯片中!现代CPU已经集成了数千万个基本单元!计算机由于能力增强、价格和体积下降,使得计算机能够在意想不到的地方使用最多的居然是家庭!47计算机的历史计算机的历史回顾历史,计算机的面貌已经今非昔比,它的前途不可估量。可能受到80年代日本第五代计算机失败的影响,人们并未对计算机再划分时代。但是我们已经离不了计算机了!也许我们已经
25、不关心计算机的过去,而只关心它的将来!48作业作业(用活页纸做,事后自己装订)(用活页纸做,事后自己装订)阅读:阅读:1.3 what is a computer-based information system?page 1.5-1.8 1.6 types of computer system:whats the difference?page 1.13-1.16 1.7 milestones in computer development.page1.16-1.21 翻译:翻译:page1.5-1.6 The term computer describes a device.is an element of the total computer system