收藏 分销(赏)

计算机组成原理371页教学课件全书电子教案.pptx

上传人:精**** 文档编号:5903564 上传时间:2024-11-23 格式:PPTX 页数:371 大小:3.28MB 下载积分:20 金币
下载 相关 举报
计算机组成原理371页教学课件全书电子教案.pptx_第1页
第1页 / 共371页
计算机组成原理371页教学课件全书电子教案.pptx_第2页
第2页 / 共371页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,计算机组成原理,第一章 计算机系统概论,1-1,计算机的发展简史,1-2,计算机的分类和应用,1-3,计算机的硬件和软件,1-4,计算机系统结构,1-1,计算机的发展简史,电子计算机是一个统称,实际上它被明确地分两大类:“电子模拟计算机”和“电子数字计算机”。前者是使用连续变化的物理量(例如电流、电压等)来表示数值的大小并参加机内运算,其运算结果自然也是连续变化的物理量;后者是将运算对象数字化成为离散的数字量,用数码进行运算,其运算结果也是离散的数字信息,它运算速度快、运算精度高,现代人们所说的“电子计算机”或“计算机”,都是指“电子数字计算机”,也是本书讨论的对象。,电子计算机的发展,如果从第一台计算机的问世算起,到现在半个多世纪,在人类科技史上还没有一种学科的发展速度可以与电子计算机的发展速度相提并论。,20世纪40年代,无线电技术和无线电工业的发展为电子计算机的研制准备了物质基础,1943年1946年美国宾夕法尼亚大学研制的电子数字积分和计算机ENIAC(Electronic Numerical Integrator And,C,omputer)是世界上第一台电子计算机。ENIAC计算机共用18000多个电子管,1500个继电器,重达30吨,占地170平方米,耗电140千瓦,每秒钟能计算,5000次加法,研制人是埃克特(JPEckert)和莫克利(JWMauchly)。ENIAC计算机存在两个主要缺点,一是存储容量太小,只能存20个字长为10位的十进制数,二是用线路连接的方法来编排程序,,因此每次解题都要依靠人工改接连线,准备时间大大超过实际计算时间。,在ENIAC计算机研制的同时,冯诺依曼(Von Neumann)与莫克利、埃克特小组合作研制EDVAC计算机,在这台计算机中确立了计算机的五个基本部件:输入器、输出器、运算器、存储器、控制器。程序和数据存放在存储器中,并采用了二进制,确立了存储程序的原则。现代的一般计算机被称作冯诺依曼结构计算机。,第一代:电子管计算机时代(从1946年第一台计算机研制成功到五十年代后期),将电子管、继电器和存储器用绝缘导线互连在一起,由单个CPU构成,CPU用程序计数器和累加器顺序完成定点运算,采用机器语言或汇编语言,用CPU程序控制IO。其主要特点是采用电子管作为基本器件。,代表性系统有由John von Neumann,AnhurBurks和HermanGoldstine于1946年在普林斯顿大学研制成功的IAS计算机、由宾夕法尼亚大学莫尔学院于1950年制成的ENIAC、由IBM于1953年制造的IBM701计算机。,第二代:晶体管计算机时代(19551964),采用分立式晶体三极管、二极管和铁氧体的磁芯,用印刷电路将它们互连起来。采用了变址寄存器、浮点运算、多路存储器和IO处理机。采用有编译程序的高级语言、子程序库、批处理监控程序。这时期计算机的主要器件逐步由电子管改为晶体管,因而缩小了体积,降低了功耗,提高了速度和可靠性。而且价格不断下降。后来又采用了磁心存储器,使速度得到进一步提高。代表性系统有1959年制成的UnivacI。ARC、60年代的CDCl604和1962年制成的IBM7030。1969年1月制成的超大型计算机CDC 7600,速度达到每秒千万次浮点运算,是这一时期设计最成功的产品。,第三代:集成电路计算机时代(19651974),采用小规模或中规模集成电路和多层印刷电路。采用了流水线、高速缓存和并行处理机。软件方面采用多道程序设计和分时操作系统。这时期的计算机采用集成电路作为基本器件,因此功耗,体积,价格等进一步下降,而速度及可靠性相应地提高,这就促使了计算机的应用范围进一步扩大。正是由于集成电路成本的迅速下降,产生了成本低而功能不是太强的小型计算机供应市场,占领了许多数据处理的应用领域。代表性系统有IBM360370系列、CDC66007600系列、Texas仪表公司的ASC和Digital Equipment公司的PDP8系列。IBM360系统是最早采用集成电路的通用计算机,也是影响最大的第三代计算机。它的主要特点是通用化,系列化、标准化。,通用化:指令系统丰富,兼顾科学计算、数据处理、实时控制三个方面。,系列化:IBM360各档机器采用相同的系统结构,即在指令系统、数据格式,字符编码、中断系统、控制方式、输入输出操作方式等方面保持统一,从而保证了程序兼容,当用户更新机器时原来在低档机上编写的程序可以不作修改就使用在高档机上。IBM360系统后来陆续增加的几种型号仍保持与前面的产品兼容。后来,西欧与日本的一些通用计算机也保持与IBM360系统兼容。苏联和东欧国家联合制造的“统一系统”也是与IBM360系统兼容的。,标准化:采用标准的输入输出接口,因而各个机型的外部设备是通用的。采用积木式结构设计,除了各个型号的CPU独立设计以外,存储器、外部设备都采用标准部件组装。,第四代:大规模集成电路计算机时代(19741991),采用大规模或超大规模集成电路和半导体存储器,出现了用共享存储器、分布存储器或向量硬件选择的不同结构的并行计算机,开发了用于并行处理的多处理操作系统、专用语言和编译器,同时产生了用于并行处理或分布处理的软件工具和环境。七十年代初,半导体存储器问世,迅速取代了磁心存储器,并不断向大容量、高速度发展,此后,大体上集成度每三年翻两番(1971年每片1K位,到1984年达到每片256K位),价格平均每年下降30。逻辑电路也得到相应的发展。,随着大规模集成电路的迅速发展,计算机进入大发展时期,通用机、巨型机,小型机、微型机都得到了发展。,1 通用机,通用机是计算机工业中价值比重最大的产品,其中以IBM 370系统影响最大,它在与IBM 360系统兼容的前提下进行了改进。IBM公司为开发360系统的软件耗费了巨大的人力和财力,1982年宣布的,I,BM 3084K大型通用机速度达到每秒2500万次,主存容量为64兆字节。其他计算机厂家在发展新机种时也遵循兼容的原则。某些计算机厂家走上与IBM计算机兼容的道路,称之为PCM:Plug Compatible Mainframe(插接兼容主机)或Program Compltible Mainframe(程序兼容主机),制造与IBM兼容的计算机,它们按IBM系列机的系统结构制造主机,并直接引用IBM计算机的软件,因而使产品的性能价格比优于IBM原装机,以争夺市场。,2 巨型机,现代科学技术,尤其是国防技术的发展,需要有很高运算速度,很大存储容量的计算机,一般的大型通用计算机不能满足要求。集成电路的进展,为制造巨型机提供了条件。从60年代到70年代相继完成了一些巨型机,其中取得最高成绩的要推Cray1计算机。针对天气预报、飞行器的设计和核物理研究中存在大量向量运算的特点,Cray1计算机的向量运算速度达每秒8000万次,并兼顾了一般的标量运算。1983年研制成功的CrayXMP机向量运算速度达每秒4亿次。与此同时,CDC公司的CYBER 203和205先后完成,CYBER205每秒可进行4亿次浮点运算。这些是80年代初期的水平最高的巨型机。但是这些成就还不能满足一些复杂问题的需要,所以不少单位开展了性能更高的巨型机的研究工作。日本、英国、苏联,法国也先后开始研制巨型机。,3 小型机,小型机规模小,结构简单所以设计试制周期短,便于及时采用先进工艺,生产量大,硬件成本低,同时由于软件比大型机简单,所以软件成本也低。再加上容易操作,容易维护和可靠性高等特点,使得管理机器和编制程序都比较简单,因而得以迅速推广,掀起一个计算机普及应用的浪潮。DEC公司的PDP11系列是16位小型机的代表,到70年代中期32位高档小型机开始兴起,DEC公司的VAXll780于1978年开始生产,应用极为广泛。VAXll系列与PDPIl系列是兼容的。小型机的出现打开了在控制领域应用计算机的局面,许多大型分析仪器,测量仪器,医疗仪器使用小型机进行数据采集,整理、分析、计算等。应用于工业生产上的计算机除了进行上述工作外还可进行自动控制。,4 微型机,微型机的出现与发展,掀起计算机大普及的浪潮。利用4位微处理器Intel 4004组成的MCS4是世界上第一台微型机,于1971年问世。Intel 8086是最早开发成功的十六位微处理器(1978年),In,t,el80286、80386与8086兼容。1981年以后32位微处理器相继问世,70年代后期,兴起个人计算机(一种独立微型机系统)热潮,最早出现的是Apple公司的Apple型微机(1977年),此后各种型号的个人计算机纷纷出现。1981年一向以生产大中型通用机为主的IBM公司推出了IBM PC机,后来又推出扩充了性能的IBM PCXT,IBM PCAT机,由于具有设计先进、软件丰富,功能齐全、价格便宜等特点,很快成为微型机市场主流。国内外不少厂家相继生产了与IBM PC兼容的个人计算机。低档的个人计算机可供家庭娱乐和业余爱好者使用,高档的用于经营管理、科学计算以及教育等方面。,第五代:(1991现在)采用超大规模集成电路(VLSI)工艺更加完善的高密度、高速度处理机和存储器芯片。它的最重要特点是进行大规模并行处理,采用可扩展的和允许时延的系统结构。第五代计算机具有:智能接口功能:能识别自然语言(文字、语音)、图形、图象;解题和推理功能:根据自身存储的知识进行推理,求解问题。知识库管理功能:计算机内存储大量知识,可供检索。代表性系统有F,uj,itsu的VPP500、Cray Research的MPP、Thinking Machines公司的CM5、Intel超级计算机系统Paragon、SGI的Origin 2000和Sun公司的10000服务器。,随同计算机硬件发展的还有软件,应该指出,发挥计算机的作用,推广计算机的应用,改进计算机的设计以及简化计算机的操作,使它从只供专家使用转为面向大众,软件工作者起了决定性的作用。系统软件不断完善、升级,操作系统自动地管理计算机系统中各个设备以及多个程序的高效运行,是第三代计算机时期的重大成就。,广泛应用计算机的结果,计算机厂家向用户提供软件(系统软件和应用软件)时与硬件分别计价,并产生了专门从事软件研制、生产、销售工作的软件公司。但是软件的发展跟不上需要,软件费用急剧增长,这是因为硬件是工业化生产,价格不断下降,而软件为人工劳动,生产率低,可靠性不高。,1-2,计算机的分类和应用,121 计算机的分类,电子计算机从总体上来说分为两大类。一类是电子模拟计算机。模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。模拟计算机用电压表示数据,电压组合和测量值用来计算,盘上连线用来控制,精度低,数据存储量小,没有逻辑判断能力。,另一类是电子数字计算机,数字计算机的主要特点是按位运算,并且不连续地跳动计算。数字计算机数据表示是0和1,用数字计数,用程序控制,精度高,数据存储量大,有较强的逻辑判断能力。,电子模拟计算机由于精度和解题能力都有限,所以应用范围较小。电子数字计算机则与模拟计算机不同,它是以近似于人类的“思维过程”来进行工作的,所以有人把它叫做电脑。,数字计算机进一步又可分为专用计算机和通用计算机。专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。专用机是最有效、最经济和最快速的计算机,但是它的适应性很差。通用计算机适应范围很大,但是牺牲了效率、速度和经济性。,通用计算机又可分巨型机、大型机、中型机、小型机、微型机和单片机六类,它们的区别在于指令系统规模、性能指标、数据存储容量、体积、简易性、功率损耗和机器价格,见图1-1。,图1-1 各种机型的区别,122 计算机的应用,随着计算机技术的迅猛发展,计算机的应用范围在不断地扩大,从国民经济各部门到个人家庭生活,从军事部门到民用部门,从科学教育到文化艺术,从生产领域到消费娱乐,小到电子手表、儿童玩具,大到卫星、导弹的发射,应该说计算机已经渗透到国民经济的各个部门,是否使用计算机已经成为各单位或部门技术应用水平高低的重要标志。下面从几个主要方面简述计算机的应用领域。,1科学计算,科学研究和工程技术计算领域,是计算机应用最早的领域,也是应用得较广泛的领域。例如数学、化学、原子能物理学、天文学、地球物理学、生物学等基础科学的研究,以及航天飞行、飞机设计、桥梁设计、水力发电、地质找矿等方面的大量计算都要用到计算机。,例如导弹或卫星的发射,必须精确地计算其运行轨道和目标,24小时天气预报,用手摇计算器进行计算需要几个星期,改用高速计算机则只需要几个小时或更短时间;生命科学中为测定胰岛素的晶体结构,需要进行大量的、高精度的复杂运算,只有采用高速计算机才成为可能。,2.数据处理方面,计算机发展初期,它仅仅用于数值计算。但是后来应用范围逐渐发展到非数值计算领域,可用来处理文字、表格、图像、声音等各类问题。因此,确切地讲,计算机应当称为信息机,或叫信息处理机。信息处理的范围相当广泛。网络就是计算机!正因为如此,这一领域由于internet的广泛应用,所占的比例也最大,带来的各种效益也十分明显。,3.计算机控制,在现代化工厂里,计算机普遍用于生产过程的自动控制,一般来说是计算机根据给定的数据实时地对生产过程实现自动化控制(过程控制)。各种类型的程控机床的推出,对于提高产品精度和合格率是任何人工所不可能达到的。用于生产过程自动控制的计算机,一般都是实时控制,它们对计算机的速度要求不高,但可靠性要求很高,否则将生产出不合格的产品,甚至造成重大设备事故或人身事故。用于控制的计算机,其输入信息往往是电压,温度,机械位置等模拟量,要先将它们转换成数字量,然后计算机才能进行处理或计算。当从被控制对象测量到的信息是温度、位置等非电量时,要将它们转换成电量,然后再转换成数字量。如何测量,用什么仪表测量也是一个很重要的问题。计算机的处理结果是数字量,一般要将它们转换成模拟量去控制对象。,4.计算机辅助设计计算机辅助制造(CADCAM),目前在飞机、船舶、光学仪器、超大规模集成电路VLSI等的设计制造过程中,CADCAM 占据着越来越重要的地位。,在超大规模集成电路的设计和生产过程中,要经过设计制图、照相制版、光刻、扩散、内部连接等多道复杂工序,是人工难以完成的。使用已有的计算机辅助设计新的计算机,达到设计自动化或半自动化程度,从而减轻人的劳动强度并提高设计质量。,由于设计工作与图形分不开,一般供辅助设计用的计算机配备有图形显示、绘图仪等设备以及图形语言、图形软件等。设计人员可借助这些专用软件和输入输出设备把设计要求或方案输入计算机,通过相应的应用程序进行计算处理后把结果显示出来,设计人员可用光笔或鼠标器进行修改或选择,直到满意为止。,近些年来,伴随着CAD技术的推广,计算机辅助设计出现了许多新的分支。例如,计算机辅助制造(CAM),计算机辅助测试(CAT),计算机辅助教学(CAl)等均属于计算机辅助设计的范畴。国家教育部明确指示,学校要将CAI引入教学领域,促进教学内容、教学体制、教学思想和教学方法的改革,要改变传统的“一支粉笔、一块黑板”的教学模式,把教学水平推上一个新的台阶,努力实现教学手段的现代化。,5.人工智能,人工智能是将人脑在进行演绎推理的思维过程、规则和所采取的策略、技巧等编成计算机程序,在计算机中存储一些公理和推理规则,然后让机器去自动探索解题的方法,所以这种程序不同于计算机的一般应用程序。人工智能的研究课题是多种多样的,诸如计算机学习、计算机证明、景物分析、模拟人的思维过程、机器人等等,内容很多。,以下棋为例,如果把走棋子的法则编成程序存入计算机,计算机就可以按规则走动棋子,与人对弈。下棋的结果,计算机可能输了,第二次再下,当人的走法不变时,计算机就再输一次。但是如果我们从方法和程序上研究一种新的手段,使计算机下棋输了一次以后它能进行自学习、自组织、自积累经验,那么下次再下棋时就不会重犯上次的错误,这就是人工智能所研究的课题。,智能机器人是人工智能各种研究课题的综合产物,有感知和理解周围环境、进行推理和操纵工具的能力,并能通过学习适应周围环境,完成某种动作。,人工智能研究中最有成就的要算“机器人”。目前世界上有大量的“工业机器人”在生产线上或在高温、有毒、辐射、深水等环境下工作。尽管它们只做一些非常简单的事情,但是任务完成得非常出色。现在,又出现了比“工业机器人”更高明的“智能机器人”,它会自己识别控制对象和工作环境,作出判断和决策,直接领会人的口令和意图,能避开障碍物,适应环境条件的变化,灵活机动地完成控制任务与信息处理任务。,13 计算机的硬件和软,件,131 计算机的硬件,计算机的硬件由输入设备、输出设备、运算器,存储器和控制器五部分组成。图12为计算机硬件组成框图。,输入设备用来输入原始数据和处理这些数据的程序。最常用的输入设备是键盘、扫描仪等。输入的信息有数字,字母和控制符等,人们经常用八位二进制码来表示一个数字(09)、一个字母(A,B,C,X,Y,Z)或其他符号,当前通用的是ASC码,它用七位二进制码来表示一个字符,最高的一位可用于奇偶校验或作其它用处。在计算机中,一般把八位二进制码称为一个字节。,输出设备用来输出计算机的处理结果,可以是数字、字母、表格、图形等。,图1-2 计算机硬件组成框图,在运算前需要把参加运算的数据和解题步骤通过输入设备送到存储器中保存起来。在控制器控制之下,存储器可与输入输出设备、运算器、控制器交换信息,起存储、缓冲、传递信息的作用。存储器存储的全是0或1。目前采用半导体器件来担当此任务。我们知道,一个半导体触发器有0和l两种状态,可以记忆一个二进制代码。一个数假定用16位二进制代码来表示,那么就需要有16个触发器来保存这些代码。通常,在存储器中把保存一个数的16个触发器称为一个存储单元。存储器是由许多存储单元组成的。每个存储单元都有编号,称为地址。向存储器中存数或者从存储器中取数,都要按给定的地址来寻找所选的存储单元,这相当于上面所讲的横格纸每一行存放一个数一样。图1-3为存储器的结构示意图。,图1-3为存储器的结构示意图,运算器是对信息或数据进行处理和运算的部件,经常进行的是算术运算和逻辑运算,所以在其内部有一个算术及逻辑运算部件(ALU)。算术运算是按照算术规则进行的运算,例如加、减、乘、除、求绝对值、求负值等。逻辑运算一般是指非算术性质的运算,例如比较大小、移位、逻辑乘、逻辑加等。二进制数的运算规律非常简单。例如加法:0+00,0+11,l+01,1+110,最后一个加式中等号右边的“1”表示向上一位的进位。又如乘法:0X00,Ox10,1X00,1X1=l0,正是由于二进制数运算规律简单,在电子器件中比较容易实现,因此,在电子数字计算机中广泛采用二进制数。,二进制数和十进制数一样,在运算中,当数的位数越多时,计算的精度就越高。理论上讲,数的位数可以任意多。但是位数越多,所需的电子器件也越多,因此目前计算机的运算器长度一般是8位、16位、32位或64位。控制器主要用来实现计算机本身运行过程的自动化,即实现程序的自动执行。,132 计算机的软件,1软件的组成,机器语言是计算机硬件可直接识别的最低级的语言。它要求程序员不仅要了解机器的硬件结构,而且要掌握各条机器指令的二进制编码格式,这是很难做到的。因此利用机器语言编写程序是非常困难的。汇编语言是采用助记符编程的语言,用汇编语言编写的源程序必须由汇编程序将其翻译成机器语言程序才能被机器执行,汇编语言与机器的硬件结构有一定的关系,能较好地发挥机器硬件的功能,因此要求程序员对机器硬件有一定的了解,在系统结构相同的序列机内部可实现汇编语言级的软件兼容。汇编语言的优点是执行速度快,因此多用于实时控制。高级语言是完全脱离机器硬件结构,根据应用领域的不同要求而设计出的通用的程序设计语言。,计算机软件可分成系统软件和应用软件两大类,如图1-4 计算机软件组成图。应用软件是由应用程序员根据要求,使用各种语言编写的源程序。是利用计算机来解决某些问题而编制的程序,系统软件通常包括用来管理机器的操作系统,各种高级语言的编译或解释程序,汇编程序,数据库管理程序,还有系统调试程序、故障诊断程序和错误检测程序等,它们是由系统程序员编写的,一般不允许修改,可固定存放在机内的只读存储器中,或者存放在外部存储器中,需要时调入机器的内存储器中去执行。它包括以下四类:(1)各种服务性程序,如诊断程序、排错程序、练习程序等;(2)语言程序,如汇编程序、编译程序、解释程序等;(3)操作系统;(OperatingSystem简称OS)用来管理和控制计算机系统的软硬件资源,提高这些资源的利用率,并为用户使用计算机提供方便,属于核心的系统程序。目前比较流行的操作系统有MS-DOS,UNIX,WINDOWS,LINIX等。,图1-4 计算机软件组成图,(4)数据库管理系统。数据库管理程序是管理数据库的工具,计算机在工作过程中常常需要处理大量的数据信息,它们可集中存放在各种类型的数据库中。为了数据库的建立、使用和维护,使各种类型的数据库管理程序应运而生。从早期的数据库管理系统DBASE到目前流行的面向对象的数据库管理系统ORACLE、SYBACE等,它们都能在操作系统的管理下,实现对数据库的管理和控制功能。除此之外,系统调试程序、故障诊断程序也是系统软件中不可缺少的部分。,2软件的发展,早期的计算机中,是直接用机器语言(即机器指令代码)来编写程序的,这种方式编写的程序称为手编程序。这种用机器语言书写的程序,计算机完全可以,“直接识别”并能执行,所以又叫做目的程序。为了编写程序方便和提高机器的使用效率,人们想了一种办法,用一些约定的文字、符号和数字按规定的格式来表示各种不同的指令,然后再用这些特殊符号表示的指令来编写程序。这就是所谓的汇编语言。借助于汇编程序,计算机本身可以自动地把符号语言表示的程序(称为汇编源程序)翻译成用机器语言表示的目的程序,从而实现了程序设计工作的部分自动化。由于不同的计算机其指令系统也不同,所以人们使用计算机时必须先花很多时间熟悉这台机器的指令系统,然后再用它的符号语言来编写程序,因此还是很不方便,节省的人力时间也有限。为了进一步实现程序自动化和便于程序交流,使不熟悉具体计算机的人也能很方便地使用计算机,人们又创造了各种接近于数学语言的算法语言。,所谓算法语言,是指按实际需要规定好的一套基本符号以及由这套基本符号构成程序的规则。算法语言比较接近数学语言,它直观通用,与具体机器无关,只要稍加学习就能掌握,便于推广使用计算机。有影响的算法语言有BASIC,FORTRAN,C等。用算法语言编写的程序称为源程序。但是,这种源程序如同汇编源程序一样,是不能由机器直接识别和执行的,也必须给计算机配备一个既懂算法语言又懂机器语言的“翻译”,才能把源程序翻译为机器语言。通常采用编译方法和解释方法这两种方法。,用户直接使用机器总觉得机器“太硬了”,很多情况都得依附它。而计算机又觉得用户及外部设备“太笨”,常常使它处于无事可做的状态,要摆脱这种情况还要依靠计算机来管理自己和管理用户,于是人们又创造出一类程序,叫做操作系统。,根据不同使用环境要求,操作系统目前大致分为批处理操作系统、分时操作系统、网络操作系统、实时操作系统等多种。个人计算机中广泛使用微软公司的“视窗”操作系统。,随着计算机在信息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数据,建立和检索大量的表格。这些数据和表格按一定的规律组织起来,使得处理更方便,检索更迅速,用户使用更方便,于是出现了数据库。所谓数据库就是实现有组织地、动态地存储大量相关数据,方便多用户访问的计算机软、硬件资源组成的系统。数据库和数据库管理软件一起,组成了数据库管理系统。数据库管理系统有各种类型。目前许多计算机包括微型机,都配有数据库管理系统。,14 计算机系统的层次结构,1.计算机系统结构概念,“计算机系统结构”这个名词来源于英文computer architecture,也有译成“计算机体系结构”的。计算机系统结构这个词是Amdahl等人在1964年提出的。他们把系统结构定义为由程序设计者所看到的一个计算机系统的属性,即概念性结构和功能特性。这实际上是计算机系统的外特性。按照这一定义,不同程序设计者所看到的计算机有不同的属性。,在计算机技术中,一种本来存在的事物或属性,但从某种角度看似乎不存在,称为透明性现象。通常,在一个计算机系统中,低层机器级的概念性结构和功能特性,对高级语言程序员来说是透明的。由此看出,在层次结构的各个级上都有它的系统结构。,2.计算机系统层次结构,计算机系统由硬件和软件组成,按功能划分成多级层次结构,如图所示。图中每一级各对应一种机器。图中的第0级机器由硬件实现,第1级机器由微程序(固件)实现,第2级至第6级机器由软件实现。我们称由软件实现的机器为虚拟机器,以区别于由硬件或固件实现的实际机器。,第0和第1级是具体实现机器指定功能的中央控制部分。它根据各种指令操作所需要的控制时序,配备一套微指令,编写出微程序,控制信息在各寄存器之间的传送,这就是第1级机器。第2级是传统机器语言机器。这级的机器语言是该机的指令系统。机器语言程序员用这级指令系统编写的程序由第1级的微程序进行解释。,第3级是操作系统机器。这级的机器语言中的多数指令是传统机器的指令,如算术运算、逻辑运算和移位等指令。第4级是汇编语言机器。这级的机器语言是汇编语言。用汇编语言编写的程序首先翻译成第3级或第2级语言,然后再由相应的机器进行解释。完成翻译的程序叫作汇编程序。,第5级是高级语言机器。这级的机器语言就是各种高级语言。用这些语言所编写的程序,一般是由编译程序翻译到第4级或第3级上的语言,个别的高级语言也用解释的方法实现。,第6级是应用语言机器。这级的机器语言是应用语言。这种语言使非计算机专业人员也能直接使用计算机,只需在用户终端用键盘或其他方式发出服务请求就能进入第6级的信息处理系统。,计算机系统层次结构图,从学科领域来划分,大致可以认为第0至第1级是计算机组织与结构讨论的范围,第3至第5级是系统软件,第6级是应用软件。但是,严格说起来又不尽然,它们之间仍有交叉。例如,第0级要求一定的数字逻辑基础;第2级涉及汇编语言程序设计的内容;第3级与计算机系统结构密切相关。在特殊的计算机系统中,有些级别可能不存在。,把计算机系统按功能划分成多级层次结构,首先有利于正确理解计算机系统的工作,明确软件、硬件和固件在计算机系统中的地位和作用。其次有利于理解各种语言的实质及其实现。最后还有利于探索虚拟机器新的实现方法,设计新的计算机系统。,15 本章小结,“电子计算机”是指现在广泛应用的电子数字计算机,它分为专用计算机和通用计算机两大类。专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。通用计算机又分为巨型机、大型机、中型机、小型机、微型机、单片机六类,其结构复杂性、性能、价格依次递减。,计算机的生命力在于它的广泛应用,应用的范围几乎涉及人类社会的所有领域。计算机的硬件是由有形的电子器件等构成的,它包括运算器、存储器、控制器、适配器、输入输出设备。,计算机的软件是计算机系统结构的重要组成部分,也是计算机不同于一般电子设备的本质所在。计算机软件一般分为系统软件和应用软件两大类。,计算机系统是一个由硬件、软件组成的多级层次结构,它通常由微程序级、一般机器级、操作系统级、汇编语言级、高级语言级组成。,习题,1.1 数字计算机和模拟计算机的区别?,1.2 冯诺依曼计算机的设计思想?主要组成部分?,1.3 描述计算机的发展过程及应用范围?,1.4 计算机软件的组成?并举例说明。,1.5 说明计算机的层次结构及各层次结构的特点?,计算机组成原理,第二章 数据表示方法,2-1,数据表示方法和运算器,2-2,逻辑部件,2-3,控制部件,21 数据表示方法和运算器,211计算机中数据的表示方法,当前的计算机所采用的存储器件都是两态器件,所以适合于存放二进制数据。但是在计算机内部数据还是以二进制的形式存放和处理。二进制只使用了两个不同的数字符号,易于用物理器件来实现:在物理世界中具有两个稳定状态的物理器件很多,如晶体管的“截止”与“导通”、电容的“充电”与“放电”、电压信号的“高”与“低”、脉冲的“有”与“无”等等,只要规定其中一种稳定状态表示“1”,另一种稳定状态表示“0”,就可以用来表示二进制数位了。其次,二进制的运算规则非常简单,易于用电子器件来实现。计算机里用到的数据类型主要可分为两类:表示数量的数值数据和非数值性的符号数据。所有的数据都是以二进制的形式在计算机里处理和存储。,1数值数据表示方法,在计算机中表示数时,需要考虑以下几个因素:要表示的数的类型(小数、整数、实数和复数)、符号如何表示以及小数点的位置;可能遇到的数值范围;数值精确度;数据存储和处理所需要的硬件代价。计算机中表示数值符号的方法是占用一位二进制位,1表示负号、0表示正号。常用的数值数据表示格式有两种,根据小数点的位置是固定不变还是浮动变化的分为定点格式和浮点格式。,(1)定点数的表示方法,所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。由于约定在固定的位置,小数点就不再使用记号“”来表示。原理上讲,小数点位置固定在哪一位都可以,但是通常将数据表示成纯小数或纯整数。,例如用一个n1位字来表示一个定点数x,其中一位x,0,用来表示数的符号,其余位数代表它的量值。为了将整个n1位统一处理起见,符号位x,0,放在最左位置,并用数值 0和1分别代表正号和负号,这样,对于任意定点数x=x,0,x,1,x,2,x,n,,在定点机中可表示为如下形式:,x,0,x,1,x,2,x,n-1,x,n,符号,数量值,如果数x表示的是纯小数,那么小数点位于x,0,和x,1,之间。当x,0,x,1,x,2,x,n,各位均为0时,数x的绝对值最小,当各位均为1时,x的绝对值最大,故数的表示范围为 0,x,12,n,如果数x表示的是纯整数,那么小数点位于最低位x,n,的右边,此时数x的表示范围为 0,x,2,n,1,目前计算机中多采用定点纯整数表示,因此将定点数表示的运算简称为整数运算。,(2)浮点数的表示方法,采用浮点表示法表示的数据叫做浮点数,采用浮点数进行运算的机器叫做“浮点机”。浮点数是指小数点位置可以改变的数,显然浮点数可用来表示带符号的实数。例如:表示8位字长的二进制浮点数可以写成,0.10110101 2,111,尾 数 阶码,任意一个十进制数N可以写成 N=10,Z,X,同样,在计算机中一个任意进制数N可以写成 N=B,z,X其中X称为浮点数的尾数,是一个纯小数。z是比例因子的指数,称为浮点的指数,是一个整数。比例因子的基数B是一个常数,一般规定只为2,8或16。在机器中表示一个浮点数时,一是要给出尾数,用定点小数形式表示。尾数部分给出有效数字的位数,因而决定了浮点数的表示精度。二是要给出指数,用整数形式表示,常称为阶码,阶码指明小数点在数据中的位置,因而决定了浮点数的表示范围。浮点数也要有符号位。因此一个机器浮点数应当由阶码和尾数及其符号位组成,:,32,位浮点数的标准格式为:,Z,0,Z,1,Z,2,Z,n-1,Z,n,X,0,X,1,X,2,X,n-1,X,n,阶符,阶码,数符,尾数 ,31,30 23,22 0,32位浮点数,F,Z,X ,64位浮点数的标准格式为:,63,62 52,51 0,64位浮点数,F,Z,X ,32位的浮点数中,F是浮点数的符号位,占1位,安排在最高位,F0表示正数,F1表示负数。X是尾数,放在低位部分,占用23位,用小数表示,小数点放在尾数域的最前面。Z是阶码,占用8位,阶符采用隐含方式,即采用移码方法来表示正负指数。移码方法对两个指数大小的比较和对阶操作都比较方便,因为阶码域值大者其指数值也大。采用这种方式时,将浮点数的指数值z变成阶码Z时,应将指数z加上一个固定的偏移值127(01111111),即Zz127。一个规格化的32位浮点数X的值可表示为X(1),F,(1X)2,E127,其中尾数域所表示的值是1X。因为规格化的浮点数的尾数域最左位也即最高有效位总是1,故这一位经常不予存储,而认为隐藏在小数点的左边。,64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏移值是1023。因此规格化的64位浮点数,X,的真值为,X=(1),F,(1X)2,E1O23,zE1023,为了提高数据的表示精度,当尾数的值不为0时,其绝对值应05,即尾数域的最高有效位应为1,否则要以修改阶码同时左右移小数点的办法,使其变成这一要求的表示形式,这称为浮点数的规格化表示。,定点机小数表示的数的范围是00000000到01111111,相当于十进制数的0到127,而浮点机所能表示的数的范围是2,11,00001到2,11,01111,相当于十进制数的112875。,一台计算机中究竟采用定点表示还是浮点表示,要根据计算机的使用条件来确定。一般在高档微机以上的计算机中同时采用定点、浮点表示。,【例21】若浮点数X,0,的二进制存储格式为(43240000),16,,求其32位浮点数的十进制值。,解:将16进制数展开后,可得二制数格式为,0 100 0011 0 010 0100 0000 0000 0000 0000,F 阶码(8位)尾数(23位),指数z阶码127100001100111111100000111(7),10,。,包括隐藏位1的尾数1X1010 0100 0000 0000 0000 00001010010,于是有,X,0,(1),F,1X 2,z,(1010010)2,7,10100100(187),10,。,【例22】将十进制数1659375转换成32位浮点数的二进制格式来存储。,解:首先分别将整数和分数部分转换成二进制数:16593751000010011移动小数点,使其在第1位和第2位之间,10000100111000010011 2,4,z,4,所以:,F=0,,,E=4,127=131,,,X=000010011,则得到的,32,位浮点数的二进制存储格式为:,0100 0001 1000 0100 1100 0000 0000 0000=,(,4184C000,),16,(3)定点数据的编码方法,真值与机器码,机器码是数在计算机中的表示形式。对于数值数据而言,,无论以定点形式表示或是以浮点形式表示,都需要通过某,种编码,方法,以计算机所能处理的,0,和,1,二进制位来表示,其数值大小。通常一个数值数据的机内表示形式称为其机,器码,而一个机器码所代表的数值称为该机器码的真值。,计算机中只有机器码,不存在数的真值。,假设机器码的宽度为,n,,最高位为符号位,下面分别介绍,实际应用中常见的,4,种机器码编码方法:原码、反码、补,码和移码。,原码表示法,定点整数原码表示法,定点整数原码的定义如下所示:,X,原,=X 0,X,2,n,1,X,原,=2,n,1,X,2,n,1,X,0,由定义可以看出,正整数的原码就是其自身,负整数的原码只需把其绝对值的原码的符号位置为,1,即可。,(,用,0,表示正号,用,1,表示负号,),。原码表示方法的定点整数的取值范围为,(2,n,1,),X,2,n,1,1,。,注意在原码表示法中,零有正零和负零之分。,0,0000,0,,,0,1000,0,。,定点小数的原码表示法,定点小数原码的定义如下所示:,X,原,X 0,X,1,X,原,1,X,1,X,0,正的纯小数的原
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服