第1章+前世今生--计算与计算机_第1页
第1章+前世今生--计算与计算机_第2页
第1章+前世今生--计算与计算机_第3页
第1章+前世今生--计算与计算机_第4页
第1章+前世今生--计算与计算机_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章 前世今生-计算与计算机学习目标n理解计算和计算机器n理解计算机科学和计算机科学中的经典问题n熟悉计算机硬件和软件发展的历史和趋势n了解计算机用户角色的转换n了解系统程序员和应用程序员n掌握计算机系统的概念n掌握计算机系统的分层结构n掌握计算机的特点、分类n理解计算机对生活方式的改变n了解计算机的应用领域内容提要n认识计算机和计算机科学n计算机的发展从计算工具到计算机计算机硬件发展计算机软件发展n计算机系统及其抽象分层n计算机的特点及分类n计算机与社会什么是计算?1.1.1 计算与计算机n计算是“数据数据”在“运算符运算符”的操作下,按“规则规则”进行的数据变换3+5=8hrrhrf22

2、),(2hrrhrf22),(2hrrhrf22),(2 各种计算“规则”越来越复杂,加减运算、对数运算、指数运算、微积分运算. 除了学规则外,还要应用这些“规则”来求解各种问题n“规则规则”可以学习,但是应用“规则规则”来求解问题有时却超出了人的计算能力n知道规则,很难(或者没有办法)通过人工计算得到结果化简,把复杂问题化简为简单规则的组合设计一种机器,代替人工计算用来帮助人们计算的机器称为计算机用来帮助人们计算的机器称为计算机等式数目比未知数数目少;要求找出对所有等式都成立的整数组合问题?n(1)哪些问题可以自动计算?哪些问题可以在有限时间、有限空间内自动计算?算法分析n(2)如何低成本、

3、高效地实现自动计算?构建计算机器n(3)如何方便有效地利用计算机器进行计算。计算机的应用1.1.2 计算机科学n研究计算机器计算机器和可计算系统计算系统的理论方面的学科,包括:计算系统的硬件设计与构造、发现和提出新的问题、寻找新问题的求解算法、发现和设计使用计算机的新方式n围绕如何构造构造各种计算机器各种计算机器 和 应用应用各种计算机器各种计算机器理解计算系统是如何工作的?理解如何利用计算系统来控制和处理现实世界的各种事物?计算思维(Computational Thinking)LearningDoingThinking1.1.3 计算机科学中的经典问题n经典问题往往以深入浅出的形式来表达深

4、奥的科学规律和本质内容,在学科研究中常常用来辅助说明思想、原理、方法和技术哥尼斯堡七桥问题与图论哲学家就餐问题与资源管理汉诺塔问题与可计算性证比求易问题与并行计算TSP问题与组合爆炸问题两军问题与计算机网络图灵测试与人工智能Story1 哥尼斯堡七桥问题与图论哥尼斯堡七桥问题与图论欧拉回路的判定规则:(1)如果通奇数桥的地方多于两个,则不存在欧拉回路;(2)如果只有两个地方通奇数桥,可以从这两个地方之一出发,找到欧拉回路;(3)如果没有一个地方是通奇数桥的,则无论从哪里出发,都能找到欧拉回路。CADB“七桥七桥”是图论研究的开始,图是图论研究的开始,图论已广泛应用在计算学科、运筹论已广泛应用在

5、计算学科、运筹学、控制论、信息论等学科中学、控制论、信息论等学科中抽象抽象是提取问题中最本质的东西,是提取问题中最本质的东西,忽视问题非本质的东西忽视问题非本质的东西哈密顿回路问题哈密顿回路:要求从一个城市出发,经过每个城市恰好一次,然后回到出发城市。 1983141202131545679101112161718尚未找到图G是否存在哈密顿回路的充分必要条件Story2哲学家共餐问题与资源管理 哲学家的生活进程可表示为:哲学家的生活进程可表示为:(1)思考问题;)思考问题;(2)饿了停止思考,左手拿起一只)饿了停止思考,左手拿起一只筷子(如果左侧哲学家已持有它,则筷子(如果左侧哲学家已持有它,

6、则等待);等待);(3)右手拿起一只筷子(如果右侧)右手拿起一只筷子(如果右侧哲学家已持有它,则等待);哲学家已持有它,则等待);(4)进餐;)进餐;(5)放下左手筷子;)放下左手筷子;(6)放下右手筷子;)放下右手筷子;(7)重新回到状态()重新回到状态(1)思考问题;)思考问题; 哲学家共餐问题与资源管理程序并发执行时进程同步的两个关键问题程序并发执行时进程同步的两个关键问题死锁死锁和资源耗尽资源耗尽:(1)按哲学家的生活进程,当所有的哲学家都同时拿起左手筷子时,则所有哲学家都将拿不到右手筷子,并处于等待状态,那么,哲学家都将无法进餐,最终饿死。(2)将哲学家的生活进程修改为当拿不到右手筷

