计算机系统结构的基本概念_第1页
计算机系统结构的基本概念_第2页
计算机系统结构的基本概念_第3页
计算机系统结构的基本概念_第4页
计算机系统结构的基本概念_第5页
已阅读5页,还剩127页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机系统结构计算机系统结构主讲:杨主讲:杨 锐锐Email: Tel:算机科学与技术系计算机科学与技术系 东区东区FZ1392015、03 计算机科学与技术计算机科学与技术2作业、考核与答疑作业、考核与答疑q考试成绩考试成绩70%+平时成绩平时成绩30为最终总评成绩为最终总评成绩q平时成绩包括:作业平时成绩包括:作业+考勤考勤+实验实验q考试为系考,闭卷考试,考试为系考,闭卷考试,范围和题型与平时作业范围和题型与平时作业基本相同基本相同。q答疑:每周五答疑:每周五 下午下午 5-6 FZ139q符合考试资格者才能参加期末考试符合考试资格者才能参加期末考试 计算机科学

2、与技术计算机科学与技术3课程教材课程教材郑纬民,汤志忠,计算机系统结构:清华大学出版社, 计算机科学与技术计算机科学与技术4实验参考教材实验参考教材q张晨曦q计算机系统结构实践教程q 清华大学出版社 计算机科学与技术计算机科学与技术实验时间安排实验时间安排第十周第十周 周五周五第十五周第十五周 周五周五第十六周第十六周 周三周三第十六周第十六周 周五周五5 计算机科学与技术计算机科学与技术6参考教材参考教材 1q张晨曦 王志英等,计算机系统结构教程 清华大学出版社 计算机科学与技术计算机科学与技术7参考教材参考教材 2qComputer Architecture - A Quantitativ

3、e Approach(第5版)q David A. Patterson, John L. HennessyComputer Architecture: A Quantitative Approach:机械工业出版社 2012 、6 计算机科学与技术计算机科学与技术8目录目录q第一章 计算机体系结构的基本概念q第二章 指令系统q第三章 存储系统q第四章 输入输出系统q第五章 标量处理机q第六章 向量处理机q第七章 互连网络q第八章 并行处理机和多处理机中心问题:处理、存储、输入输出处理、存储、输入输出 计算机科学与技术计算机科学与技术9计算机性能的高速增长受益于计算机性能的高速增长受益于p 技术

4、的进步技术的进步 制造技术的发展制造技术的发展p 设计方法的创新设计方法的创新 体系结构技术的发展体系结构技术的发展 计算机科学与技术计算机科学与技术10从20世纪80年代以来处理器性能的增长 计算机科学与技术计算机科学与技术The effect of this dramatic growthq提供给计算机用户更强大的功能。今天的高性能微处理器的处理能力高于10年前的超级计算机。11 计算机科学与技术计算机科学与技术The effect of this dramatic growth12PMD逐渐取代逐渐取代PC 计算机科学与技术计算机科学与技术q由摩尔定律预见的半导体性能的增长使得基于微处理

5、器的计算机在整个计算机领域处于主导地位。基于逻辑电路和门阵列的小型计算机已经被服务器取代,而大型机和超级计算机也是有多个微处理器构成。The effect of this dramatic growth13 计算机科学与技术计算机科学与技术q软件:越来越多的程序员采用脚本编程语言The effect of this dramatic growth14 计算机科学与技术计算机科学与技术新应用新应用qGoogle goggles15 计算机科学与技术计算机科学与技术16q现在对计算技术、计算应用和计算机市场等方面的观点发生了巨大的改变。计算机在外观、使用方法等方面的变化最终推动了以下细分产品市场的

