第一章计算机组成原理计算机系统概论课件.ppt
本章主要内容,计算机发展历程 计算机系统的层次结构计算机系统的组成 计算机的工作过程 计算机性能计算机的分类和应用,1.1 计算机发展历程,第一台电子计算机ENIAC,1946年美国宾西法尼亚大学研制成功电子数字计算机ENIAC ( Electronic Numerical Integrator And Computer ),第一台电子计算机(通用可编程序)18800电子管,30吨,占地150平方米,功耗150kw速度:5000次十进制加法/秒ENIAC的特点:十进制表示,程序用插线开关实现,为了改进程序的输入方式: 美国数学家冯.诺依曼,提出二进制表达方式和存储程序控制计算机构想。提出并描述一个计算机模型EDVAC(Electronic Discrete Variable Automatic Computer)EDVAC直到1952年才调试成功,冯诺依曼型计算机硬件组成,具备的功能:,(1)输入输出功能,(2)记忆功能,(3)计算功能,(4)判断功能,(5)自我控制功能,计算机发展的几个过程,1946年开始的第一代电子管计算机:计算机运算速度一般为每秒几千次至几万次,体积庞大,成本很高,可靠性较低,在此期间,形成了计算机的基本体系,确定了程序设计的基本方法,数据处理机开始得到应用。,1958年开始的第二代晶体管计算机: 运算速度提高到几万次至几十万次,可靠性提高,体积缩小,成本降低,工业控制机开始得到应用。,1965年开始的第三代中小规模集成电路计算机:可靠性进一步提高,体积进一步缩小,成本进一步下降,运算速度提高到几十万次至几百万次。在此期间,形成机种多样化,生产系列化,使用系统化,小型计算机开始出现。,1972年开始的第四代超大规模集成电路(VLSI)计算机: 可靠性更进一步提高,体积更进一步缩小,成本更进一步降低,速度提高到每秒几百万次至几千万次。有机片大规模集成电路组成的微型机开始出现。,1991年开始的第五代巨大规模集成电路(ULSI)计算机: 运算速度提高到每秒几亿次至上百亿次。由一片巨大规模集成电路实现的单片机开始出现。,微处理器的发展,以INTEL为例,1971年,4004问世,主频108KHz,晶体管2300个,10微米。,1978年,8086问世,主频4.77MHz,晶体管29000个,3微米。,1982年,推出80286,内含13.4万个晶体管,PC产业真正开始腾飞。,1985年,386问世,主频16MHz起,晶体管275000个,1微米。,1989年,486问世,主频25MHz起,晶体管1200000个,1微米。,1993年,Pentium问世,主频60MHz起,晶体管310万个,0.8微米。,2000年,Pentium 4问世,主频1.3GHz起,晶体管4200万个,0.18微米。,2006年发布酷睿2,晶体管数量达到2.91 亿个 ,采用65nm制造工艺 。,超级计算机TOP500简介,2008年世界超级计算机排名(2008.11),2009年世界超级计算机排名(2009.11),2010年世界超级计算机排名(2010.11),2011年世界超级计算机排名(2011.06),2012年世界超级计算机排名(2012.06),TOP500 国家分布(2011.6),TOP500 国家分布(2012.6),系统供应商统计 (2011.6),TOP500超级计算机选用处理器统计(2011.6),2009、2012TOP500使用OS统计,中国超级计算机发展简介,年, “银河”的亿次计算机历经年研制在国防科技大学诞生。,年,研制出银河通用并行巨型机,峰值速度达亿次/秒。,年,研制成功银河百亿次并行巨型计算机系统,峰值性能为每秒亿次浮点运算。,年,国家并行计算机工程技术研究中心研制的神威计算机,峰值运算速度达每秒亿次,在国家气象中心投入使用。,年,由中科院计算所、曙光公司、上海超级计算中心三方共同研发制造的曙光实现了每秒万亿次运算速度。,年,“深腾”是国内第一个实际性能突破每秒百万亿次的异构机群系统,性能突破每秒万亿次。,年月日,中国首台千万亿次超级计算机“天河一号”诞生。,计算机的发展趋势,1巨型化 巨型化是指具有高速度、大容量、高吞吐量的计算机。 2微型化 微型化是指采用巨大规模集成电路组成的体积小、价格低、功能强的计算机。这种计算机主要包括嵌入式计算机和微型计算机,嵌入式计算机已进入仪器、仪表、家用电器等小型仪器设备中,同时也作为工业控制过程的心脏,使仪器设备实现“智能化”。 3网络化 计算机与互联网络组成高速信息通道,互联网络扩展了计算机概念。 4智能化 智能化是指计算机模拟人类的智能活动,诸如感知、判断、理解、学习、问题求解和图像识别等。智能化的发展将使各种知识库及人工智能技术得到进一步普及,人们将用自然语言和机器对话。计算机将从数值计算为主过渡到知识推理为主,从而使计算机进入知识处理阶段。 5多媒体化 多媒体化是指计算机具有全数字式、全动态、全屏幕的播放、编辑和创作多媒体信息的功能,具备控制和传输多媒体电子邮件、电视会议等多种功能。,1.2 计算机系统层次结构,计算机解题过程,现代计算机的解题过程通常是先由用户用高级语言编写程序(称作为源程序),然后将它和数据一起送入计算机内,再由计算机将其翻译成机器能识别的机器语言程序(称作为目标程序),机器自动运行该机器语言程序,并将结果输出。,计 算 机,用户程序(源程序),结果,计算机系统的层次结构,虚拟机器,实际机器,微指令由硬件直接执行,用微程序解释机器指令,应用语言程序经应用程序包翻译成高级语言程序包,高级语言程序经编译/解释程序翻译成汇编语言程序(或中间语言程序,或是机器语言语言),汇编语言程序经汇编程序包翻译成机器语言程序,一般用机器语言程序解释作业控制语句等,层次结构划分的好处,有利于理解软件、硬件和固件在系统中的地位和作用。 从系统层次的划分中,可以看出,微程序机器级(M0)、传统机器级(M1)、操作系统机器级(M2)不是为应用程序员解题设计的,而是为运行支持更高层次机器级程序所必须的编译程序和解释程序而设计的,以便能设计和实现新的虚拟机器级。有利于理解各种语言的实质和实现途径。 计算机各层次的语言总是通过低一级的语言翻译来实现的,这就说明相邻机器级之间的语义差别不能太大。有利于推动计算机系统结构的发展。例如,可以重新分配软、硬件的比例,为虚拟机器的各个层次提供更多更好的硬件支持,改变硬件及器件快速发展而软件却日益复杂、开销过大的状况。可以用硬件和固件来实现高级语言和操作系统而形成高级语言机器和操作系统机器。有利于理解计算机系统结构的定义。把计算机按功能划分成多个不同的层次结构,从各个层次的功能划分和实现去了解计算机系统,有助于更深入的了解系统结构的定义。,计算机系统结构和计算机组成,计算机系统结构这个词是Amdahl等人在1964年介绍IBM360时提出的。他们把系统结构定义为由程序设计者所看到的一个计算机系统的属性,即概念性结构和功能特性。这实际上是计算机系统的外特性,按照计算机系统的层次结构,不同程序设计者所看到的计算机具有不同的属性。计算机系统结构研究的主要内容是计算机系统的多级层次结构中各级之间界面的定义及其上下的功能分配。通常所说的计算机系统结构,主要讨论传统机器级的系统结构,即从机器语言程序员的角度所看到的计算机系统结构。 计算机组成又称计算机设计,是指计算机系统结构的逻辑实现。研究的内容主要包括机器内部的数据流和控制流的组成以及逻辑设计等。它着眼于机器内各事件的排序方式与控制机构、各部件的功能以及各部件间的联系。 计算机组成的设计是按所希望达到的性能价格比,最佳、最合理的把各种设备和部件组成计算机,以实现所确定的计算机系统结构。,1.3 计算机系统的组成,计算机的硬件系统,存储器,运算器,控制器,适配器,输入设备,输出设备,系统总线,计算机硬件组成,1. 运算器 通常由算术逻辑运算单元(ALU,Arithmetic and Logic Unit)、通用寄存器和状态字寄存器组成 ,是进行算术运算和逻辑运算的部件。,计算机硬件组成,2. 控制器 控制器是全机的指挥中心,是发布命令的“决策机构”,完成协调和指挥整个计算机系统的操作。控制器的主要功能是产生计算机的全部操作控制信号,对取指令、分析指令和执行指令的操作过程进行控制。 控制器由程序计数器(PC)、指令寄存器(IR)、指令译码器、时序产生器和操作控制器组成。,Pentium CPU,Pentium IV CPU,计算机硬件组成,3. 存储器 计算机为了完成存储程序和存储数据的功能,必须具备能存储信息的存储器。现代计算机以存储器作为各种信息存储和交流的中心,存储器可与CPU、输入/输出设备交换信息,起到存储、缓冲和传递信息的作用。,例:32M4bit SDRAM内部结构,计算机硬件组成,4. 输入设备 输入设备的作用是将原始数据和处理这些数据的程序送入计算机。常见的输入设备包括键盘、鼠标、扫描仪、数字照相机、摄像头、数字化仪、话筒等。 5. 输出设备 输出设备的作用是将计算结果转化为用户或者设备所能识别或者接收的信息形式,如数字、字母、符号、文字、图形、图像、声音等。常见的输出设备包括显示器、打印机、绘图仪、扬声器等。 常见的磁盘、光盘、磁带机等辅助存储器也是重要的外部设备,它既可以作为输入设备,也可以作为输出设备,此外,它还有存储信息的功能。它们与输入/输出设备一样,也要通过接口电路或适配器与主机相连。 6. 系统总线 系统总线是构成计算机系统的骨架,是多个系统部件之间进行数据传送的公共通路。借助系统总线,计算机在CPU、存储器、输入设备、输出设备之间实现地址、数据、控制/状态等信息的传送操作。,计算机系统的软件组成,计算机系统,计算机硬件,操作系统语言处理程序诊断程序各种标准程序库。,MISERPOFFICEOUTLOOK。,计算机硬件与软件的逻辑等价性,软件和硬件在逻辑功能上是等效的,同一逻辑功能既可以用软件也可以用硬件或固件实现。从原理上讲,软件实现的功能完全可以用硬件或固件完成,同样,硬件实现的逻辑功能也可以由软件的模拟来完成,只是性能、价格以及实现的难易程度不同而已。 软、硬件的功能分配比例可以在很宽的范围内变化,这种变化是动态的,软硬功能分配的比例随不同时期以及同一时期的不同机器的变化而变化。由于软、硬件是紧密相关的,软硬界面常常是模糊不清的,在计算机系统的功能实现上,有时候很难分清哪些功能是由硬件完成的,哪些功能是由软件完成的。在满足应用的前提下,软硬功能分配比例的确定,主要是看能否充分利用硬件、器件技术的现状和进展,使计算机系统达到较高的性能价格比。 从目前软硬件技术的发展速度及实现成本上看,随着器件技术的高速发展,特别是半导体集成技术的高速发展,以前由软件来实现的功能,越来越多的由硬件或固件来实现,总的来说,软件硬化是目前计算机系统发展的主要趋势。,1.4 计算机的工作过程,使用计算机求解一个简单的例子,【例】 用计算机求解z=x+y,其中x和y为已知数。 解题步骤为: 将x的值从主存单元取出,存入某一个寄存器; 将y的值从主存单元取出,存入另一个寄存器; 将x和y的值相加,运算结果存入寄存器; 将结果从寄存器取出,存入主存单元z中。 将上述解题步骤按照计算机的指令格式和指令系统编写成对应的机器指令,就完成了程序的编写。,简单计算机的组成框图,计算z=x+y的机器语言程序,计算机工作的具体过程,启动机器后,操作控制器发出控制信号将程序计数器PC的内容(这里设置的初值为0)送至地址寄存器AR,然后启动对主存的读操作,从主存的0地址中读出一条指令,并将指令代码“1110”(十六进制)送入指令寄存器IR,同时PC加1,形成下一条指令在主存中的地址。从而完成了第一条指令的取指操作过程。 通过指令译码器对指令寄存器IR中的操作码“1”(十六进制)进行分析,识别出该指令的功能为取数指令,于是操作控制器发出操作控制信号,将指令寄存器IR中的地址码部分“10”(十六进制)送入地址寄存器AR,然后启动对主存的读操作,从主存的10(十六进制)地址中读出x的内容0002送入通用寄存器R1。从而完成了第一条指令的分析过程和执行过程。 重复、的操作过程,由于PC的值在每次取指操作完成时都进行了加1操作,因此计算机会自动地、顺序地逐条取出指令、分析指令和执行指令,直到执行完停机指令后,机器便自动停机。,1.5 计算机性能,计算机性能的衡量尺度,1. 响应时间 响应时间是指从用户向计算机系统发送一个请求后,到系统对该请求做出响应并获得它所需要的结果所花的等待时间。 2. 吞吐率 吞吐率是指系统响应用户请求的速率。 3. 可扩展性 如果一个计算机系统能加以扩展以满足不断增长的对性能和功能的要求,或是能够缩减资源以降低成本,则称此计算机系统具有可扩展性。 4. 可编程性、可靠性和可用性 可编程性主要是指程序设计的方便性。可靠性是指一个计算机系统能无故障运行的可靠程度(指无故障运行的工作时间)。可用性是指一个计算机系统可正常使用时间所占的百分比。 5. 兼容性 6. 性能价格比,反映计算机性能的参数,1. 主频 通常所说的主频指的是CPU时钟频率,单位通常为MHz(1M=106)、GHz(1G=109)。 2. 机器字长 机器字长是指运算器一次能运算的二进制数的最多位数,它与CPU内通用寄存器的位数、CPU内部数据总线的宽度有关。 3. 数据通路宽度 数据通路宽度是指数据总线一次所能并行传送的数据的位数。 4. 运算速度 通常采用单位时间内执行指令的平均条数来衡量,单位为MIPS,即每秒执行百万条指令。也可用平均一条指令执行所花的时钟周期数来衡量,单位为CPI。 5. 存储容量 存储容量是指一个存储器中可以容纳的存储单元总数。存储容量越大,所能存储的信息就越多。,性能因子CPI,设CPU时钟周期为,CPU时钟周期的倒数则是CPU的时钟频率。一个程序在CPU上运行所需的时间可以用下述公式表示 :,IN表示要执行程序中的指令总数(这里指动态执行指令数),CPI(Clock Cycles Per Instruction)表示执行每条指令所需的平均时钟周期数。由此公式可见,程序运行的时间取决于三个特征:CPU时钟周期,每条指令所需的时钟周期数以及程序中总的指令数。 由CPI的含义可得到如下表达式:,性能因子CPI,在程序执行过程中,要用到不同类型的指令,令Ii表示第i类指令在程序中的执行次数,CPIi表示执行一条第i类指令所需的时钟周期数,n为程序中所有的指令种类数。则有:,因为IN是个常数,上式可以改写为 :,计算机性能常用指标,MIPS(Million Instructions Per Second,每秒百万条指令),这是一个用来描述计算机性能的尺度。对于一个给定的程序,MIPS定义为:,由上式可得程序的执行时间TE的表达式为:,计算机性能常用指标,【例】 已知Pentium 450处理机在运行某一测试程序时所获得的性能为0.5CPI,试计算Pentium 450处理机在运行该程序时所获得的MIPS速率。【解】:由于Pentium 450处理机=450MHz,因此,由公式可求出:,即Pentium 450处理机在运行该程序时所获得的MIPS速率为900MIPS。,计算机性能常用指标,MFLOPS(Million Floating point Operations Per Second,每秒百万次浮点运算) 可用如下公式表示:,其中,IFN表示程序中的浮点运算次数。,由于MFLOPS取决于机器和程序两个方面,因此MFLOPS只能用来衡量机器浮点操作的性能,而不能体现机器的整体性能。,【例】 用一台40MHz处理机执行标准测试程序,程序所含的混合指令数和每类指令的CPI如表所示,求有效CPI、MIPS速率和程序的执行时间。,【解】:总指令数为: 45000+32000+15000+8000=100000条 各类指令所占的比例分别是:整数运算为45%,数据传送为32%,浮点操作为15%,控制传送为8%。 有效CPI、MIPS速率和程序的执行时间分别计算如下: (1)有效CPI为 10.45+20.32+20.15+20.08=1.55CPI (2)MIPS速率为 40106/(1.55106)25.8MIPS (3)程序的执行时间为 1000001.55/(40106)=0.003875s,1.6 计算机的分类和应用,计算机的分类,1. 按信息的形式及处理方式分类 电子计算机按信息的形式及处理方式的不同,可分为电子数字计算机、电子模拟计算机和数字模拟混合计算机。 2. 按计算机的用途分类 电子数字计算机按用途的不同,可分为专用计算机和通用计算机。 3. 按计算机的规模分类 计算机按规模的不同,可分为嵌入式计算机、微型计算机、工作站、小型计算机、大型计算机和超级计算机六类。 4. 按计算机的使用方式分类 计算机按使用方式的不同,可分为嵌入式计算机、桌面计算机和服务器,这是目前广泛使用的分类方法。 5. 按计算机的结构分类 计算机按结构的不同,可分为冯诺依曼结构的计算机和非冯诺依曼结构的计算机。,计算机的应用,1. 科学计算 2. 数据处理 3. 计算机控制 4. 计算机辅助设计与制造 5. 人工智能(或智能模拟) 6. 嵌入式应用 7. 网络应用 8. 多媒体技术,