7、子时,就放下左手筷子。但是,可能在一个瞬间,所有的哲学家都同时拿起左手筷子,则自然拿不到右手筷子,于是都同时放下左手筷子,等一会,又同时拿起左手筷子,如此重复下去,则所有的哲学家都将无法进餐。操作系统操作系统 必须彻底解决由于资源共享而产生的必须彻底解决由于资源共享而产生的-竞争问题!竞争问题!Story3 汉诺塔问题与可计算性汉诺塔问题与可计算性在世界刚被创建的时候有一座钻石宝塔(塔A),其上有64个金碟。所有碟子按从大到小的次序从塔底堆放至塔顶。紧挨着这座塔有另外两个钻石宝塔(塔B和塔C)。从世界创始之日起,婆罗门的牧师们就一直在试图把塔A上的碟子移动到塔C上去,其间借助于塔B的帮助。每次

8、只能移动一个碟子,任何时候都不能把一个碟子放在比它小的碟子上面。当牧师们完成任务时,世界末日也就到了。 汉诺塔问题与可计算性BABCABCAACABC(a)(b)(c)(d)汉诺塔问题与可计算性n个碟子的汉诺塔问题需要移动的碟子数是n-1第一步 为 ,第二步为1,第三步为 。因此:2121121()2(1)12(2(2)1)12(2)212(0)2221222121nnnnh nh nh nh nh (1)h n(1)h n汉诺塔问题与可计算性 64个碟子的汉诺塔问题,需要移动的碟子数为: 264118,446,744,073,709,551,615 如果每秒移动一次,一年有31,536,00

9、0秒,则僧侣们一刻不停地来回移动,也需要花费5849亿年的时间 假定计算机以每秒1000万个碟子的速度进行移动,则需要花费58,490年的时间。理论上可以计算的问题,实际上并不一定能行,这属于计算复杂性计算复杂性领域的研究内容。将可以在多项式时间内求解的问题看作是易解问题易解问题,可以在可接受的时间内实现问题求解;将需要指数时间求解的问题看作是难难解问题解问题,计算时间随着问题规模的增长而快速增长计算问题计算问题分为分为可计算可计算(理论上可计算理论上可计算&时时间上可计算间上可计算)与)与不可计算不可计算n从前,有一个酷爱数学的年轻国王艾述向邻国一位聪明美丽的公主秋碧贞楠求婚。公主出

10、了这样一道题:求出48 770 428 433 377 171的一个真因子。若国王能在一天之内求出答案,公主便接受他的求婚。n国王回去后立即开始逐个数地进行计算,他从早到晚,共算了三万多个数,最终还是没有结果。国王向公主求情,公主将答案相告:233 092 827是它的一个真因子。国王很快就验证了这个数确能除尽48 770 428 433 377 171这个数。公主说:“我再给你一次机会,如果这次你还求不出来,将来你只好做我的证婚人了。”Story4 证比求易问题与并行计算证比求易问题与并行计算证比求易问题与并行计算证比求易问题与并行计算n国王立即回国,向时任宰相的大数学家孔唤石求教,大数学家

11、在仔细地思考后认为一个17位的数,其最小的一个真因子不会超过9位,于是,他给国王出了一个主意:按自然数的顺序给全国的老百姓每人编一个号发下去,等公主给出数目后,立即将它通报全国,让每个老百姓用自己的编号去除这个数,除尽了就立即上报,赏金两万。经过宰相孔唤石的指点,国王最终求婚成功。证比求易问题证比求易问题 在计算复杂性领域中,一般认为求解一个问题往往比较困难,但验证一个问题相对来说就比较容易证比求易证比求易。 求大整数S=48 770 428 433 377 171的因子是个难解问题,但是验证a=223,092,871是不是大整数S的因子却很容易;求一个线性方程组的解可能很困难,但是验证一组值

12、是否是方程组的解却很容易。 当将一个问题分解到多个处理器上解决时,由于算法中不可避免地存在必须串行执行的操作,从而大大地限制了并行计算机系统的加速能力。就难解性问题而言,单纯地提高计算机系统的速度是远远不够的,而降低算法的复杂度的数量级才是最关键的。Story5 TSP问题与组合爆炸问题与组合爆炸nTSP问题(又称货郎担问题、邮递员问题、售货员问题)是数学家克克曼于19世纪初提出的一个数学问题,是指旅行家要旅行n个城市然后回到出发城市,要求各个城市经历且仅经历一次,并要求所走的路程最短。由于TSP问题有着貌似简单的表述、重要的应用、以及和其他NP完全问题的重要关系,它在近200年的时间里强烈地

13、吸引着计算机科学工作者。 TSP问题8abdc23571否否 18adcba6否否 23adbca5是是 11acdba4否否 23acbda3是是 11abdca2否否 18abcda1是否最短是否最短路径长度路径长度路径路径序号序号 10城市的TSP问题有大约180,000个可能解。 20城市的TSP问题有大约60,000,000,000,000,000个可能解。 50城市的TSP问题有大约1062个可能解,而一个行星上也只有1021升水。 TSP问题对于具有对于具有n个顶点的个顶点的TSP问题,可能的解有:问题,可能的解有: (n-1)!/2个。个。 组合爆炸组合优化问题:寻找一个组合对