6、形成,其中的每一个都拥有各不相同的应用场景、需求和实现技术。q个人移动设备(PMD)q桌面计算机q服务器q嵌入式计算机q机群/仓储规模计算机 计算机科学与技术计算机科学与技术计算机分类与特征计算机分类与特征17 计算机科学与技术计算机科学与技术18 / 2014. Nov 计算机科学与技术计算机科学与技术19理论计算峰值(理论计算峰值(Rpeak):):54,902.4TFlop/s实测数值(实测数值(Rmax):33,862.7 TFlop/s 功耗功耗:17,808kW 计算机科学与技术计算机科学与技术20Computer Architectureq

7、系统结构设计者需要做的工作:首先获知大量的信息,深刻的理解最新的技术和做法,从过去到现在系统的设计思想,最终是要拥有一种设计理念来和谐的构造完整的系统。q和谐的系统?在市场和成本性能之间找到平衡点。q如何实现?需要大量的信息,深入理解基本概念,选择那些已经被验证过且被成功实施过的技术,同时掌握定量的研究方法作为基础。第一章第一章 计算机系统结构基本概念计算机系统结构基本概念 1.1 计算机系统结构 1.2 计算机系统的设计技术 1.3 系统结构的评价标准 1.4 计算机系统结构的发展1.1 计算机系统结构计算机系统结构1.1.1 计算机系统的层次结构1.1.2 计算机系统结构定义1.1.3 计

8、算机组成与实现1.1.4 计算机系统结构的分类 计算机科学与技术计算机科学与技术231.1 计算机系统结构计算机系统结构1.1.1 计算机系统的层次结构 为了更好的设计和研究计算机,通常将其分为不同的抽象层次。 可以从使用语言语言的角度出发将计算机分为层次结构。 计算机科学与技术计算机科学与技术24计算机程序设计语言计算机程序设计语言q构成元素是语句,核心是描述计算机系统可以理解并且能够按照规定执行的操作。q层次等级: 面向机器的语言 高级程序设计语言 面向应用的语言q计算机语言是由低级向高级发展的,高一级的语言相对于低级语言,功能更强,更便于应用,但都以低级语言为基础。q可以按照语言的功能将

9、计算机系统划分成若干层次。每一层都有自己的编程语言。 计算机科学与技术计算机科学与技术25电电 子子 线线 路路微程序机器级微程序机器级从计算机程序设计语言的角度来看的计算机系统从计算机程序设计语言的角度来看的计算机系统层次结构层次结构是实现机器指定是实现机器指定功能的中央控制功能的中央控制部分,语言是微部分,语言是微指令集,实现计指令集,实现计算机指令集中的算机指令集中的每一条指令的功每一条指令的功能。用微指令编能。用微指令编写的微程序一般写的微程序一般是直接由硬件解是直接由硬件解释实现的。释实现的。 计算机科学与技术计算机科学与技术26电电 子子 线线 路路微程序机器级微程序机器级传传 统

10、统 机机 器器 级级 解释解释从计算机程序设计语言的角度来看的计算机系统从计算机程序设计语言的角度来看的计算机系统层次结构层次结构这一级的机器语这一级的机器语言是该机的指令言是该机的指令集,程序员用机集,程序员用机器指令编写的程器指令编写的程序由微程序解释序由微程序解释执行。执行。 计算机科学与技术计算机科学与技术27电电 子子 线线 路路微程序机器级微程序机器级传传 统统 机机 器器 级级 解释解释操操 作作 系系 统统 级级解释解释从计算机程序设计语言的角度来看的计算机系统从计算机程序设计语言的角度来看的计算机系统层次结构层次结构本级的机器语言本级的机器语言中多数指令是传中多数指令是传统机

11、器指令,如统机器指令,如算术运算、逻辑算术运算、逻辑运算、位移指令运算、位移指令等。同时本级还等。同时本级还提供操作系统指提供操作系统指令,如打开文件令,如打开文件读写文件等。读写文件等。 计算机科学与技术计算机科学与技术28软硬件界面软硬件界面 电电 子子 线线 路路微程序机器级微程序机器级传传 统统 机机 器器 级级 解释解释操操 作作 系系 统统 级级解释解释汇汇 编编 语语 言言 级级 翻译翻译( (汇编程序汇编程序) ) 从计算机程序设计语言的角度来看的计算机系统从计算机程序设计语言的角度来看的计算机系统层次结构层次结构这级的机器这级的机器语言是汇编语言是汇编语言。汇编语言。汇编语言

12、编写的语言编写的程序首先被程序首先被翻译成第翻译成第3级或者第级或者第2级的语言,级的语言,再由相应的再由相应的机器进行解机器进行解释。释。 计算机科学与技术计算机科学与技术29软硬件软硬件界面界面 电电 子子 线线 路路微程序机器级微程序机器级传传 统统 机机 器器 级级 解释解释操操 作作 系系 统统 级级解释解释汇汇 编编 语语 言言 级级 翻译翻译( (汇编程序汇编程序) ) 高高 级级 语语 言言 级级翻译翻译( (编译程序编译程序) )从计算机程序设计语言的角度来看的计算机系统从计算机程序设计语言的角度来看的计算机系统层次结构层次结构这级的机器这级的机器语言是高级语言是高级语言。本

13、级语言。本级语言编写的语言编写的程序由编译程序由编译器翻译到第器翻译到第4级或者第级或者第3级语言。个级语言。个别高级语言别高级语言采用解释方采用解释方式执行。式执行。 计算机科学与技术计算机科学与技术30应应 用用 语语 言言 级级 应用软件应用软件 系统软件系统软件 软硬件界面软硬件界面 物理机物理机虚拟机虚拟机电电 子子 线线 路路微程序机器级微程序机器级传传 统统 机机 器器 级级 解释解释操操 作作 系系 统统 级级解释解释汇汇 编编 语语 言言 级级 翻译翻译( (汇编程序汇编程序) ) 高高 级级 语语 言言 级级翻译翻译( (编译程序编译程序) )翻译翻译( (应用程序包应用程

14、序包) )从计算机程序设计语言的角度来看的计算机系统从计算机程序设计语言的角度来看的计算机系统层次结构层次结构 计算机科学与技术计算机科学与技术31Translation & Interpretationq各机器级的实现主要靠解释和翻译或者两者的结合来实现的。q翻译和解释是语言实现的两种基本技术。它们均是以执行一段N级的指令来实现N+1级的指令。 计算机科学与技术计算机科学与技术32Translation & Interpretationq翻译:想把N+1级程序全部变换成N级程序后再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。q解释:每当一条N+1级的指令被译码

15、后,就执行一串等效的N级指令,然后再去取下一条N+1级指令,依此重复执行。q解释执行慢,翻译执行快,解释方式占用存储空间少,翻译方式占用存储空间多。 计算机科学与技术计算机科学与技术33虚拟机虚拟机软硬件界面软硬件界面 电电 子子 线线 路路微程序机器级微程序机器级传传 统统 机机 器器 级级 解释解释操操 作作 系系 统统 级级解释解释汇汇 编编 语语 言言 级级 翻译翻译( (汇编程序汇编程序) ) 高高 级级 语语 言言 级级翻译翻译( (编译程序编译程序) )传统机器级以上传统机器级以上的所有机器都称的所有机器都称为虚拟机为虚拟机,它们,它们是由软件实现的是由软件实现的机器。机器。最底

16、层由硬件最底层由硬件/固固件实现,称为物件实现,称为物理机。理机。虚拟机也可以由虚拟机也可以由硬件硬件/固件实现。固件实现。 计算机科学与技术计算机科学与技术34计算机系统的层次结构计算机系统的层次结构q从不同的角度看到的计算机系统的属性是不同的。q对计算机的认识通常只需要在某一个层次。q硬件设计人员、系统程序员、应用程序员。 计算机科学与技术计算机科学与技术35透明性透明性q概念:本来存在的事物或特性从某个角度看去好像不存在。这里指使用者可以不了解的知识。q如:浮点数表示、乘法指令如:浮点数表示、乘法指令 对高级语言程序员、应用程序员来讲,是透明的;对高级语言程序员、应用程序员来讲,是透明的

17、; 对汇编语言程序程序员、机器语言程序员来讲,是不对汇编语言程序程序员、机器语言程序员来讲,是不透明的。透明的。q如:微程序如:微程序 对汇编语言程序员,机器语言程序员来讲,是透明的;对汇编语言程序员,机器语言程序员来讲,是透明的; 对硬件设计者,计算机维护人员来讲,是不透明的。对硬件设计者,计算机维护人员来讲,是不透明的。 计算机科学与技术计算机科学与技术361.1.2 计算机系统结构的定义计算机系统结构的定义qComputer Architectureq“计算机系统结构是程序员所看到的属性,即概念计算机系统结构是程序员所看到的属性,即概念性结构和功能性特性性结构和功能性特性”C.M.Amd

18、ahlqAmdahl提出的计算机系统结构是提出的计算机系统结构是机器语言程序机器语言程序员员所能看到的计算机属性。所能看到的计算机属性。编写出能在机器上正编写出能在机器上正确运行的程序所必须了解到确运行的程序所必须了解到的的。q实质:计算机系统中软硬界面的确定,即指令集实质:计算机系统中软硬界面的确定,即指令集系统(系统(ISA)的设计。)的设计。界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。 计算机科学与技术计算机科学与技术 数据表示:数据表示:硬件能够直接认别和处理的数据类型硬件能够直接认别和处理的数据类型 寻址技术:寻址技术:编址方式、寻址方式和定位方式等编址方式、寻址方式和

19、定位方式等 寄存器组织:寄存器组织:操作数寄存器、变址寄存器、控制寄存操作数寄存器、变址寄存器、控制寄存 器及专用寄存器的定义、数量和使用规则等器及专用寄存器的定义、数量和使用规则等 指令系统:指令系统:操作类型、格式,指令间的排序控制等操作类型、格式,指令间的排序控制等 中断系统:中断系统:中断类型、中断级别和中断响应方式等中断类型、中断级别和中断响应方式等 存储系统:存储系统:寻址空间、虚拟存储器、寻址空间、虚拟存储器、CacheCache存储器等存储器等 处理机工作状态:处理机工作状态:定义和切换方式,如管态和目态等定义和切换方式,如管态和目态等 输入输出系统:输入输出系统:数据交换方式

20、、交换过程的控制等数据交换方式、交换过程的控制等 信息保护:信息保护:信息保护方式和硬件对信息保护的支持等信息保护方式和硬件对信息保护的支持等。功能特性功能特性 指令系统及其执行模式指令系统及其执行模式 计算机科学与技术计算机科学与技术对系统结构设计者提出的要求对系统结构设计者提出的要求q计算机设计者面临的是一项复杂的工作:首先确定一个新机器所必须具备的特性,然后设计出具有最佳处理性能的机器同时兼具低价位和低功耗的特性。要完成这个任务必须兼顾多方面:包括指令系统设计、功能组织、逻辑设计和物理实现。物理实现是必须面对集成电路设计、存储、功耗和冷却等问题。要优化设计就需要关注更多技术,例如编译器、

21、操作系统等。38 计算机科学与技术计算机科学与技术39q经典计算机系统结构概念认为:计算机系统结构就是指令集的设计。q广义的系统结构定义广义的系统结构定义:ISA的设计、计算机组成(Computer Organization) 、计算机硬件实现(Computer Implementation) 计算机科学与技术计算机科学与技术401.1.3 计算机组成与实现计算机组成与实现q计算机组成:计算机组成:计算机组成是计算机系统结构的逻计算机组成是计算机系统结构的逻辑实现,包括机器内部的数据流的组成以及逻辑辑实现,包括机器内部的数据流的组成以及逻辑设计等。设计等。q涵盖了计算机设计的更高层次,例如存储

22、系统、涵盖了计算机设计的更高层次,例如存储系统、存储器互连以及内部处理器或者存储器互连以及内部处理器或者CPU的设计。的设计。q计算机实现:计算机实现:是指计算机组成的物理实现。包括是指计算机组成的物理实现。包括具体的逻辑电路设计和封装技术。具体的逻辑电路设计和封装技术。q同一系列的计算机通常拥有相同的指令集系统和同一系列的计算机通常拥有相同的指令集系统和相同的组成,但是具体的硬件实现却不相同。相同的组成,但是具体的硬件实现却不相同。 计算机科学与技术计算机科学与技术411.1.3 计算机组成与实现计算机组成与实现q例如:例如:AMD Opteron64和和Intel Pentium 4 拥有

23、拥有相同的指令集系统结构,两者都执行相同的指令集系统结构,两者都执行X86系统,系统,但是内部的设计确是采用不同的流水线和但是内部的设计确是采用不同的流水线和Cache结构。也就是结构。也就是相同的系统结构却组成不同相同的系统结构却组成不同。q例如:例如:Pentium4和和Pentium M,两者的设计几乎,两者的设计几乎相同,但是提供不同的时钟频率和存储系统,这相同,但是提供不同的时钟频率和存储系统,这样样Pentium M更适用于笔记本电脑。从而可知更适用于笔记本电脑。从而可知相相同的组成可以采用不同的实现同的组成可以采用不同的实现。 计算机科学与技术计算机科学与技术421.1.4 计算

24、机系统结构的分类计算机系统结构的分类qFlynn分法:1966,by Michael FlynnqSISD-Single Instruction Stream Single Data StreamqSIMD- Single Instruction Stream Multiple Data StreamqMISD- Multiple Instruction Stream Single Data StreamqMIMD- Multiple Instruction Stream Multiple Data Stream 计算机科学与技术计算机科学与技术43指令流与数据流指令流与数据流q指令流:机器执

25、行的指令序列。q数据流:由指令调用的数据序列。 计算机科学与技术计算机科学与技术441.1.4 计算机系统结构的分类计算机系统结构的分类q关键点:数据或者处理是否有并行使用。例如计算机是否有多个独立的处理器?每个处理器是否都运行不同的程序?是否单个程序作用到多个数据上? 计算机科学与技术计算机科学与技术45CU:控制部件PU:处理部件MM:存储器模块IS:指令流DS:数据流单指令流单数据流SISDCUPUMMISDSISSISD 计算机科学与技术计算机科学与技术46单指令流多数据流SIMDCUPU1PU2PUnISMM1MM2MMnDS1DS2DSnMISD 计算机科学与技术计算机科学与技术4

26、7应用举例:向量处理器、图形处理器应用举例:向量处理器、图形处理器q将一个有N个元素的向量V进行规格化,规格化要求向量中的每个元素都乘一个浮点数Q。qSISD结构实现算法:qSIMD结构实现算法: V VQq底层系统包含了并行操作的多个操作的硬件部件,并且确定了用于向量操作的向量指令。for i from 1 to N V i V i Q 计算机科学与技术计算机科学与技术48多指令流单数据流MISDCU1CU2CUnPU1PU1PU1MM1MM2MMnIS1IS2ISnIS1IS2ISnDSDSMISD 计算机科学与技术计算机科学与技术49多指令流多数据流MIMDMM1MM2MMnCU1CU2

27、CUnPU1PU1PU1DS1DS2DSnIS1IS2ISnIS1IS2ISn 计算机科学与技术计算机科学与技术q冯氏分类法冯氏分类法m用系统的最大并行度对计算机进行分类。qHandler分类法m根据并行度和流水线对计算机进行分类。501.2 计算机系统设计技术计算机系统设计技术1.2.1 计算机系统设计的定量原理1.2.2 计算机系统设计者的主要任务1.2.3 计算机系统设计的主要方法 计算机科学与技术计算机科学与技术521.2.1 计算机系统设计的定量原理计算机系统设计的定量原理1 加快经常性事件的速度 这是最重要也是最广泛采用的计算机设计准则。当设计上需要有取舍时,优先考虑经常性事件。

28、计算机科学与技术计算机科学与技术53q例如:学生的生活费:吃饭每日10元,共365日,每年看电影10次,每次20元。为减少开支,采用如下两方法:q方法1:减少了20吃饭开销,为每日8元。共节省:2365730元。q减少了80看电影开销,将每年看电影次数为2。共节省: 820160元q原因:吃饭每年3650元:看电影每年200元。计算机设计也用到同样的原理:计算机设计也用到同样的原理: 计算机科学与技术计算机科学与技术54经常性事件常和应用有关。例: 事务处理 I/O 处理 图象处理、科学计算 处理器、内存的速度优化经常性事件后对整体性能提高的贡献大小。有Amdahl定律来解决1、什么是经常性事

29、件、什么是经常性事件Key points:2、量化、量化 计算机科学与技术计算机科学与技术552 Amdahl定律定律AmdahlAmdahl定律:定律:系统中某一部件由于采用某种更快系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方的执行方式后整个系统性能的提高与这种执行方式的使用频率或占用总执行时间的比例有关。式的使用频率或占用总执行时间的比例有关。1改进后的性能改进前的时间(To)加速比(Sn)改进前的性能改进后的时间(Tn) 计算机科学与技术计算机科学与技术56AmdahlAmdahl定律的分析:加速比和如下几个因素有关定律的分析:加速比和如下几个因素有关(1 1

30、). . 在原有的计算机上,能被改进并增强的部分在在原有的计算机上,能被改进并增强的部分在总执行时间中所占的比例总执行时间中所占的比例 反映了是否反映了是否“经常经常”发生发生定义定义A1ToFe 可改进部分占用的时间改进前整个任务的执行时间其中:其中:FeFe 被改进部分原执行时间占原来总时间的被改进部分原执行时间占原来总时间的百分比。百分比。 计算机科学与技术计算机科学与技术57(2 2). .改进部分采用改进措施后比没有采用改进措施前性改进部分采用改进措施后比没有采用改进措施前性能的提高倍数能的提高倍数 反映了加快的反映了加快的“程度程度”定义定义A1BSe 改进前改进部分的执行时间改进

31、后改进部分的执行时间其中:其中:SeSe 被改进部分的局部加速比。被改进部分的局部加速比。 计算机科学与技术计算机科学与技术58可用如下方式表示:可用如下方式表示:ToToA AC CB BTnTn其中:其中: Sn Sn 全局加速比全局加速比 A A 可改进部分可改进部分 B B 改进后剩余的部分改进后剩余的部分 C C 不可改进的部分不可改进的部分 To To 原执行时间(原执行时间(T oldT old) Tn Tn 改进后的执行时间(改进后的执行时间(T newT new) 计算机科学与技术计算机科学与技术59(1)1( 1) )(1o eenooo eoo eoeeeeooneeno

32、eeeeT FFATTA B TT FTT FTFSSSTTSFFTTFFSS 改进之后由于其中部分操作加快,总时间降为:根据加速比定义,有:则则: : 计算机科学与技术计算机科学与技术60分析分析0(1)ooeoeC TA TT FTF因为不可改进因为不可改进部分部分所以所以1eF反应了不可改变部分所占的时间反应了不可改变部分所占的时间当当0111eeononFFCTTTS 则性能的提高幅度受到改进部分所占比例限制则性能的提高幅度受到改进部分所占比例限制故性能改善的极限受故性能改善的极限受eFifif11eneSSF 计算机科学与技术计算机科学与技术61解:解:依依 AmdahlAmdahl

33、定律公式,已知:定律公式,已知:Fe=0.4Fe=0.4,Se=10Se=10,求求SnSn。它说明局部(它说明局部(40%40%)的大幅度改进()的大幅度改进(1010倍)倍)对全局的作用要小得多(对全局的作用要小得多(1.561.56倍)。倍)。111.560.40.6410.410nS 例例1.11.1:假设将某系统的某一部件的处理速度加快到:假设将某系统的某一部件的处理速度加快到1010倍,倍, 但该部件的原处理时间仅为整个运行时间的但该部件的原处理时间仅为整个运行时间的4040, 则采用加快措施后能使整个系统的性能提高多少?则采用加快措施后能使整个系统的性能提高多少? 计算机科学与技

34、术计算机科学与技术62AmdahlAmdahl定律的图形定律的图形从下图可以看出,增大从下图可以看出,增大SeSe和和FeFe对对SnSn都有提升作用;但当都有提升作用;但当FeFe固定时,一味增大固定时,一味增大SeSe对对SnSn的作用会越来越不显著。的作用会越来越不显著。 计算机科学与技术计算机科学与技术63例例1.2:求平方根是图形处理器中经常用到的一种:求平方根是图形处理器中经常用到的一种转换,求浮点数(转换,求浮点数(FP)平方根的不同实现方法在)平方根的不同实现方法在性能上可能有很大的差异,特别是这种差异在为图性能上可能有很大的差异,特别是这种差异在为图形专门设计的处理器中更加明

35、显。假设求浮点数平形专门设计的处理器中更加明显。假设求浮点数平方根(方根(FPSQR)在某台机器上的一个基准测试程)在某台机器上的一个基准测试程序中占总执行时间的序中占总执行时间的20%。一种实现方法是采用专。一种实现方法是采用专门的门的FPSQR硬件,使硬件,使FPSQR操作的速度提高到原操作的速度提高到原来的来的10倍。另一种实现方法提高所有浮点数运算指倍。另一种实现方法提高所有浮点数运算指令(令(FP)的执行速度,)的执行速度,FP指令在总执行时间中占指令在总执行时间中占50%,设计小组认为可以将所有的,设计小组认为可以将所有的FP指令执行速指令执行速度提高到原来的度提高到原来的2倍。请

36、比较这两种设计方案。倍。请比较这两种设计方案。 计算机科学与技术计算机科学与技术64解解:已知方案已知方案1 :Fe1=0.2,Se1=10,求求Sn1; 已知方案已知方案2 :Fe2=0.5,Se2=2,求求Sn2 。 采用采用FPSQR方案时方案时 采用采用FP方案时方案时它说明大范围的小幅度改进(方案它说明大范围的小幅度改进(方案2 2)效果可能更好。)效果可能更好。21 0.210nS 111.330.50.751 0.52nS 计算机科学与技术计算机科学与技术653 CPU性能公式性能公式qCPU时间:一个程序所花的CPU时间,指CPU的执行时间,不包括I/O

37、的等待时间。q时钟周期:由于计算机的时钟速度是固定的,它的运行周期称为时钟周期。CPUCPU CPU时间 时钟周期数 时钟周期长时钟周期数 频率 计算机科学与技术计算机科学与技术66CPI与程序执行时间与程序执行时间Te定义:定义: CPI(Cycle Per instruction):每条指令执行时所花费的):每条指令执行时所花费的 平均时钟周期数。平均时钟周期数。CPI CPI CPUCPU时钟周期数时钟周期数 / IC/ ICCPUCPU时钟周期数时钟周期数 CPICPIICIC则则 CPUCPU时间时间 (CPICPIICIC)/ / 频率频率 计算机科学与技术计算机科学与技术67分析

38、:分析:CPU的性能由的性能由CPI、IC、频率频率三方面决定三方面决定f f: 取决于硬件技术和组织取决于硬件技术和组织CPICPI:取决于系统结构和指令集,反映了取决于系统结构和指令集,反映了CPUCPU的结构性能。的结构性能。ICIC: 取决于系统的指令集和编译技术取决于系统的指令集和编译技术举例:举例:80888088 CPI CPI202080486 CPI80486 CPI2 2Pentium CPIPentium CPI1 1PII CPIPII CPI0.30.3这三个因素对这三个因素对CPU的影响是相同的,但无法孤立的改变一个的影响是相同的,但无法孤立的改变一个参数,改变各因

39、素的技术是相互关联的:参数,改变各因素的技术是相互关联的: 计算机科学与技术计算机科学与技术68CPI是衡量是衡量CPU执行指令效率的重要指标。让我们先考虑执行指令效率的重要指标。让我们先考虑一个标准测速程序的一个标准测速程序的全部执行时间全部执行时间Te和其中所有和其中所有第第i种指种指令的累计时间令的累计时间Ti,易知:,易知:fICCPITe/ )(fICiCPIiTi/ )(niICiIC1其中:其中:又有:又有:fICiCPIifICiCPIiTiTeninini/ ) )(/ )(111 计算机科学与技术计算机科学与技术69总总CPI为所有为所有CPI的加权平均值的加权平均值)(1

40、niICiCPIiICCPI或可写为:或可写为:niCPIiICICiCPI1)( 计算机科学与技术计算机科学与技术70例:例:对于刚才的例子,假设我们有如下的测量:FP指令的操作比例=25%FP指令的平均CPI=4.0其他指令的平均CPI=1.33FPSQR指令的操作比例=2%FPSQR指令的CPI=20q假定有两种备选的设计方案,一种是把FP 的CPI减到2。另一种是把所有FPSQR的CPI减到2.用处理器性能公式比较两种方案哪种更好一些。 计算机科学与技术计算机科学与技术71q不论用哪种方法,只有CPI发生了变化,时钟频率和操作比例保持不变。所以只要计算两种方案的系统CPI就可以。 计算

41、机科学与技术计算机科学与技术72方法方法1CPIoriginal=40.25+1.330.75=2方案1:CPInew=20.25+1.330.75=1.5方案2:CPInew=(2-200.02)+20.02=1.64Sn1=2/1.5=1.33 Sn2=2/1.64=1.22可见:方案1优于方案2 计算机科学与技术计算机科学与技术73方法方法2FP方案:CPInew =2-0.25(CPIfp-CPInew fp) =2-0.25(4-2)=1.5FPSQR方案:CPInew =2-0.02(CPIFPSQR-CPInew FPSQR) =2-0.02(20-2)=1.64Sn1=2/1.

42、5=1.33 Sn2=2/1.64=1.22 计算机科学与技术计算机科学与技术74FP方案:方案:CPUoriginal=CPUfp+CPU非FP CPUnew=CPUnew fp+CPU非FP 所以:CPUoriginal-CPUfp= CPUnew-CPUnew fpICTCPIorigina -ICfpTCPIfp=ICTCPInew -ICfpTCPInew fp CPIorigina -0.4CPIfp=CPInew -0.4CPInew fpCPInew = CPIoriginal -0.4(CPIfp-CPInew fp) 计算机科学与技术计算机科学与技术75补充:补充:q在处理

43、器性能公式中,经常可以测量其中的某个分量,这是比Amdahl定律优越的地方。一般很难直接测量某种指令的执行时间在总执行时间中所占的比例。如果是通过指令的执行次数和CPI来计算CPU的性能则更加方便。 计算机科学与技术计算机科学与技术764 访问的局部性原理访问的局部性原理q程序经常会重复使用它最近使用过的指令和数据。即:程序花费90%的时间来执行10%的代码。q程序的时间局部性程序的时间局部性:最近访问过的内容很可能即将被再次使用;q程序的空间局部性程序的空间局部性:地址临近的内容可能在一定时间内被连续使用。 计算机科学与技术计算机科学与技术774 访问的局部性原理访问的局部性原理q实质:可以

44、根据最近使用过的指令和数据在一定的误差范围内合理的预测将要用到的指令和数据。局部性原理在指令存取中效果比数据存取明显,是是系统结构设计的基础之一。是存储系统设计的系统结构设计的基础之一。是存储系统设计的基本原理基本原理。 计算机科学与技术计算机科学与技术781.1.2 计算机系统设计者的主要任务计算机系统设计者的主要任务q计算机系统结构的设计者必须设计能满足包括价格、供电、性能和可用性指标的计算机。 计算机科学与技术计算机科学与技术791.1.2 计算机系统设计者的主要任务计算机系统设计者的主要任务首要任务:明确功能需求,包括使用适应市场需求的特定功能。明确如何使用机器,应用软件通常决定了对特

45、定功能要求的选择。如果市场上已有大量为某一指令集系统结构设计的软件,系统结构设计者就应考虑在新的机器中与这一指令系统兼容。如果对某一特定应用软件的市场需求非常大,设计者也可能会在新计算机中引入某些支持这些软件的功能特性,以增强新计算机在市场中的竞争力。系统结构的设计者还应关注实现技术和计算机应用方面的重要发展趋势,这不仅影响到机器未来的成本,也影响到所设计系统的生存周期。 计算机科学与技术计算机科学与技术801.2.3 计算机系统设计的主要方法计算机系统设计的主要方法 1 “由下往上由下往上”(bottom-up)设计设计 2 “由上往下由上往下”(top-down)设计设计 3 “由中间开始

46、由中间开始”(middle-out)设计)设计1.3 系统结构的评价标准系统结构的评价标准1.3.1 性能1.3.2 成本 计算机科学与技术计算机科学与技术82衡量机器性能的唯一可靠的标准就是真正的执行程序的时间衡量机器性能的唯一可靠的标准就是真正的执行程序的时间可以用可以用MIPSMIPS来作为衡量程序执行时间的一个指标:来作为衡量程序执行时间的一个指标:MIPSMIPS: million instructions per second million instructions per second 每秒百万每秒百万条指令数条指令数 1 性能性能661010CPIfTeICMIPS例子:例子

