第一章计算机系统概述课件

上传人:沈*** 文档编号:241650050 上传时间:2024-07-13 格式:PPTX 页数:60 大小:2.91MB
返回 下载 相关 举报
第一章计算机系统概述课件_第1页
第1页 / 共60页
第一章计算机系统概述课件_第2页
第2页 / 共60页
第一章计算机系统概述课件_第3页
第3页 / 共60页
点击查看更多>>
资源描述
111计算机组成原理计算机组成原理办公室地址:主楼办公室地址:主楼B1-302(左侧门左侧门)教学安排n总教学教学时数数为5656,其中,其中课堂堂讲授授5454学学时,习题课2 2学学时。n课程程成成绩评定方法:定方法:平平时考考评与作与作业占占20,半期,半期测验占占10,期末考,期末考试占占70。n教材:教材:计算机算机组成与系成与系统结构构(第第2版版).袁春袁春风主主编.清清华大学出版社,大学出版社,2015.8n参考教材参考教材:计算算机机组成与成与设计-硬件硬件/软件件接口接口(第四第四版版)(美美)David A.Patterson,John L.Hennessy著著,机械机械工工业出版社出版社,2011.11 计算机算机组成原理(第成原理(第3版),版),纪禄平等禄平等编,电子工子工业出版社,出版社,2014.92教学安排(续)n关于关于实验:与本:与本课程同步开程同步开设了了“计算机算机组成原理成原理综合合实验”课程,程,16学学时,独立开,独立开课,独立学分,独立学分,该课程是程是计算机学院各算机学院各专业的必修的必修课。3Ch1:Computer Abstractions 计算机系统概述计算机系统概述第第1 1讲:计算机系统简介讲:计算机系统简介第第2 2讲:计算机性能评价讲:计算机性能评价第一讲第一讲 计算机系统简介计算机系统简介 计算机发展简史计算机发展简史计算机发展简史计算机发展简史 IASIAS通用计算机模型机:冯通用计算机模型机:冯通用计算机模型机:冯通用计算机模型机:冯.诺依曼结构诺依曼结构诺依曼结构诺依曼结构 IBM360IBM360系列机:引入兼容性(系列机)概念系列机:引入兼容性(系列机)概念系列机:引入兼容性(系列机)概念系列机:引入兼容性(系列机)概念 DEC PDP-8DEC PDP-8:引入总线结构:引入总线结构:引入总线结构:引入总线结构计算机系统的组成计算机系统的组成计算机层次结构计算机层次结构计算机发展简史计算机发展简史第一代:真空管计算机(电子管VacuumTube)19461957年1946年诞生第1台电子计算机ENIAC(Electronic Numerical Integrator And Calculator)-体积大,重30吨,有18000多个真空管,5000次加法/s-十进制表示/运算,存储器由20个累加器组成,每个累加器存10位十进制数,每一位由10个真空管表示。-采用手动编程,通过设置开关和插拔连线来实现。冯诺依曼机(VonNeumannMachine)-1945年冯诺依曼提出“存储程序(Stored-program)”思想,并于46年开始设计“存储程序”计算机。-“存储程序”思想:将事先编好的程序和原始数据送入主存中,然后启动执行。在不需操作人员干预下,自动完成逐条取出指令和执行指令的任务。SKIP真空管真空管The First Generation:Vacuum Tube Computers(1946-1957)The first general-purpose computer -ENIACENIAC-Non von Neumann ModelBACK冯冯诺依曼的故事诺依曼的故事1944年,冯诺依曼参加原子弹的研制工作,涉及到极为困难的计算。1944年夏的一天,诺依曼巧遇美国弹道实验室的军方负责人戈尔斯坦,他正参与ENIAC的研制工作。冯诺依曼被戈尔斯坦介绍加入ENIAC研制组,1945年,在共同讨论的基础上,冯诺依曼起草了一份“关于EDVAC的报告草案”,报告长达101页,这就是全新的“存储程序通用电子计算机方案”。一向专搞理论研究的普林斯顿高等研究院批准让冯诺依曼建造计算机,其依据就是这份报告。ElectronicDiscreteVariableAutomaticComputer冯冯诺依曼结构的主要思想诺依曼结构的主要思想1.1.计算机应由运算器、控制器、存储器、输入设备和输出设备计算机应由运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。五个基本部件组成。2.2.各基本部件的功能是:各基本部件的功能是:存储器存储器不仅能存放数据,而且也能存放指令,形式上两者不仅能存放数据,而且也能存放指令,形式上两者没有区别,但计算机应能区分数据还是指令;没有区别,但计算机应能区分数据还是指令;控制器控制器应能自动执行指令;应能自动执行指令;运算器运算器应能进行加应能进行加/减减/乘乘/除四种基本算术运算,并且也除四种基本算术运算,并且也能进行一些逻辑运算和附加运算;能进行一些逻辑运算和附加运算;操作人员可以通过操作人员可以通过输入设备输入设备和和输出设备输出设备与与主机主机进行通信。进行通信。3.3.内部以内部以二进制表示二进制表示指令和数据。每条指令由操作码和地址码指令和数据。每条指令由操作码和地址码两部分组成。操作码指出操作类型,地址码指出操作数的地两部分组成。操作码指出操作类型,地址码指出操作数的地址。由一串指令组成程序。址。由一串指令组成程序。4.4.采用采用“存储程序存储程序”工作方式。工作方式。计算机发展简史计算机发展简史第二代:晶体管计算机第二代:晶体管计算机 195864年年元器件:元器件:逻辑元件采用晶体管,内存由磁逻辑元件采用晶体管,内存由磁芯构成,外存为磁鼓与磁带。芯构成,外存为磁鼓与磁带。特点:特点:变址,浮点运算,多路存储器,变址,浮点运算,多路存储器,I/O处理机,中央交换结构处理机,中央交换结构(非总线结构非总线结构)。软件:软件:使用高级语言,提供了系统软件。使用高级语言,提供了系统软件。代表机种:代表机种:IBM 7094(scientific)、1401(business)和和 DEC PDP-1DEC PDP-1晶体管:晶体管:Transistor磁芯存储器磁芯存储器计算机发展简史计算机发展简史第三代:中小规模集成电路第三代:中小规模集成电路(SSI/MSI)计算机计算机 196571年年元器件:元器件:逻辑元件与主存储器均由集成电路(逻辑元件与主存储器均由集成电路(IC)实现实现。特点:特点:微程序控制,微程序控制,Cache,虚拟存储器,流水线等。虚拟存储器,流水线等。代表机种:代表机种:IBM 360和和DEC PDP-8(大大/巨型机与小型机同时发展巨型机与小型机同时发展)-巨型机巨型机(Supercomputer):Cray-1-大型机大型机(Mainframe):IBM360系列系列-小型机小型机(Minicomputer):DEC PDP-8Cray-1IBM System/360系列计算机系列计算机IBM公司于公司于1964年研制成功年研制成功引入引入“兼容机兼容机”(系列机系列机)概念概念兼容机的特征兼容机的特征:-相同的或相似的指令集相同的或相似的指令集-相同或相似的操作系统相同或相似的操作系统-更高的速度更高的速度-更多的更多的I/O端口数端口数-更大的内存容量更大的内存容量-更高的价格更高的价格低端机指令集是高端机的一个低端机指令集是高端机的一个子集,称为子集,称为“向后兼容向后兼容”。原。原来机器上的程序可以不改动而来机器上的程序可以不改动而在新机器上运行,但性能不同。在新机器上运行,但性能不同。IBM 360:引入:引入1 1问题问题“兼容机兼容机”有什么好处?有什么好处?:保持:保持2 2问题问题“兼容兼容”的关键是什么?的关键是什么?DEC公司的PDP-8机它同样在它同样在1964年出现。与年出现。与IBM 360相比,价格更低、更小巧,相比,价格更低、更小巧,因而被称为小型机(因而被称为小型机(Minicomputer)PDP-8“创造了小型机概念,并使之成为数十亿美元的工业创造了小型机概念,并使之成为数十亿美元的工业”,使使DEC成为了最大的小型机制造商。成为了最大的小型机制造商。主要特点:首次采用总线结构。主要特点:首次采用总线结构。具有高度的灵活性,允许将模块插入总线以形成各种配置。具有高度的灵活性,允许将模块插入总线以形成各种配置。PDP8/E计算机系统框图计算机系统框图问题:问题:“总线结构总线结构”有什么好处有什么好处?可扩充性好(允许将新的符合标准的模块插入总线,形成各种配置)、节省器件,体积小,价格便宜Omni总线包含了总线包含了96个独立的信号通道,用以传送控制、地址个独立的信号通道,用以传送控制、地址和数据信号。和数据信号。计算机发展简史计算机发展简史第四代:大规模第四代:大规模/超大规模计算机超大规模计算机LSI/VLSI/ULSI 1972至今至今微处理器和半导体存储器技术发展迅猛,微型计算机出现。微处理器和半导体存储器技术发展迅猛,微型计算机出现。使计算机以办公设备和个人电脑的方式走向普通用户。使计算机以办公设备和个人电脑的方式走向普通用户。半导体存储器半导体存储器-1970年年Fairchild公司生产出第一个相对大容量半导体存储器公司生产出第一个相对大容量半导体存储器-1974年位价格低于磁芯的半导体存储器出现,并快速下跌年位价格低于磁芯的半导体存储器出现,并快速下跌-从从1970年起,存储密度几乎是每年起,存储密度几乎是每3年提高年提高4倍倍微处理器微处理器-微处理器芯片密度不断增加,使微处理器芯片密度不断增加,使CPU中所有元件放在一块芯片中所有元件放在一块芯片上成为可能。上成为可能。1971年开发出第一个微处理器芯片年开发出第一个微处理器芯片Intel4004。特点:共享存储器,分布式存储器及大规模并行处理系统特点:共享存储器,分布式存储器及大规模并行处理系统以后几代(标准、意见不一)以后几代(标准、意见不一)(注:有称第四代是(注:有称第四代是VLSI,从从80年代开始;年代开始;也有称第四代是也有称第四代是LSI,从从1972年开始;有的又分成年开始;有的又分成LSI时代和时代和VLSI时代)时代)PC Era:Mid 1980s-Mid 2000s19Using microprocessors,Apple,IBM,build$1k computer for 1 person=Basic,Java,Windows OS资料来源:UC-Berkeley,Course CS61C,Spring 2011 Lecture#1IBM PCServer,Rack,Array20资料来源:UC-Berkeley,Course CS61C,Spring 2011 Lecture#1服务器,机架式,阵列式服务器,机架式,阵列式第一讲第一讲 计算机系统简介计算机系统简介计算机发展简史计算机发展简史IAS通用计算机模型机:冯通用计算机模型机:冯.诺依曼结构诺依曼结构IBM360系列机:引入兼容性(系列机)概念系列机:引入兼容性(系列机)概念DEC PDP-8:引入总线结构:引入总线结构 计算机系统的组成计算机系统的组成计算机系统的组成计算机系统的组成 计算机硬件:计算机硬件:计算机硬件:计算机硬件:CPU+MM+I/OCPU+MM+I/O 计算机软件:系统软件计算机软件:系统软件计算机软件:系统软件计算机软件:系统软件+应用软件应用软件应用软件应用软件计算机层次结构计算机层次结构什么是计算机?计算机是一种能对数字化信息进行自动、高速的算术和逻辑运算的处理装置。计算机的基本部件及功能运算器(数据运算):ALU、GPRs、标志寄存器等存储器(数据存储):存储阵列、地址译码器、读写控制电路总线(数据传送):数据(MDR)、地址(MAR)和控制线控制器(控制):对指令译码生成控制信号计算机实现的所有任务都是通过执行一条一条指令完成的!计算机的基本组成与基本功能计算机的基本组成与基本功能计算机硬件:打开计算机硬件:打开PC来看看来看看PC主板主板CPU插座插座内存条内存条PCI总线插槽总线插槽现代计算机的原型现代计算机的原型1946年,普林斯顿高等研究院(theInstituteforAdvanceStudyatPrinceton,IAS)开始设计“存储程序”计算机,被称为IAS计算机(1951年才完成,它并不是第一台存储程序计算机,1949年由英国剑桥大学完成的EDSAC是第一台)。在那个报告中提出的计算机结构被称为冯诺依曼结构。冯诺依曼结构最重要的思想是什么?“存储程序(Stored-program)”工作方式:任何要计算机完成的工作都要先被编写成程序,然后将程序和原始数据送入主存并启动执行。一旦程序被启动,计算机应能在不需操作人员干预下,自动完成逐条取出指令和执行指令的任务。冯诺依曼结构计算机也称为冯诺依曼机器(VonNeumannMachine)。几乎现代所有的通用计算机都采用冯诺依曼结构,因此,IAS计算机是现代计算机的原型机。冯诺依曼结构计算机采用存储程序工作方式:任何要计算机完成的工作都要先被编写成程序,然后将程序和原始数据送入主存并启动执行。一旦程序被启动,计算机应能在不需操作人员干预下,自动完成逐条取出指令和执行指令的任务。你认为冯你认为冯诺依曼结构是怎样的?诺依曼结构是怎样的?程序由指令构成,指令描述如何对数据进行处理。l应该有个主存,用来存放程序和数据l应该有一个自动逐条取出指令的部件l还应该有具体执行指令(即运算)的部件l应该有将程序和原始数据输入计算机的部件l应该有将运算结果输出计算机的部件你还能想出更多吗?你猜得八九不离十了IAS计算机结构冯冯.诺依曼结构计算机模型诺依曼结构计算机模型 早期,部件之间用分散方式相连现在,部件之间大多用总线方式相连趋势,点对点(分散方式)高速连接回顾:冯回顾:冯诺依曼结构的主要思想诺依曼结构的主要思想1.计算机应由运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。2.各基本部件的功能是:存储器不仅能存放数据,而且也能存放指令,形式上两者没有区别,但计算机应能区分数据还是指令;控制器应能自动取出指令来执行;运算器应能进行加/减/乘/除四种基本算术运算,并且也能进行一些逻辑运算和附加运算;操作人员可以通过输入设备、输出设备和主机进行通信。3.内部以二进制表示指令和数据。每条指令由操作码和地址码两部分组成。操作码指出操作类型,地址码指出操作数的地址。由一串指令组成程序。4.采用“存储程序”工作方式。冯诺依曼结构的主要思想是什么呢?控制器CPUPC输入设备输出设备MARMDRALU标志寄存器IR地址数据控制GPRs0123存储器01234567你还记得冯.诺依曼计算机结构的特点吗?工厂、饭店?计算机是如何工作的呢?你能想到计算机相当于现实生活中的什么呢?现代计算机结构模型现代计算机结构模型认识计算机中最基本的部件认识计算机中最基本的部件CPU:中央处理器;PC:程序计数器;MAR:存储器地址寄存器ALU:算术逻辑部件;IR:指令寄存器;MDR:存储器数据寄存器GPRs:通用寄存器组(由若干通用寄存器组成,早期就是累加器)控制器CPUPC输入设备输出设备MARMDRALU标志寄存器IR地址数据控制GPRs0123存储器01234567计算机是如何工作的?计算机是如何工作的?先想象一下妈妈是怎样做一桌你喜欢(指定)的菜的?厨房-CPU,你妈-控制器,盘-GPRs,锅灶等-ALU,架子-存储器控制器CPUPC输入设备输出设备MARMDRALU标志寄存器IR地址数据控制GPRs0123存储器01234567计算机是如何工作的?计算机是如何工作的?l做菜前原材料(数据)和菜谱(指令)都按序放在厨房外的架子(存储器)上,每个架子有编号(存储单元地址)。菜谱上信息:原料位置、做法、做好的菜放在哪里等例如,把10、11号架上的原料一起炒,并装入3号盘然后,我告诉妈妈从第5个架上(起始PC=5)指定菜谱开始做l开始做菜第一步:从5号架上取菜谱(根据PC取指令)第二步:看菜谱(指令译码)第三步:从架上或盘中取原材料(取操作数)第四步:洗、切、炒等具体操作(指令执行)第五步:装盘或直接送桌(回写结果)第六步:算出下一菜谱所在架子号6=5+1(修改PC的值)继续做下一道菜(执行下一条指令)类似“存储程序”工作方式计算机是如何工作的?计算机是如何工作的?如果你知道你妈妈是如何做菜的,你就已经知道计算机是如何工作的!你能告诉我计算机是如何工作的吗?“存储程序”工作方式!控制器CPUPC输入设备输出设备MARMDRALU标志寄存器IR地址数据控制GPRs0123存储器01234567计算机是如何工作的?计算机是如何工作的?l程序在执行前数据和指令事先存放在存储器中,每条指令和每个数据都有地址,指令按序存放,指令由OP、ADDR字段组成,程序起始地址置PC(原材料和菜谱都放在厨房外的架子上,每个架子有编号。妈妈从第5个架上指定菜谱开始做)l开始执行程序第一步:根据PC取指令(从5号架上取菜谱)第二步:指令译码(看菜谱)第三步:取操作数(从架上或盘中取原材料)第四步:指令执行(洗、切、炒等具体操作)第五步:回写结果(装盘或直接送桌)第六步:修改PC的值(算出下一菜谱所在架子号6=5+1)继续执行下一条指令(继续做下一道菜)程序由指令组成(菜单由菜谱组成)指令和数据指令和数据程序启动前,指令和数据都存放在存储器中,形式上没有差别,都是0/1序列采用”存储程序“工作方式:程序由指令组成,程序被启动后,计算机能自动取出一条一条指令执行,在执行过程中无需人的干预。指令执行过程中,指令和数据被从存储器取到CPU,存放在CPU内的寄存器中:指令在IR中,数据在GPR中。指令中需给出的信息:操作性质(操作码)源操作数1 或/和 源操作数2 (立即数、寄存器编号、存储地址)目的操作数地址 (寄存器编号、存储地址)存储地址的描述与操作数的数据结构有关!IR?GPR?硬件与软件的界面硬件与软件的界面Hardware/Software Interface机器语言由指令代码构成,能被硬件直接执行。软件和硬件的界面:软件和硬件的界面:ISA(Instruction Set Architecture)指令集体系结构软件软件硬件硬件?Instruction setSoftware Systemsoftware(系统软件)-简化编程,并使硬件资源被有效利用操作系统(OperatingSystem):硬件资源管理,用户接口语言处理系统:翻译程序+Linker,Debug,etc-翻译程序(Translator)有三类:汇编程序(Assembler):汇编语言源程序机器目标程序编译程序(Complier):高级语言源程序汇编/机器目标程序解释程序(Interpreter):将高级语言语句逐条翻译成机器指令并立即执行,不生成目标文件。其他实用程序:如:磁盘碎片整理程序、备份程序等Applicationsoftware(应用软件)-解决具体应用问题/完成具体应用各类媒体处理程序:Word/Image/Graphics/管理信息系统(MIS)Game,第一讲第一讲 计算机系统简介计算机系统简介计算机发展简史计算机发展简史IAS通用计算机模型机:冯通用计算机模型机:冯.诺依曼结构诺依曼结构IBM360系列机:引入兼容性(系列机)概念系列机:引入兼容性(系列机)概念DEC PDP-8:引入总线结构:引入总线结构计算机系统的组成计算机系统的组成计算机硬件:计算机硬件:CPU+MM+I/O计算机软件:系统软件计算机软件:系统软件+应用软件应用软件 计算机层次结构计算机层次结构计算机层次结构计算机层次结构 计算机硬件和软件的接口:指令系统计算机硬件和软件的接口:指令系统计算机硬件和软件的接口:指令系统计算机硬件和软件的接口:指令系统 计算机软件如何在硬件上执行计算机软件如何在硬件上执行计算机软件如何在硬件上执行计算机软件如何在硬件上执行Computer Hierarchy(计算机系统层次)(计算机系统层次)I/OCPUCompilerOperatingSystemApplicationDigital DesignCircuit Design 上图给出的是计算机系统的层次结构上图给出的是计算机系统的层次结构 指令系统(即指令系统(即ISAISA)是软)是软/硬件的交界面硬件的交界面Instruction Set Architecture不同用户工作在不同层次,所看到的计算机不一样不同用户工作在不同层次,所看到的计算机不一样最终用户最终用户End User应用程序员应用程序员Application Programmer系统管理员系统管理员System Administrator系统程序员系统程序员System ProgrammerMMAssembler中间阴影部分就是本课程主要内容,处于最核心的部分!中间阴影部分就是本课程主要内容,处于最核心的部分!不同层次语言之间的等价转换不同层次语言之间的等价转换每条指令由操作码和若干地址码组成任何高级语言程序最终通过执行若干条指令来完成!早期计算机系统的层次早期计算机系统的层次最早的计算机用机器语言编程机器语言称为第一代程序设计语言(Firstgenerationprogramminglanguage,1GL)后来用汇编语言编程汇编语言称为第二代程序设计语言(Secondgenerationprogramminglanguage,2GL)应用程序指令集体系结构计算机硬件 汇编程序操作系统指令集体系结构计算机硬件应用程序现代(传统)计算机系统的层次现代(传统)计算机系统的层次现代计算机用高级语言编程第三代程序设计语言(3GL)为过程式语言,编码时需要描述实现过程,即“如何做”。第四代程序设计语言(4GL)为非过程化语言,编码时只需说明“做什么”,不需要描述具体的算法实现细节。语言处理系统操作系统指令集体系结构计算机硬件应用程序可以看出:语言的发展是一个不断“抽象”的过程,因而,相应的计算机系统也不断有新的层次出现语言处理系统包括:各种语言处理程序(如编译、汇编、链接)、运行时系统(如库函数,调试、优化等功能)操作系统包括人机交互界面、提供服务功能的内核例程计算机系统抽象层的转换计算机系统抽象层的转换程序执行结果不仅取决于算法、程序编写而且取决于语言处理系统操作系统ISA微体系结构不同计算机课程处于不同层次必须将各层次关联起来解决问题功能转换:上层是下层的抽象,下层是上层的实现底层为上层提供支撑环境!最高层抽象就是点点鼠标、拖拖图标、敲敲键盘,但这背后有多少层转化啊!计算机系统的不同用户计算机系统的不同用户最终用户工作在由应用程序提供的最上面的抽象层系统管理员工作在由操作系统提供的抽象层应用程序员工作在由语言处理系统(主要有编译器和汇编器)的抽象层语言处理系统建立在操作系统之上系统程序员(实现系统软件)工作在ISA层次,必须对ISA非常了解编译器和汇编器的目标程序由机器级代码组成操作系统通过指令直接对硬件进行编程控制ISA处于软件和硬件的交界面(接口)ISA是对硬件的抽象所有软件功能都建立在ISA之上ISA是最重要的层次!那么,什么是ISA呢?指令集体系结构(指令集体系结构(ISA)ISA指InstructionSetArchitecture,即指令集体系结构ISA是一种规约(Specification),它规定了如何使用硬件可执行的指令的集合,包括指令格式、操作种类以及每种操作对应的操作数的相应规定;指令可以接受的操作数的类型;操作数所能存放的寄存器组的结构,包括每个寄存器的名称、编号、长度和用途;操作数所能存放的存储空间的大小和编址方式;操作数在存储空间存放时按照大端还是小端方式存放;指令获取操作数的方式,即寻址方式;指令执行过程的控制方式,包括程序计数器、条件码定义等。ISA在计算机系统中是必不可少的一个抽象层,Why?没有它,软件无法使用计算机硬件!没有它,一台计算机不能称为“通用计算机”ISA和计算机组成(微结构)之间的关系和计算机组成(微结构)之间的关系不同ISA规定的指令集不同,如,IA-32、MIPS、ARM等计算机组成必须能够实现ISA规定的功能,如提供GPR、标志、运算电路等同一种ISA可以有不同的计算机组成,如乘法指令可用ALU或乘法器实现控制器CPUPC输入设备输出设备MARMDRALU标志寄存器IR地址数据控制GPRs0123存储器01234567ISA是计算机组成的抽象第二讲第二讲 计算机性能评价计算机性能评价衡量计算机性能的基本指标衡量计算机性能的基本指标响应时间(响应时间(response time)-执行时间(执行时间(execution Time)、等待时间()、等待时间(latency)吞吐量(吞吐量(throughput)-带宽(带宽(bandwidth)计算机性能测量计算机性能测量 指令执行速度(指令执行速度(MIPS、MFLOPS/TFLOPS/PFLOPS)基准程序(基准程序(Benchmark)主要内容:主要内容:计算机性能的基本评价指标计算机性能的基本评价指标“机器机器X的速度(性能)是的速度(性能)是Y的的n倍倍”的含义:的含义:ExTime(Y)Performance(X)=nExTime(X)Performance(Y)相对性能用执行时间的倒数来表示!相对性能用执行时间的倒数来表示!计算机有两种不同的性能描述计算机有两种不同的性能描述 Time to do the task 响应时间(响应时间(response time)。执行时间(。执行时间(execution time)。等待时间或时延(。等待时间或时延(latency)Tasks per day,hour,sec,ns.吞吐率(吞吐率(throughput)带宽(带宽(bandwidth)基本的性能评价标准是:基本的性能评价标准是:CPU的执行时间的执行时间不同应用场合用户关心的性能不同:不同应用场合用户关心的性能不同:-要求吞吐率高的场合,例如:要求吞吐率高的场合,例如:多媒体应用(音多媒体应用(音/视频播放要流畅)视频播放要流畅)-要求响应时间短的场合:例如:要求响应时间短的场合:例如:事务处理系统(存事务处理系统(存/取款速度要快)取款速度要快)-要求吞吐率高且响应时间短的场合:要求吞吐率高且响应时间短的场合:文件服务器文件服务器、Web服务器等服务器等程序由指令构成。CPU执行时间就是执行程序中全部指令的时间。计算机性能的测量计算机性能的测量比较计算机的性能时,用执行时间来衡量比较计算机的性能时,用执行时间来衡量完成同样工作量所需时间最短的那台计算机就是性能最好的完成同样工作量所需时间最短的那台计算机就是性能最好的处理器时间往往被多个程序共享使用,因此,用户感觉到的程序执行时处理器时间往往被多个程序共享使用,因此,用户感觉到的程序执行时间并不是程序真正的执行时间间并不是程序真正的执行时间通常把用户感觉到的响应时间分成以下两个时间:通常把用户感觉到的响应时间分成以下两个时间:-CPU时间:指时间:指CPU真正花在该程序执行上的时间。又包括两部分:真正花在该程序执行上的时间。又包括两部分:用户用户CPU时间:用来运行用户代码的时间时间:用来运行用户代码的时间系统系统CPU时间:为了执行用户程序而需要运行操作系统程序的时间时间:为了执行用户程序而需要运行操作系统程序的时间-其他时间:指等待其他时间:指等待I/O操作完成或操作完成或CPU花在其他用户程序的时间花在其他用户程序的时间系统性能和系统性能和CPU性能不等价,有一定的区别性能不等价,有一定的区别-系统性能系统性能(System performance):系统响应时间,与:系统响应时间,与CPU外的其外的其他部分也都有关系他部分也都有关系-CPU性能性能(CPU performance):用户:用户CPU时间时间本章主要讨论本章主要讨论CPU性能,即:性能,即:CPU真正用在用户程序执行上的时间真正用在用户程序执行上的时间 问题:用户问题:用户CPU时间与系统响应时间哪个更长?时间与系统响应时间哪个更长?CPU执行时间的计算执行时间的计算CPU 执行时间执行时间=CPU时钟周期数时钟周期数/程序程序 时钟周期时钟周期 =CPU时钟周期数时钟周期数/程序程序 时钟频率时钟频率 =指令条数指令条数/程序程序 CPI 时钟周期时钟周期CPU时钟周期数时钟周期数/程序程序=指令条数指令条数/程序程序 CPICPI=CPU时钟周期数时钟周期数/程序程序 指令条数指令条数/程序程序 CPI 用来衡量以下各方面的综合性能用来衡量以下各方面的综合性能Instruction Set Architecture(ISA)Implementation of that architecture (Organization&Technology)Program(Compiler、Algorithm)CPI:Cycles Per Instruction,每条指令执行的时钟周期数每条指令执行的时钟周期数如何计算CPI?对于某一条特定的指令而言,其CPI是一个确定的值。但是,对于某一个程序或一台机器而言,其CPI是一个平均值,表示该程序或该机器指令集中每条指令执行时平均需要多少时钟周期。假定CPIi、Fi是各指令的CPI和在程序中的出现频率,则程序综合CPI为:CPI =xniiiFCPI1其中:其中:CountnInstructioCFii_=假定CPIi 和 Ci分别为第i类指令的CPI和指令条数,则程序的总时钟数为:=xniiiCCPI1总时钟数总时钟数=CPU时间时间=时钟周期时钟周期 x=xniiiCCPI1所以,所以,CPI=(CPU 时间时间时钟频率时钟频率)/指令条数指令条数 =总时钟周期数总时钟周期数/指令条数指令条数已知CPU时间、时钟频率、总时钟数、指令条数,则程序综合CPI为:问题:指令的问题:指令的CPI、机器的、机器的CPI、程序的、程序的CPI各能反映哪方面的性能?各能反映哪方面的性能?单靠单靠CPI不能反映不能反映CPU性能!为什么?性能!为什么?例如,单周期处理器例如,单周期处理器CPI=1,但性能差!,但性能差!Chapter 1.52七月七月 13,2024Example1程序程序P在机器在机器A上运行需上运行需10 s,机器机器A的时钟频率为的时钟频率为400MHz。现在要设计一台机器现在要设计一台机器B,希望该程序在,希望该程序在B上运行只需上运行只需6 s.机器机器B时钟频率的提高导致了其时钟频率的提高导致了其CPI的增加,使得程序的增加,使得程序P在机器在机器B上时钟周期数是在机器上时钟周期数是在机器A上的上的1.2倍。机器倍。机器B的时钟频率达到的时钟频率达到A的多少倍才能使程序的多少倍才能使程序P在在B上执行速度是上执行速度是A上的上的10/6=1.67倍?倍?解解:CPU时间时间A=时钟周期数时钟周期数A/时钟频率时钟频率A 时钟周期数时钟周期数A=10 sec x 400MHz=4000M个个 时钟频率时钟频率B=时钟周期数时钟周期数B/CPU时间时间B =1.2 x 4000M/6 sec=800 MHz机器机器B的频率是的频率是A的两倍,但机器的两倍,但机器B的速度并不是的速度并不是A的两倍!的两倍!Marketing Metrics(产品宣称指标)MIPS=Instruction Count/Second x1/106=Clock Rate/CPI x 1/106Million Instructions Per Second (定点指令定点指令执行速度)执行速度)因为每条指令执行时间不同,因为每条指令执行时间不同,所以所以MIPS总是总是一个平均值。一个平均值。不同机器的指令集不同不同机器的指令集不同 程序由不同的指令混合而成程序由不同的指令混合而成 指令使用的频度动态变化指令使用的频度动态变化 Peak MIPS(峰值(峰值MIPS)所以所以MIPS数不能说明性能的好坏数不能说明性能的好坏(用下页中的例子来说明)(用下页中的例子来说明)MFLOPS =FP Operations/Second x 1/106Million Floating-point Operations Per Second(浮点浮点操作速度)操作速度)不一定是程序中花时间的部分不一定是程序中花时间的部分用用MIPS数表示性数表示性能有没有局限能有没有局限?用用MFLOPS数表示数表示性能也有一定局限!性能也有一定局限!Chapter 1.54七月七月 13,2024Example:MIPS数不可靠!数不可靠!例例1.3 1.3 某程序编译后目标代码包含某程序编译后目标代码包含4 4类指令,优化前各类指令数如下,优化后类指令,优化前各类指令数如下,优化后A A类指令类指令减少了减少了50%50%,其他类指令不变,设某运行机器主频为,其他类指令不变,设某运行机器主频为50MHz50MHz。问优化前后的。问优化前后的CPICPI和和MIPSMIPS分分别是多少?别是多少?Op Freq Cycle A 43%1 B 21%2 C 12%2 D 24%2New Freq 27%27%15%31%Optimizing compilerCPI=43%*1+(21%+12%+24%)*2 =1.57 MIPS=50M/1.57=31.8 结果:因为优化后减少了结果:因为优化后减少了A类指令类指令(其他指令数没变),所以程(其他指令数没变),所以程序执行时间一定减少了,但优化后的序执行时间一定减少了,但优化后的MIPS数反而降低了。数反而降低了。21.5/(21.5+21+12+24)=27%21 /(21.5+21+12+24)=27%12 /(21.5+21+12+24)=15%24 /(21.5+21+12+24)=31%1.7328.9选择性能评价程序(选择性能评价程序(Benchmarks)用基准程序来评测计算机的性能用基准程序来评测计算机的性能基准测试程序是专门用来进行性能评价的一组程序基准测试程序是专门用来进行性能评价的一组程序不同用户使用的计算机用不同的基准程序不同用户使用的计算机用不同的基准程序基准程序通过运行实际负载来反映计算机的性能基准程序通过运行实际负载来反映计算机的性能最好的基准程序是用户实际使用的程序或典型的简单程序最好的基准程序是用户实际使用的程序或典型的简单程序基准程序的缺陷基准程序的缺陷现象:基准程序的性能与某段短代码密切相关时,会被利用以得到不当现象:基准程序的性能与某段短代码密切相关时,会被利用以得到不当的性能评测结果的性能评测结果手段:硬件系统设计人员或编译器开发者针对这些代码片段进行特殊的手段:硬件系统设计人员或编译器开发者针对这些代码片段进行特殊的优化,使得执行这段代码的速度非常快优化,使得执行这段代码的速度非常快-例例1:Intel Pentium处理器运行处理器运行SPECint时用了公司内部使用的特时用了公司内部使用的特殊编译器,使其性能极高殊编译器,使其性能极高-例例2:矩阵乘法程序:矩阵乘法程序SPECmatrix300有有99%的时间运行在一行语句的时间运行在一行语句上,有些厂商用特殊编译器优化该语句,使性能达上,有些厂商用特殊编译器优化该语句,使性能达VAX11/780的的729.8倍!倍!Successful Benchmark:SPEC 1988年,年,5家公司(家公司(Sun,MIPS,HP,Apollo,DEC)联合提出了)联合提出了SPEC(Systems Performance Evaluation Committee)SPEC给出了一组标准的测试程序、标准输入和测试报告。它们是一些实给出了一组标准的测试程序、标准输入和测试报告。它们是一些实际的程序,包括际的程序,包括 OS calls、I/O等。等。版本版本 89:10 programs=4 for integer+6 for FP,用每个程序的执行时间用每个程序的执行时间求出一个综合性能指标求出一个综合性能指标 版本版本92:SPECInt92(6 integer programs)and SPECfp92(14 floating point programs)整数和浮点数单独提供衡量指标:整数和浮点数单独提供衡量指标:SPECInt92和和SPECfp92增加增加 SPECbase:禁止使用任何与程序有关的编译优化开关禁止使用任何与程序有关的编译优化开关版本版本95:8 int+10fp较新版本:较新版本:include SPEC HPC96,SPEC JVM98,SPEC WEB99,SPEC OMP2001.SPEC CPU2000,See http:/www.spec.org“benchmarks useful for 3 years”Base machine is changed from VAX-11/780 to Sun SPARC 10/40 Chapter 1.57七月七月 13,2024如何给出综合评价结果如何给出综合评价结果?Program 1:1 sec on machine A,10 sec on machine BProgram 2:1000 sec on A,100 sec on BWhat are your conclusions?A is 10 times faster than B for program1.B is 10 times faster than A for Program2.Total exec.time是一个综合度量值,可以据此得出结论:是一个综合度量值,可以据此得出结论:B is 1001/110=9.1 times faster than A问题:如果用一组基准程序在不同机器上测出问题:如果用一组基准程序在不同机器上测出了不同的运行了不同的运行时间时间,那么如何综合评价机器的性能呢?,那么如何综合评价机器的性能呢?先看一个例子:先看一个例子:这个结论无法比这个结论无法比较较A和和B的好坏的好坏必须用一个综合必须用一个综合的值来表示!的值来表示!综合性能评价的方法综合性能评价的方法可用以下两种平均值来评价:可用以下两种平均值来评价:Arithmetic mean(算术平均算术平均):求和后除:求和后除nGeometric mean(几何平均几何平均):求积后开根号:求积后开根号n根据算术平均执行时间能得到总平均执行时间根据算术平均执行时间能得到总平均执行时间根据几何平均执行时间不能得到程序总的执行时间根据几何平均执行时间不能得到程序总的执行时间执行时间的规一化(测试机器相对于参考机器的性能):执行时间的规一化(测试机器相对于参考机器的性能):参考机上执行时间参考机上执行时间 测试机上执行时间测试机上执行时间 综上所述,算术平均和几何平均各有长处,可灵活使用!综上所述,算术平均和几何平均各有长处,可灵活使用!第二讲小结第二讲小结性能的定义:一般用程序的响应时间或系统的吞吐率表示机器或系统整体性能。性能的定义:一般用程序的响应时间或系统的吞吐率表示机器或系统整体性能。CPU性能的测量(用户程序的性能的测量(用户程序的CPU执行时间):执行时间):一般把程序的响应时间划分成一般把程序的响应时间划分成CPU时间和等待时间,时间和等待时间,CPU时间又分成用户时间又分成用户CPU时间和系统时间和系统CPU时间。时间。因为操作系统对自己所花费的时间进行测量时,不十分准确,所以,对因为操作系统对自己所花费的时间进行测量时,不十分准确,所以,对CPU性性能的测算一般通过测算用户能的测算一般通过测算用户CPU时间来进行。时间来进行。各种性能指标之间的关系:各种性能指标之间的关系:CPU执行时间执行时间=CPU时钟周期数时钟周期数 x 时钟周期时钟周期时钟周期和时钟频率互为倒数时钟周期和时钟频率互为倒数CPU时钟周期数时钟周期数=程序指令数程序指令数 x 每条指令的平均时钟周期数每条指令的平均时钟周期数CPIMIPS数在有些情况下不能说明问题,不具有可比性!数在有些情况下不能说明问题,不具有可比性!性能评价程序的选择:性能评价程序的选择:采用一组基准测试程序进行综合(算术(加权)平均采用一组基准测试程序进行综合(算术(加权)平均/几何平均)评测。几何平均)评测。有些制造商会针对评测程序中频繁出现的语句采用专门的编译器,使评测程序有些制造商会针对评测程序中频繁出现的语句采用专门的编译器,使评测程序的运行效率大幅提高。因此有时基准评测程序也不能说明问题。的运行效率大幅提高。因此有时基准评测程序也不能说明问题。对于某种特定的指令集体系结构,提高计算机性能的主要途径有:对于某种特定的指令集体系结构,提高计算机性能的主要途径有:提高时钟频率(第七章提高时钟频率(第七章 流水线)流水线)优化处理器中数据通路的结构以降低优化处理器中数据通路的结构以降低CPI(单周期(单周期/多周期多周期/流水线)流水线)采用编译优化措施来减少指令条数或降低指令复杂度(第五章采用编译优化措施来减少指令条数或降低指令复杂度(第五章 指令系统指令系统)作业作业:P24 6,7,8,9
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!