14、象,比如一个排列或一个组合,这个对象能够满足特定的约束条件并使得某个目标函数取得极值。无论从理论的观点还是实践的观点,组合优化问题都是计算领域中最难的问题,其原因是:(1)随着问题规模的增大,组合对象的数量增长产生组合爆炸;(2)还没有一种已知算法能在可接受的时间内,精确地求解绝大多数这类问题。 Story6 两军问题与计算机网络两军问题与计算机网络n一支白军被围困在一个山谷中,山谷的两侧是蓝军。困在山谷中的白军人数多于山谷两侧的任一支蓝军,而少于两支蓝军的总和。若一支蓝军对白军单独发起进攻,则必败无疑;但若两支蓝军同时发起进攻,则可取胜。两支蓝军希望同时发起进攻,这样他们就要传递信息,以确定

15、发起攻击的具体时间。假设他们只能派谴士兵穿越白军所在的山谷(惟一的通信信道)来传递信息,那么在穿越山谷时,士兵有可能被俘,从而造成消息的丢失。现在的问题是:如何通信,以便蓝军必胜。n不存在使蓝军必胜的不存在使蓝军必胜的通信约定(协议)通信约定(协议)两军问题与计算机网络两军问题与计算机网络n网络协议(简称协议),是为网络中的数据交换而建立的规则、标准或约定的集合互联互联网软网软件的件的分层分层结构结构 计算机网络计算机网络云服务Story7 图灵测试与人工智能提问者提问者回答者回答者A 回答者回答者B“机器能思考吗?机器能思考吗?”人工智能分布式的控制系统将很多模式的识别和决策分配给了现场的控

16、制设备,这些控制设备对生产过程所产生的数据以及背后的模式会有深刻的了解,进而做出代替人脑的智能判断我们虽然可以对语言进行准确的识别,但是人类表达中那些微妙语意,以及语言背后的情感和双关语是机器今天无法理解的,关于语意的识别需要构建更新的类似人脑的模式分辨方式和新的学习系统人工智能研究方向一n在人工智能方面,有两个主要的研究方向:n一种是采用传统的编程技术,使系统呈现智能的效果,而不考虑所用方法是否与人或动物机体所用的方法相同,这种方法叫工程学方法,这一方面的成果是极其显著的。包括科大讯飞的语音识别,还有IBM的人机大战的成功,都属于工程学的方法。人工智能研究方向二n另一种是模拟法,与人类或生物

17、机体所用的方法相同或类似:原则是编程者为每一个角色设计一个智能系统来进行控制,这个智能系统可能开始时候什么也不懂,就像出生婴儿一样,但是它能够快速学习,逐渐适应环境,甚至通过犯错不断吸取教训,下一次运行的时候就能改正,至少不会永远错下去遗传算法和人工神经网络,都属于这个范畴。因为第一种工程学的方法会占用大量的计算资源,而当我们考察人脑的运行方式的时候,会发现它更接近模型法。其实在实时处理庞大的数据方面,虽然人脑略逊一筹,而且运行速度也比较慢,也不够精确,但是在识别、解释和根据模式做出反应方面,人脑却是当前的计算机根本无法代替的。而且整个大脑耗费的能源与一个20W的灯泡相当,所占体积也不足2L,

18、但是在大规模计算机系统,99%的系统分给了供电和降温,仅用1%来处理信息。因此科学家们一直试图模拟人脑工作的芯片,IBM在这方面已经获得了关键突破,2014年8月,IBM对外宣称,他们开发的新一代芯片TrueNorth,采用模拟人脑结构中的神经突触内核,其芯片采用了54亿个晶体管。是传统PC处理的4倍以上,其效果相当于100万个神经元和2.56亿个突触。每一个结构都能使用一种名叫Crossbar的通信模式来存储处理,并向其他结构传输数据,每一个这样的内核都使用了事件驱动设计,也就是说它不会一直运行,只有在需要的时候次才会启动,从而使得芯片运行更节能。1.2 计算机的发展 n了解历史可以了解技术

19、的进步、解释为什么计算机是今天这个样子,对我们有什么启示,为进一步发展奠定了基础n计算涉及到数据、规则和规则的执行,计算机器必须解决的问题数据如何表示数据如何表示、如何存储及自动存储;如何存储及自动存储;计算规则如何表示、如何执行及自动执行计算规则如何表示、如何执行及自动执行n不同的发展阶段体现了对这些问题的解决方式计算辅助工具Pascal机械计算机: 自动计算-固定的计算规则Babbage机械计算机: (特定)程序 -可有限变化的计算规则现代计算机:一般程序-任意可变的计算规则计算机器的简要发展历程u从表示-自动存储-自动执行计算机的发展历史(年代)手动式计算工具手动式计算工具20世纪世纪6

20、0年代年代机械式计算工具机械式计算工具1642年年1886年年机电式计算机机电式计算机20世纪世纪30年代年代电子计算机电子计算机元代元代1300年年算盘算盘远古远古1832年年分析机分析机计算器计算器计算机的硬件发展n计算机的前世手工计算工具机械式计算工具机电式计算机n计算机的今生电子计算机是一种电子设备数字计算机内部是二进制数字世界n计算机的未来 中国:结绳记事中国:结绳记事算筹算筹算盘算盘 英国:英国:Napier算筹算筹计算尺计算尺 计算计算工具:工具:手指手指算筹算筹 运算:加减运算运算:加减运算乘除运算乘除运算乘方、开方、三乘方、开方、三角函数角函数算盘算盘计算尺计算尺早期历史手工