47、: PentiumIV 2GHz的的CPICPI0.250.25,计算该处理机的运算,计算该处理机的运算速度。速度。解:解: 已知已知 CPI CPI 0.250.25,f = 2GHzf = 2GHz MIPS = f/CPIMIPS = f/CPI10106 6 = 2 = 210109 9/0.25/0.2510106 6 = 8000MIPS = 8000MIPS 计算机科学与技术计算机科学与技术83MIPS作为性能指标作为性能指标 主要优点:主要优点:直观、方便。直观、方便。目前还经常使用目前还经常使用 主要缺点主要缺点: (1) 不同指令的执行速度差别很大不同指令的执行速度差别很大

48、 (2) 指令使用频度差别很大指令使用频度差别很大 (3) 有相当多的非功能性指令有相当多的非功能性指令 计算机科学与技术计算机科学与技术84MFLOPS 6程序中的浮点操作次数,主要用于向量计算机执行时间 10。MFLOPS:Million Floating Operation Per Second 每秒百万次浮点操作次数每秒百万次浮点操作次数分析:分析: MFLOPSMFLOPS只能用来衡量机器浮点操作的性能,而不能体现只能用来衡量机器浮点操作的性能,而不能体现 机器的总体性能。机器的总体性能。优点:优点:基于操作而非指令,可以用来比较两种不同的机器。基于操作而非指令,可以用来比较两种不同

