计算机组成技术哈工大计算机学院陈惠鹏课程安排计算机发展历史及现在计算机形态的变迁计算机的应用及发展方向计算机基础–二进制原理–计算机组成原理计算机发展的历史1946年ENIAC的诞生标志着人类进入了一个新的时代...EditByCHPSchoolofComputer1.先驱的探索—机械式计算机第一台真正的计算机是著名科学家帕斯卡(B.Pascal)发明的机械计算机。帕斯卡1623年出生在法国一位数学家家庭,他三岁丧母,由担任着税务官的父亲拉扯他长大成人。从小,他就显示出对科学研究浓厚的兴趣。少年帕斯卡对他的父亲一往情深,他每天都看着年迈的父亲费力地计算税率税款,很想帮助做点事,可又怕父亲不放心。于是,未来的科学家想到了为父亲制做一台可以计算税款的机器。19岁那年,他发明了人类有史以来第一台机械计算机。帕斯卡加法器EditByCHPSchoolofComputer1.先驱的探索—机械式计算机1673年,德国数学家莱布尼兹发明乘法机,这是第一台可以运行完整的四则运算的计算机。莱布尼兹同时还提出了“可以用机械代替人进行繁琐重复的计算工作”的伟大思想,这一思想至今鼓舞着人们探求新的计算机。莱布尼兹乘法器EditByCHPSchoolofComputer1.先驱的探索—机械式计算机•1822年巴贝奇花了近10年时间,构想、研制成功了第一台差分机,它能根据设计者的安排,自动完成高次多项式的整个运算过程,它的存储器是由齿轮组构成,“差分机”是程序设计思想萌芽阶段的产物。研制第二台差分机转眼又是10年,在研制过程中,他一味追求尽善尽美,对于多种部件的要求精益求精。可是这种近乎苛刻的想法与要求,超越了当时的技术水平,但却为英国机床工业的发展培训了不少工程师。巴贝奇花费了政府资助他的17000英镑和他本人的13000英镑仍然没有制成,这台差分机研制中途夭折,被送进了伦敦博物馆。•巴贝奇知音难觅,但当时英国著名诗人拜仑的女儿爱达·拉夫拉夫斯基伯爵夫人却能理解巴贝奇的工作,由于她杰出的数学天赋在英国剑桥大学就拜巴贝奇为师,不仅深深理解巴贝奇的思想并全力协助研制“分析机”,而且在经济上也作了最大支持。可惜爱达早逝,但她在程序设计上的突出贡献,被誉为世界第一位程序员,她的名字也与现代计算机程序设计语言Ada紧紧地联系在一起。巴贝奇的差分机与分析机EditByCHPSchoolofComputer2.从机械到电的飞跃美国人赫尔曼·霍勒瑞斯(HermanHollerith)(February29,1860–November17,1929),根据提花织布机的原理发明了穿孔片计算机(amechanicaltabulatorbasedonpunchedcards),就是395,781/395,782/395,783号专利“穿孔卡片制表系统”。并带入商业领域建立公司。赫尔曼·霍勒瑞斯公司名称为“计算-制表-记录公司”(Computing-Tabulating-Recording,C-T-R),即原“数据处理”公司(DataProcessing)这就是IBM的前身。托马斯·沃森于1914年被计算-制表-记录公司聘用,成为了公司的总裁。赫尔曼·霍勒斯制表机ThomasWatson接手CTR公司,并将其改造为IBMEditByCHPSchoolofComputer2.从机械到电的飞跃1904年,英国人弗莱明发明真空电子二极管。电子管的诞生,是人类电子文明的起点。弗莱明真空二极管的发明得益于爱迪生发现的“爱迪生效应”。1906年,美国人德弗雷斯特发明电子三极管,并在研究中发现,三极管可以通过级联使放大倍数大增,这使得三极管的实用价值大大提高,从而促成了无线电通信技术的迅速发展。德弗雷斯特因发明三极管而被称为“无线电之父”。二极管、三极管的发明EditByCHPSchoolofComputer3.技术的飞跃早在1847和1854年,英国数学家布尔发表了两部重要著作《逻辑的数学分析》和《思维规律的研究》,创立了逻辑代数。逻辑代数系统采用二进制,是现代电子计算机的数学和逻辑基础。1939年,阿塔纳索夫提出计算机三原则;采用二进制进行运算;采用电子技术来实现控制和运算;采用把计算功能和存储功能相分离的结构。1939年,阿塔纳索夫还设计并试制数字电子计算机的样机“ABC机”,但未能完工。1936年,24岁的英国数学家图林发表著名论文《论可计算数及其在密码问题的应用》,提出了“理想计算机”,后人称之为“图林机”。图林通过数学证明得出理论上存在“通用图林机”,这为可计算性的概念提供了严格的数学定义,图林机成为现代通用数字计算机的数学模型,它证明通用数字计算机是可以制造出来的。图林发表于1940年的另一篇著名论文《计算机能思考吗?》,对计算机的人工智能进行了探索,并设计了著名的“图林测验”。1940年,美国科学家维纳阐述了自己对现代计算机的五点设计原则:数字式而不是模拟式;以电子元件构成并尽量减少机械装置;采用二进制而不是十进制;内部存放计算表;内部存储数据。1944~1945年间,美籍匈牙利科学家冯·诺伊曼在第一台现代计算机ENIAC尚未问世时注意到其弱点,并提出一个新机型EDVAC的设计方案,其中提到了两个设想:采用二进制和“存储程序”。这两个设想对于现代计算机至关重要,也使冯·诺伊曼成为“现代电子计算机之父”,冯·诺伊曼机体系延续至今。1938年,信息论的创始人、美国科学家仙农发表论文《继电器和开关电路的符号分析》,首次阐述了如何将布尔代数运用于逻辑电路,奠定了现代电子计算机开关电路的理论基础。EditByCHPSchoolofComputer计算机的数学模型--图灵机•图灵机(英语:TuringMachine,又称确定型图灵机)是英国数学家阿兰·图灵于1936年提出的一种抽象计算模型,其更抽象的意义为一种数学逻辑机,可以看作等价于任何有限逻辑数学过程的终极强大逻辑机器。EditByCHPSchoolofComputer图灵机的艺术表示EditByCHPSchoolofComputer图灵的基本思想•是用机器来模拟人们用纸笔进行数学运算的过程,他把这样的过程看作下列两种简单的动作:–在纸上写上或擦除某个符号;–把注意力从纸的一个位置移动到另一个位置;•而在每个阶段,人要决定下一步的动作,依赖于(a)此人当前所关注的纸上某个位置的符号和(b)此人当前思维的状态。EditByCHPSchoolofComputer图灵的基本思想•计算是指遵循一定的规则用机械的动作所进行的过程。–例如:数的加、减、乘、除以及乘方、开方、微积分等这些都是计算。•我们还可以抽象的说“计算就是从一个符号行ξ得出另一个符号行η。中文英语EditByCHPSchoolofComputer图灵的基本思想•既然计算是遵循一定的规则用机械的动作所进行的过程,那末能不能设计一种理想的机器,即抽象机来实现这种计算呢?•我们可以采用计算模型的办法来解决。图灵机就是具有一套特定的规则与动作的理想的计算模型。由此计算与可计算也可以这样说:“图灵机所进行的工作就是计算,图灵机能够进行的就叫可计算”。•当然这些说法是无法证明的,同样也无法证明:“图灵机的确是一个合适的模型”。但是“可计算就是图灵机可计算”,这命题是能够接受的。•为了模拟人的这种运算过程,图灵构造出一台假想的机器,该机器由以下几个部分组成:1.一条无限长的纸带TAPE。纸带被划分为一个接一个的小格子,每个格子上包含一个来自有限字母表的符号,字母表中有一个特殊的符号表示空白。纸带上的格子从左到右依此被编号为0,1,2,...,纸带的右端可以无限伸展。2.一个读写头HEAD。该读写头可以在纸带上左右移动,它能读出当前所指的格子上的符号,并能改变当前格子上的符号。3.一套控制规则TABLE。它根据当前机器所处的状态以及当前读写头所指的格子上的符号来确定读写头下一步的动作,并改变状态寄存器的值,令机器进入一个新的状态。4.一个状态寄存器。它用来保存图灵机当前所处的状态。图灵机的所有可能状态的数目是有限的,并且有一个特殊的状态,称为停机状态。•注意这个机器的每一部分都是有限的,但它有一个潜在的无限长的纸带,因此这种机器只是一个理想的设备。图灵认为这样的一台机器就能模拟人类所能进行的任何计算过程。在某些模型中,纸带移动,而未用到的纸带真正是“空白”的。要进行的指令(q4)展示在扫描到方格之上(由Kleene(1952)p.375绘制)。在某些模型中,读写头沿着固定的纸带移动。要进行的指令(q1)展示在读写头内。在这种模型中“空白”的纸带是全部为0的。有阴影的方格,包括读写头扫描到的空白,标记了1,1,B的那些方格,和读写头符号,构成了系统状态。(由Minsky(1967)p.121绘制)。图灵机模型图灵机的形式化定义一台图灵机是一个七元组(Q,Σ,Γ,δ,q0,qaccept,qreject),其中Q,Σ,Γ都是有限集合,且满足•Q是状态集合;•Σ是输入字母表,其中不包含特殊的空白符;•Γ是带字母表,其中且;•是转移函数,其中L,R表示读写头是向左移还是向右移;•是起始状态;•是接受状态。•是拒绝状态,且。图灵机M=(Q,Σ,Γ,δ,q0,qaccept,qreject)将以如下方式运作:Q开始的时候将输入符号串从左到右依此填在纸带的第号格子上,其他格子保持空白(即填以空白符)。M的读写头指向第0号格子,M处于状态q0。机器开始运行后,按照转移函数δ所描述的规则进行计算。例如,若当前机器的状态为q,读写头所指的格子中的符号为x,设δ(q,x)=(q‘,x’,L),则机器进入新状态q‘,将读写头所指的格子中的符号改为x’,然后将读写头向左移动一个格子。若在某一时刻,读写头所指的是第0号格子,但根据转移函数它下一步将继续向左移,这时它停在原地不动。换句话说,读写头始终不移出纸带的左边界。若在某个时刻M根据转移函数进入了状态qaccept,则它立刻停机并接受输入的字符串;若在某个时刻M根据转移函数进入了状态qreject,则它立刻停机并拒绝输入的字符串。注意,转移函数δ是一个部分函数,换句话说对于某些q,x,δ(q,x)可能没有定义,如果在运行中遇到下一个操作没有定义的情况,机器将立刻停机。TuringMachine•图灵机解决了一个长期困扰我们的问题–什么是计算?•图灵机为实现自动计算提供了一个可以实施的数学模型.•物理上如何实现该模型?–冯.诺依曼为我们提供了另一个模型.第一台电子计算机的诞生1943年在美国费城的穆尔工程学院,约翰.莫奇莱、普里斯泊.艾克特提出了建造ENIAC的计划,并邀请了很多的数学家参加其中包括著名的数学家约翰.冯纽曼(Von.Neumann)第一台电子计算机的诞生1946年初在Von.Neumann等人的努力下ENIAC研制成功。ENIAC由20,000个开关元件、重30吨、耗电150千瓦。首次应用即参与了在新墨西哥州的洛斯阿拉莫斯进行的原子弹爆炸试验的计算。电子管计算机的问题ENIAC的研制成功,奠定了一个新的时代。但是,电子管遇到了巨大的障碍:–体积庞大,无法缩小。–会发出很多的热量,管间间距需要很大。到了20世纪60年代,晶体管的问世造成了计算机革命性的进步。晶体管的发明人约翰.巴丁、沃尔特.布拉顿和威廉.肖克利(WilliamShockley)三人因在晶体管技术上的革命性突破,被共同授予1965年的诺贝尔物理奖,右图是他们中的代表威廉.肖克利,以它的名字命名的肖克利半导体公司是当时最了不起的公司硅谷(siliconvalley)肖克利半导体公司衍生出仙童半导体公司,而仙童半导体公司又衍生出许多公司,包括Motorola、德州仪器公司、RCA等公司,这些公司与很多半导体公司都位于圣克拉拉山谷的帕洛阿尔托方圆数英里范围内,而此时所有的半导体几乎都是用硅制造的,所以这个地区被人们称为“硅谷”(siliconvalley)计算机经历的时代从晶体管技术的出现到现在,计算机走过了四个时代:–电子管时代–晶体管时代–中