21、计算工具跳过详细内容到机械式计算工具早期历史手工计算工具n英国的巨石柱群(Stonehenge):多年来,科学家与考古学家对于在西欧许多地区发现的由石块围成的圆圈非常感兴趣其中英国的巨石柱群是最典型的例子,其石块位置与太阳位置之间的关联使得有人将巨石柱群描绘成一部天文电脑。早期历史手工计算工具n算筹:第一个人造计算工具。 我国古代劳动人民最先创造和使用了这种简单的计算工具。 南北朝时期,祖冲之用算筹作为计算工具将圆周率精确到3.1415926和3.1415927之间。 春秋战国时期春秋战国时期 祖冲之(429500年)n 算盘:计算工具发展史上第一次重大改革。 我国古代劳动人民创造的。我国古代

22、劳动人民创造的。 在英语中,算盘有两种拼法:在英语中,算盘有两种拼法:abacus 和和 Suan-Pan。 算盘由算筹演变而来,并且和算筹并算盘由算筹演变而来,并且和算筹并存竞争了一个时期,终于在元代后期取存竞争了一个时期,终于在元代后期取代了算筹。代了算筹。 元代后期元代后期早期历史手工计算工具早期历史手工计算工具n 纳皮尔Napier算筹:英国人发明。 用加法操作来实现乘法操作。用加法操作来实现乘法操作。 1617 年年数学原理:根据对数原理,在两个圆盘的边缘标注对数数学原理:根据对数原理,在两个圆盘的边缘标注对数刻度,然后让它们相对转动,基于对数原理用加减法来实刻度,然后让它们相对转动

23、,基于对数原理用加减法来实现乘除运算。现乘除运算。 18世纪末,瓦特在尺座上添置了一个滑标。世纪末,瓦特在尺座上添置了一个滑标。1621 年年n 对数计算尺:英国人发明。早期历史手工计算工具早期历史机械式计算工具n1623年,德国科学家契克卡德(W.Schickard)为天文学家开普勒(Kepler)制作了一台机械计算机。这台机械计算机能做6位数加减法,还能做乘法运算n 帕斯卡加法器:法国人发明。背景:钟表技术、齿轮技术。帕斯卡加法器由齿轮组成、以发条为动力、通过转动齿轮来实现加减运算、用连杆实现进位。 1642 年年启示:可以用机械工启示:可以用机械工具来模拟人的思维活具来模拟人的思维活动。

24、动。早期历史机械式计算工具n 莱布尼茨四则运算器:德国人发明。莱布尼茨四则运算器:德国人发明。工作原理同帕斯卡加法器,能进行工作原理同帕斯卡加法器,能进行四则运算。四则运算。乘法运算采用进位乘法运算采用进位-加,后来演化为加,后来演化为二进制,被现代计算机采用。二进制,被现代计算机采用。 1673 年年需要手动上发条,然后就可需要手动上发条,然后就可以机械地实现计算以机械地实现计算手动手动机械。机械。早期历史机械式计算工具n Jacquard织布机:法国人发明。用穿孔卡片控制纺织图案Joseph Jacquard(杰卡德)发明,可编程织布机,通过读取穿孔卡片上的编码信息来自动控制织布机的编织图