49、的机器。缺点:缺点:不同的机器上浮点运算集不同;依赖不同的机器上浮点运算集不同;依赖 于操作类型;单个程序的值并不能反映机器的性能。于操作类型;单个程序的值并不能反映机器的性能。 计算机科学与技术计算机科学与技术85测量、报告和总结计算机的性能测量、报告和总结计算机的性能q因为计算机设计用来实施各种任务,没有一种系统结构可以对所有的任务都最适宜,所以一个系统的性能要看所实施的任务而定。q不同的使用者关注的指标也有不同。 从用户的角度看计算机的“快”: 响应时间响应时间(response time)短短 从系统管理员的角度看计算机的“快”: 吞吐率吞吐率(throughout)高高 计算机科学与

50、技术计算机科学与技术86性能的测量性能的测量q任何不以时间做标准或不用实际程序进行测试的方法都会产生误导,甚至导致计算机设计的失误。q响应时间:完成一个任务的全部时间,包括磁盘访问时间、存储器访问时间、I/O操作时间,操作系统开销等。当多个程序同时执行时,一个程序等待I/O操作完成时处理器会转而执行另一个程序。这会影响单个程序从开始执行到结束的时间。qCPU时间:CPU计算耗用的时间,不包括等待I/O操作完成或运行其他程序的时间。不同于用户感受到的响应时间。 计算机科学与技术计算机科学与技术q经常使用相同程序的用户最有资格对一台新机器的性能进行评估。为了测试新系统的性能,只要比较相同负载的执行

51、时间。q大多数情况下,用户必须依靠测评程序来评价机器的性能。87 计算机科学与技术计算机科学与技术88基准测试程序集基准测试程序集(Benchmarks suites)q通常将基准测试程序集中起来(基准测试程序集)来测试处理器的性能。基准测试程序集由各种不同的真实应用程序构成,能比较全面地反映计算机在各个方面的处理性能。qStandard Performance Evaluation CorporationSPEC,20世纪80年代为了评估工作站性能而推出的,是目前最成功的基准测试程序集之一。SPEC机器衍生的基准测试程序集覆盖了各种不同的应用领域。 计算机科学与技术

52、计算机科学与技术89基准测试程序基准测试程序SPEC提出一系列用来比较性能的标准基准测试程序,每个基准程序由一组程序组成,运行这些程序,对系统性能进行测量。得分为SPEC Marks,被业界作为对计算机系统性能做的独立于厂家的测试。桌面计算机的基准测试程序:处理器性能测试程序图形性能测试程序 计算机科学与技术计算机科学与技术90基准测试程序基准测试程序服务器基准测试程序:SPECSFS:用于NFS(网络文件系统)文件服务器的测试程序。它不仅测试处理器的性能,而且测试I/O系统的性能。重点测试吞吐率。SPECWeb:Web服务器测试程序。模拟多个客户请求访问服务器中的动态和静态页面以及向服务器上