25、案。不是计算设备,第一次使用了穿孔,为输入设备的出现奠定了基础20 世纪 70 年代还在普遍使用。1804 年年早期历史机械式计算工具0 1 0 1 0 0 1 00 0 1 1 0 1 0 00 1 1 0 0 1 0 11822 年年n 差分机:英国人(巴贝奇)发明。背景:英国工业革命,航海和天文计算。原理:任何连续函数都可以用多项式严格地逼近,例如: ! 7! 5! 3)sin(753xxxxx早期历史机械式计算工具采用寄存器(齿轮式装置)来存储数据,使计算工具从手动机械跃入自动机械。 第一次出现内存。第一次出现内存。不仅输入信息需要机械化,不仅输入信息需要机械化,而且操作信息也要机械化

26、。而且操作信息也要机械化。n分析机:英国人(巴贝奇)发明。背景:瓦特发明了蒸气机。以齿轮为元件、以蒸汽为动力。虽然没有实现没有实现,但意义重大,采用了具有现代意义的装置:(1)存储装置(2)运算装置(3)控制装置(4)输入和输出装置1832 年年早期历史机械式计算工具采用了与采用了与Jacquard织布机类似的卡片输入 英国著名诗人拜伦的独生女爱达奥古斯塔为分析机编制了人类历史上第一批计算机程序第一批计算机程序。 历史上第一位程序员。 爱达和巴贝奇为计算机的发展创造了不朽的功勋,他们对计算机的预见超前了一个多世纪,正是他们的辛勤努力,为后来计算机的出现奠定了坚实的基础。 爱达(爱达(Ada)早

27、期历史机械式计算工具n 制表机:美国人发明。 背景:机电技术、美国人口普查,参与了美国1890年的人口普查工作第一台自动进行加减乘除运算、累计存档、制作报表的机电式计算工具。输入、输出、存储均用穿孔卡片。人类历史上第一次利用计算工具进行大规模数据的自动处理。Hollerith被称为“信息处理之父”雇佣第一批“数据录入员” 来处理穿孔卡Hollerith创建了IBM公司1886 年年早期历史机电式计算机机械和电子设备的总称机械和电子设备的总称n布尔:英国数学家。他的最大发现就是用一套符号来进行逻辑演算,即布尔代数。n布尔代数:关于0和1的代数系统,用基础的逻辑符号系统描述物体和概念,这为今后数字

28、计算机开关电路设计提供了最重要的数学方法。早期历史数字计算机的萌芽n香农:1938年在MIT获得电气工程硕士学位,硕士论文题目是继电器与开关电路的符号分析。在布尔代数和继电器开关电路之间架起了桥梁。n把布尔代数的“真”与“假”和电路系统的“开”与“关”对应起来,并用1和0表示。于是他用布尔代数分析并优化开关电路,这就奠定了数字电路的理论基础。早期历史数字计算机的萌芽n用于复数计算的全电磁式计算机用于复数计算的全电磁式计算机model-K:美国斯蒂比兹(G. Stibitz)制造n将电传打字机用电话线连接上远在纽约的计算机,异地操作进行复数计算,实现了计算机的远程通信。n是实现计算机远程遥控的第

29、一人,而且也是举世公认的“数字计算机之父”。早期历史机电式计算机n Z系列计算机系列计算机:德国人发明朱斯(K.Zuse):第一个采用电器元件制造计算机 先后研制出Z-1、 Z-2、Z-3、Z-4 第一台采用二进制和继电器的通用程序计算机。二进制、浮点记数法、带存储地址的指令等思想已经有人提出,但朱斯第一次将这些思想具体实现。成立了朱斯计算机公司1938 年年早期历史数字计算机的萌芽n巨人计算机:英国人制造 1941年,朱斯向德国政府申请基金用来建造计算机,用于破译敌人的密码,德国政府没有批准。与此同时,英国政府秘密组建一个由科学家和工程师组成的绝密小组,他参与了世界上最早的电子计算机的研制工

30、作。1943年,图灵图灵等人研制成功Colossus(巨人计算机),使得英国军方能够窃取并破译德国的军事情报。1943 年年早期历史数字计算机的萌芽n 图灵:英国著名的数学家和逻辑学家,被称为计算机科学之父、人工智能之父,是计算机逻辑的奠基者。人们为纪念其在计算机领域的卓越贡献而设立“图灵奖”。1945年,提出了通用计算机的概念1947年,提出自动程序设计的思想 1950年,提出关于机器思维的问题,他的论文“机器能够思维吗?引起了广泛的注意和深远的影响。1952年,写了一个国际象棋程序。早期历史数字计算机的萌芽n控制论之父:维纳n一战期间,在阿贝丁试炮场,为高射炮编制射程表n1940年,维纳提

31、出:现代计算机应该是数字式的、由电子元件构成、采用二进制、内部存储数据n1948年,维纳发表控制论早期历史数字计算机的萌芽n MARK-I:美国人1944年研制成功。是世界上第一台大型通用自动数字计算机哈佛大学数学教授霍华德艾肯在读过巴贝奇和爱达的笔记后,被巴贝奇的远见卓识所震惊,提出用机电的方法,而不是纯机械的方法来实现分析机。 在IBM的资助下完成的1936 年年早期历史数字计算机的出现MARK-I部分继电器,部分继电器, MARK-II全部采用继电器全部采用继电器 MARK-III采用电子管采用电子管早期历史数字计算机的出现nENAIC:1946年,第一台真正运转的数字计算机,冯.诺伊曼

32、做顾问ENIAC致命的缺陷有两个:一是没有存储器;二是用布线接板进行控制 冯冯.诺伊曼开始致力于另一台著诺伊曼开始致力于另一台著名机器名机器EDVAC的建造,通常称的建造,通常称为冯为冯.诺伊曼机诺伊曼机 此时,此时,明确提出计算机的五大明确提出计算机的五大部件,并用二进制代替十进制部件,并用二进制代替十进制运算运算1.2.2 计算机的今生计算机是用来进行高速计算的电子计算机器计算机要解决的几个问题u“控制与计算”-微处理器,又称CPU(Central Processing Unit)u“输入”-如何将外部信息输入到计算机中?u“输出”-如何将计算机中信息输出到外界(显示或打印)?u “永久存

33、储与临时存储”-如何将计算机中的信息永久保存或临时保存?计算机的发展是伴随着构成计算机的元器件和各个构成部件的发展而发展电子管: 可自动控制0和1变化的元件晶体管集成电路: 可自动实现一定变换的元件超大规模集成电路(VLSI)元器件的发展u计算的控制l体积越来越小;l可靠性越来越高;l电路规模越来越大;l速度越来越快;l功能越来越强大;元器件的发展对我们的启示从输入变换到输出从单个到复杂系统微处理器l 字长字长。CPU一次操作所能处理的二进制数据的位数称为字长。微处理器的字长从早期的4位、8位、16位发展到现在的32位、64位和128位等。l 主频主频。CPU每秒所能完成操作的次数称为主频,是

34、CPU工作的时钟频率。第一台计算机主频只有4.77MHz,发展到几十MHz、几百MHz、几GHz,现在已经达到几十GHz。l 晶体管数量晶体管数量。由于光刻技术、纳刻技术的发展,微处理器芯片上晶体管的数目不断增多,第一台计算机有18000个电子管,发展为几十万只、几百万只、几千万只、几亿只,现在已经超过几十亿只。微处理器:将运算和执行部件集成在一块芯片上,称微处理器:将运算和执行部件集成在一块芯片上,称为中央处理单元(为中央处理单元(Central Processing Unit,CPU) 输入设备输入设备n穿孔卡片(0和1的输入)n键盘(文字符号的输入)n鼠标(点输入)n扫描仪(纸质文档/图

35、像的输入)n触摸屏(人对屏幕上图形的直接控制)n语言输入(自动识别人的语音)n体感设备(感知人体的动作输入)n物联网(感知周围环境变化的输入)输输出出设备设备n显示器CRT光栅扫描显示器数字光栅扫描显示器液晶显示器等离子显示器三维显示器触控显示器等n打印机存储设备存储设备n汞延迟线n磁芯、磁带和磁鼓n“温彻斯特”硬盘nSerial ATA接口的硬盘nCD-ROM光盘驱动器nDVD光盘nFlash RAM、Multimedia Card、USB removable disk、固态硬盘、纳米存储、量子存储等。从微处理器使用的元器件可以把计算机分为4代,同时伴随的是各部件的发展由于计算机仍然在使用电

36、路板,仍然在使用微处理器,仍由于计算机仍然在使用电路板,仍然在使用微处理器,仍然没有突破冯然没有突破冯诺依曼体系结构,所以,我们还不能为这一诺依曼体系结构,所以,我们还不能为这一代计算机画上休止符。代计算机画上休止符。1946年年 1959年年 1965年年 1971年年第一代计算机第一代计算机第二代计算机第二代计算机第三代计算机第三代计算机第四代计算机第四代计算机计算机的发展n标志:1946年ENIAC。n电子元件:电子管。n主存储器:磁鼓,辅助存储设备:磁带n外设:输入设备:穿孔卡片 输出设备:穿孔卡片或行式打印机n所需环境:可控制温度的机房。n重大事件:1951年问世的UNIVAC准确预

37、测了1952年美国大选艾森豪威尔获胜;1952年IBM生产第一批商业化计算机IBM701。n用户:政府和银行,主要用于科学计算第一代计算机(第一代计算机(19461959) nUNIVAC计算机:第一款商用计算机n奠定了计算机工业的基础n用于美国人口普查局、美国总统大选莫克利莫克利埃克特埃克特第一代计算机(第一代计算机(19461959) n 标志:1959年菲尔克公司研制成功晶体管计算机。n 电子元件:晶体管(1948年美国贝尔实验室发明)n 主存储器:磁芯,辅助存储器:磁盘n 引进编址寄存器和浮点运算硬件n 典型的计算机:IBM7094,CDC1640等。n 用户:科学计算、数据处理和工业

38、控制。计算机的发展第二代计算机(第二代计算机(19591964) IBM:International Business Machines,国际商业机器公司,国际商业机器公司 CDC:Control Data Corporation,控制数据公司,控制数据公司 n 标志:IBM360系列计算机n 电子元件:集成电路n 主存储器:半导体存储器n 用户:政府机构、中小企业等n 重大事件:1965年DEC公司推出小型计算机PDP-8n 开始使用微程序设计技术,出现了终端计算机的发展第三代计算机(第三代计算机(19651971) DEC:Digital Equipment Corporation, 数字

39、设备公司数字设备公司摩尔定律摩尔定律:一个集成电路板上能够容纳的电路的数量一个集成电路板上能够容纳的电路的数量每年增长一倍。每年增长一倍。集成电路:将大量的晶体管和电子线路集成在一块硅集成电路:将大量的晶体管和电子线路集成在一块硅片上,因此也称芯片。片上,因此也称芯片。n 标志:Intel公司研制的微处理器Intel 4004n 电子元件:大规模和超大规模集成电路n 重大事件:微型计算机 PC机的出现工作站Sun公司推出Risc工作站,使用unix巨型计算机“银河”亿次巨型计算机。n 用户:各行各业,男女老少。计算机的发展第四代计算机(第四代计算机(1971至今)至今) n70年代末,出现了个

40、人计算机:nIBM PC是1981年面世n1976年苹果公司成立,推出APPLE I;n1977年推出非常受欢迎的的APPLE II;性能好、价格低,时价相当于一台高档家电。微型计算机的发展微型计算机的诞生微型计算机的诞生n1984年, Macintosh问世,第一部正式上市的图形界面和桌面概念的计算机,开创了图形界面的先河! n后来逐步推出iPod音乐播放器、 iTunes音乐商店、iPhone手机以及最新推出的iPad平板计算机等知名产品1.2.3 计算机的未来计算机的未来n现在看来,70年前的ENIAC非常原始,将来也会觉得今天最好的计算机很原始。n未来的计算机是什么样子的,观察目前实验

41、室里的研究成果可见一般计算机的发展趋势计算机的发展趋势1. 高性能计算高性能计算无所不能的计算无所不能的计算v发展高速度、大容量、功能强的超级计算机,用于处理庞大而复杂的问题。v制超级计算机的技术水平体现了一个国家的综合国力,因此,超级计算机的研制是各国在高技术领域竞争的热点。 v在市场驱动下,超级计算机正从科学计算向经济和商业各个领域扩展,用于商业的超级计算机,其数量急剧增加,最高性能已突破万亿次。v应用:航天工程、基因工程、石油勘探等。应用:航天工程、基因工程、石油勘探等。n普适计算(Pervasive Computing)是指任何时间任何地点都可以进行计算,强调和环境融为一体的计算,而计

42、算机本身则从人们的视线里消失。n普适计算彻底改变了“人使用计算机”的传统方式,让人与计算环境更好地融合在一起,在不知不觉中达到“计算机为人服务”的目的。n实现普适计算需要解决的问题包括:随时随地的联网问题;各种设备、设施的感知和控制问题,即嵌入式技术;普适计算模型问题,众多设备、设施联网后,如何进行控制:统一控制、分布控制、自治控制还是远程控制等。计算机的发展趋势计算机的发展趋势2. 普适计算普适计算无所不在的计算无所不在的计算n服务属于商业范畴,计算属于技术范畴,服务计算是商业与技术的融合。服务计算就是把计算当成一种服务提供给用户。n传统的计算模式需要购置必要的计算设备和软件,不计算的时候,

43、设备和软件就处于闲置状态。n如果将计算资源,如计算节点、存储节点、软件等集中起来,提供给需要的用户使用,用户可以按需定制、按需使用资源,这就是云计算(Cloud Computing)的概念。n按计算资源的类型,云计算可以分为3种模式:n基础设施即服务:将硬件部分,如计算节点、存储节点等按服务提供;n平台即服务:将操作系统、中间件等按服务提供;n软件即服务:将应用软件按服务提供。计算机的发展趋势计算机的发展趋势3. 服务计算与云计算:万事皆服务的计算服务计算与云计算:万事皆服务的计算n物联网相当于带有神经系统的互联网,通过各种传感器感知物体的各种信息,传送到互联网上,供人们访问,使得物体与物体、

44、物体与人、人与人相互连接。计算机的发展趋势计算机的发展趋势4. 物联网物联网n计算机的发展趋势:手动机械化自动化智能化;n 计算机在很多方面,如复杂、量大的计算方面比人更快,在哪些方面不如人类:模式识别、联想、推理等?n如何让计算机具有人脑的智能,模拟人的推理、联想和思维等功能,研制出具有某些情感和智力的计算机,使计算机在人类生活中扮演着更加重要的角色。n应用:人和计算机无障碍交流,例如写程序。n智能计算机是把信息采集、存储、处理、通信和人工智能结合在一起的计算机系统,由以处理数据信息为主,转向以处理知识信息为主,并有推理、联想和学习人工智能方面的能力,能帮助人类开拓未来的知识领域和获取新的知

45、识。 n情感计算机,能理解人类吗? 计算机的发展趋势计算机的发展趋势5. 智能计算智能计算n背景:集成电路的发展正在(或已经)接近理论极限。新型计算机可能会突破现有计算机的体系结构。n新一代计算机是微电子技术、光学技术、超导技术、电子仿生技术等多学科相结合的产物。 能进行知识处理、自动编程、测试和排错,以及用自然语言、图形、声音和文字进行输入和输出。 生物计算机生物计算机用蛋白分子做芯片;用蛋白分子做芯片;光计算机光计算机用光作为信息的载体;用光作为信息的载体;量子计算机量子计算机用量子来表示信息;用量子来表示信息;计算机的发展趋势计算机的发展趋势6. 新型计算计算机软件的发展n自计算机诞生之

46、日起,人们探索的重点不仅在于建造运算速度更快、处理能力更强的计算机n还在于开发能让人们更有效地使用这种计算设备的各种软件n软件使计算机硬件富有生命力n在硬件上面加上一层又一层的软件(即控制机器处理不同问题的程序),功能就得到扩展和延伸。n有了软件,人们能够以更简单的方法来解决更复杂的问题。n了解软件发展的历史,可以理解如何构造软件、软件如何运行计算机软件发展 n第一代程序是用机器语言编写的机器语言就是内置在计算机电路中的指令,由0和1组成程序设计人员必须记住每种二进制数字的组合表示什么使用机器语言的程序设计人员要对数字非常敏感,而且要非常细心。n缺点:用机器语言进行程序设计不仅耗时,而且容易出

47、错第一代软件(第一代软件(1951-1959)计算机硬件计算机硬件 硬件硬件软件软件机器语言机器语言 n出现了汇编语言n使用助记符表示每条机器语言指令n出现了系统程序员和应用程序员第一代软件(第一代软件(1951-1959)计算机硬件计算机硬件 硬件硬件软件软件语言翻译程序语言翻译程序 汇编语言汇编语言 机器语言机器语言计算机软件发展 n第二代软件是由高级语言编写的指令类似于英语句子和算术表达式,使编程更容易最早的两种语言:FORTRAN(为数学应用程序设计的语言)和COBOL(为商业应用程序设计的语言)第二代软件(第二代软件(1959-1965)n优点:高级语言的出现使得在多台计算机上运行同

48、一个程序称为可能 n缺点:随着在硬件层上附件的软件变得越来越复杂,应用程序员离计算机硬件越来越远了FORTRAN第一个高级语言n1954年,约翰年,约翰巴克斯领导巴克斯领导的小组开发出第一个高级程的小组开发出第一个高级程序设计语言序设计语言Fortran,大大提,大大提高了程序开发效率高了程序开发效率nFortran推动推动IBM704走向世走向世界,成为当时最成功的计算界,成为当时最成功的计算机,也使机,也使IBM成为计算机产成为计算机产业的老大业的老大计算机软件发展 n计算机的高速处理得不到充分发挥,经常处于等待状态n第三代软件不再使用实用程序来处理频繁执行的任务,而是让操作系操作系统统进

49、行管理出现了多用途的应用程序 出现了计算机用户的概念计算机的管家计算机的管家 n缺点:虽然语言层还在加深,但是程序设计员们仍然在使用一些最内层的语言。 第三代软件(第三代软件(1965-1971) 操作系统方便用户 更好、更强大的操作系统被开发出来 引入了鼠标的概念和点击式的图形界面 DOS(字符界面)Windows(图形界面)美国加利福尼亚大学的道格.英格尔伯特(Doug Engelbart)博士发明了世界上第一只鼠标。1968年鼠标在旧金山联合计算机会议上首次亮相,直到1981年才出现第一台使用鼠标的商用计算机计算机软件发展 n出现了结构化程序设计方法,出现了Pascal、Modula-2

50、、C、C+n工具软件(应用程序软件包)开始出现,可以让一个没有计算机经验的人员实现一些特定的任务n更好、更强大的操作系统也开发出来了第四代软件(第四代软件(1971-1989) 计算机软件发展 n微软公司的崛起:Windows在PC市场上占有显著优势,微软办公套件成为主流n面向对象的程序设计方法成为大型程序设计项目的首选:改变了结构化设计基于任务的层次划分,面向对象的设计则基于数据对象的划分,出现了JAVA语言nInternet的出现,万维网的普及,使得用户用户概念发生了改变HTML浏览器n出现了中间件第五代软件(第五代软件(1990-今天)今天) 计算机软件发展 n快速批量地构造更复杂的程序

51、n构件:常用对象,可重复使用n软件架构:构建之间的连接.NETJAVAEECORBAn面向服务的软件第六代软件(新一代)第六代软件(新一代) 软件的发展(总结)计算机用户概念的变化n 起初,计算机用户和程序员是一体的;n 20世纪50年代,出现了系统程序员和应用程序员的区分,但计算机用户仍然是程序员;n 20世纪70年代,计算机用户不仅是程序员,还包括使用应用软件的非专业人员; n 应用程序员离计算机硬件也越来越远应用程序员离计算机硬件也越来越远n 今天,所有使用计算机的人都是计算机用户。 1.3 计算机系统及其抽象分层n计算机系统由计算机硬件、计算机软件、数据构成计算机硬件:构成计算机系统的

52、所有物理器件、部件和设备的集合;计算机软件:提供计算机执行的指令的集合;数据是计算机系统的核心计算机系统的抽象分层n计算机系统非常复杂,如何认识它呢?n按照各部分在计算机中的作用,可以将计算机系统抽象地看成一个层次结构,由许多层构成。n将每个分层逐个地从计算机系统中剥离出来,每次只探讨一个分层。这样每个分层自身就显得清晰简单。n下一次对上一层起支撑作用。计算机系统的分层重点:让计算机能重点:让计算机能够良好地运转起来够良好地运转起来重点:用计算机解重点:用计算机解决真实世界的问题决真实世界的问题各种应用:各种应用:QQ、电子邮件、电子邮件、办公软件、财务软件、办公软件、财务软件、Google计

53、算机的管家计算机的管家 windows、Unix、Mac OS等计算机成为一种文化,计算计算机成为一种文化,计算机网络正在日益改变着人们机网络正在日益改变着人们的生活、工作和学习习惯的生活、工作和学习习惯信息(数据、指令)如何编码信息(数据、指令)如何编码各种类型的程序设计语言及程序设计方法如何由门组成逻辑如何由门组成逻辑电路,再组成集成电路,再组成集成电路,构成计算机电路,构成计算机的部件的部件 人们很容易掌握细节,却容易失去全局观念。请记住计算机系人们很容易掌握细节,却容易失去全局观念。请记住计算机系统的分层结构,接下来会依次介绍每一个分层统的分层结构,接下来会依次介绍每一个分层信息表示层

54、反映了在计算机上表示信息的方式,它是一个纯概念层。计算机上的所有信息都采用二进制数字1和0表示。要理解计算机处理信息的方式和相关技术,首先必须理解二进制数制以及它与其他数制的关系。硬件层n探讨计算机系统的物理硬件组成。n计算机硬件由最基本的门和电路构成,它们按照某些基本原理控制电流。n核心电路和门构成较复杂的具有一定功能的专用部件。n多个部件按照一定方式构成计算机硬件系统。程序设计层n程序设计层负责解决人们的一些问题、用于实现计算的指令以及管理数据。n程序由各种语言实现。n计算机如何解决问题。n如何更好地用各种语言编制程序。操作系统层n操作系统OS用来管理计算机的各种资源,提供人与计算机交互的接口。n如Window XP、Linux或Mac OS等操作系统让我们与计算机系统进行交互,管理硬件设备、程序和数据。n了解操作系统的功能是理解计算机系统的关键。网络通信层n计算机系统运行的基础。n使计算机不再是独立运行的终端。n计算机连接到网络上实现资源共享和信息交换的途径。应用软件层n计算机与一个实际应用领域相结合,使计算机成为一个多功能的设备。n通过运行应用软件来发挥计算机在各领域中的作用。1.4 计算机的特点n运算速度快快n存储容量大大,存储时间长久久n计算机精精度高

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论