53、传数据的情况。SPECviewperf:用于测试图形系统支持OpenGL库的性能。SPECapc:用于测试图形密集型应用的性能。 计算机科学与技术计算机科学与技术91性能评价报告总结性能评价报告总结q一旦选择一套基准测试程序集来测试机器性能,就可以用数字总结这套基准测试程序集的性能测试结果。q为每个基准测试程序加上一个权值,然后使用加权算术平均值作为性能分析的依据。qP18例例 计算机科学与技术计算机科学与技术仅看运行时间:仅看运行时间:运行程序运行程序P1时,时,A的速度是的速度是B的的10倍;倍;运行程序运行程序P2时,时,B的速度是的速度是A的的10倍;倍;运行程序运行程序P1时,时,A

54、的速度是的速度是C的的20倍;倍;运行程序运行程序P2时,时,C的速度是的速度是A的的50倍;倍;运行程序运行程序P1时,时,B的速度是的速度是C的的2倍;倍;运行程序运行程序P2时,时,C的速度是的速度是B的的5倍。倍。例例 4:两个程序在三台机器上的执行时间:两个程序在三台机器上的执行时间 机器机器 A 机器机器 B 机器机器 C 程序程序 P1(秒)(秒) 1 10 20 程序程序 P2(秒)(秒) 1000 100 20 A与与B比较比较A与与C比较比较B与与C比较比较 计算机科学与技术计算机科学与技术93例例 4:两个程序在三台机器上的执行时间:两个程序在三台机器上的执行时间 机器机

55、器 A 机器机器 B 机器机器 C 程序程序 P1(秒)(秒) 1 10 20 程序程序 P2(秒)(秒) 1000 100 20 各执行各执行1次的算数平均:次的算数平均: 500.5 55 20 计算机科学与技术计算机科学与技术q各执行1次的算数平均:qA: 500.5 B: 55 C: 20 程序P1和P2各执行1次,B的速度是A的9.1倍; 程序P1和P2各执行1次,C的速度是A的25倍; 程序P1和P2各执行1次,C的速度是B的2.75倍。 结论:结论: 执行程序P1和P2相同次数, 机器机器A最慢,机器最慢,机器C最快最快 算术平均速度:算术平均速度:三台机器的速度之比为: A:B

56、:C = 1:9.1:25 计算机科学与技术计算机科学与技术加权算术平均:权值不同结果不同加权算术平均:权值不同结果不同 机器A机器B机器C程序P1执行时间(s)程序P2执行时间(s)加权加权W1 (0.5, 0.5)加权加权W2 (0.909, 0.091)加权加权W3 (0.999, 0.001) 1 1000500.50 91.91 2.00 10 10055.0018.1910.09 20 2020.0020.0020.00加权算术平均加权算术平均W1三台机器的速度:三台机器的速度:A B C加权算术平均加权算术平均W2三台机器的速度:三台机器的速度:A C B加权算术平均加权算术平均

57、W3三台机器的速度:三台机器的速度:C B A 计算机科学与技术计算机科学与技术96性能评价报告总结性能评价报告总结q将一个任务的执行时间标准化为一个参考机器的执行时间。将参考计算机的执行时间除以被测计算机的执行时间,得到和被测计算机之间的性能比。由于比率不是一个绝对执行时间,没有单位,此时则需要使用几何平均数。采用几何平均值,不论选哪台机器作为参考机,比较结果能保持一致性,与所选择的参考机器无关。 计算机科学与技术计算机科学与技术q参考计算机的执行时间除以被测计算机的执行时间所得值为SpecRatio 97Execution time referenceExecution timeSpecR

58、atio=innisample1几何平均数 计算机科学与技术计算机科学与技术SpecRatio与性能的关系与性能的关系98量化比较时与所选择的参考机器无关,两台量化比较时与所选择的参考机器无关,两台SpecRatio的比值体现出两台机器的性能比。的比值体现出两台机器的性能比。 计算机科学与技术计算机科学与技术以以Sun Ultra2000为参考机,为参考机,AMD Opteron和和Intel Itanium2 的的SPECfp2000执行时间和执行时间和SPECRations99 计算机科学与技术计算机科学与技术性能与参考机器无关。执行时间的比率等于性能与参考机器无关。执行时间的比率等于Sp

59、ecRatio的比率的比率100 计算机科学与技术计算机科学与技术性能与参考机器无关。两台机器几何平均值的比等于两台性能与参考机器无关。两台机器几何平均值的比等于两台机器性能比的几何平均值机器性能比的几何平均值101 计算机科学与技术计算机科学与技术几何平均数的比率和性能比率的几何平均几何平均数的比率和性能比率的几何平均数相等,与所选的参考机器无关数相等,与所选的参考机器无关102 计算机科学与技术计算机科学与技术103成本与价格成本与价格软件成本(开发成本)+硬件成本(开发成本+生产成本) 计算机科学与技术计算机科学与技术成本的发展趋势成本的发展趋势q时间、产量和产品化的影响m当成品率提高和

60、竞争压力共同导致成本降低时,随着时间的推移,价格在以一定的速率下降。m 产量增加提高采购和生产的效率,可以降低成本。同时随着产量的增加,每件产品平均的开发费用会降低,因而产品的价格会进一步降低。m 产品化后,行业竞争激烈,竞争会降低成本和价格。m集成电路的成本:集成电路的成本则呈下降趋势。m成本与价格:随着商品化程度的提高,产品的成本与价格的差距在缩小。1041.4 计算机系统结构的发展计算机系统结构的发展1 冯诺依曼结构的特点2 计算机系统结构中并行性的发展3 软件对系统结构发展的影响4 器件技术对系统结构的影响 计算机科学与技术计算机科学与技术1061.4.1. 冯诺依曼体系结构的特点冯诺依曼体系结构的特

温馨提示

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

评论

0/150

提交评论