计算机体系结构第1章

上传人:子 文档编号:52315658 上传时间:2018-08-20 格式:PPT 页数:77 大小:517.50KB
返回 下载 相关 举报
计算机体系结构第1章_第1页
第1页 / 共77页
计算机体系结构第1章_第2页
第2页 / 共77页
计算机体系结构第1章_第3页
第3页 / 共77页
计算机体系结构第1章_第4页
第4页 / 共77页
计算机体系结构第1章_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《计算机体系结构第1章》由会员分享,可在线阅读,更多相关《计算机体系结构第1章(77页珍藏版)》请在金锄头文库上搜索。

1、1/77第1章 计算机系统结构的基本概念张晨曦 刘依www.GotoS2/771.1 引言1.2 计算机系统结构的概念1.3 定量分析技术1.4 计算机系统结构的发展1.5 计算机系统结构中并行性的发展3/77w第一台通用电子计算机诞生于1946年 w计算机技术的飞速发展得益于两个方面 计算机制造技术的发展 计算机系统结构的创新w经历了4个发展过程 1.1 引 言4/77时 间原 因每年的性能 增长1946年起的25年 两种因素都起着主要的作用 25% 20世纪70年代末 80年代初 大规模集成电路和微处理器 出现,以集成电路为代表的制 造技术的发展 约35% 20世纪80年代中开 始 RIS

2、C结构的出现,系统结构不断更 新和变革,制造技术不断发展50%以上 维持了约16年 2002年以来 3个(见下页)约20%1.1 引言5/771.1 引言 功耗问题(已经很大)。 可以进一步有效开发的指令级并行性已经很少。 存储器访问速度的提高缓慢。 6/771.1 引言系统结构的重大转折:从单纯依靠指令级并行转向开发线程级并行和数据级并行。计算机系统结构在计算机的发展中有着极其重要的作用。7/77w计算机系统硬件/固件软件w计算机语言从低级向高级发展高一级语言的语句相对于低一级语 言来说功能更强,更便于应用,但又都以低级语言为基础。 w从计算机语言的角度,把计算机系统按功能划分成多级层次结构

3、。 每一层以一种语言为特征 1.2 计算机系统结构的概念1.2.1 计算机系统的层次结构软件硬件或固件9/771.2 计算机系统结构的概念 虚拟机:由软件实现的机器 语言实现的两种基本技术q翻译:先把N+1级程序全部转换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。 q解释:每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。解释执行比编译后再执行所花的时间多,但占用的存储空间较少。 10/771.2 计算机系统结构的概念w计算机系统结构的经典定义程序员所看到的计算机属性,即概念性结构 与功能特性。w按照计算

4、机系统的多级层次结构,不同级程序员所看 到的计算机具有不同的属性。w透明性在计算机技术中,把这种本来存在的事物或 属性,但从某种角度看又好像不存在的概念称为 透明性。1.2.2 计算机系统结构的定义11/771.2 计算机系统结构的概念wAmdahl提出的系统结构传统机器语言级程序员所看到的计算机属性。 w广义的系统结构定义:指令集结构、组成、硬件(计算机设计的3个方面 ) w对于通用寄存器型机器来说,这些属性主要是指:指令系统 包括机器指令的操作类型和格式、指令间 的 排序和控制机构等。数据表示 硬件能直接识别和处理的数据类型。寻址规则 包括最小寻址单元、寻址方式及其表示。 12/771.2

5、 计算机系统结构的概念寄存器定义 (包括各种寄存器的定义、数量和使用方 式) 中断系统(中断的类型和中断响应硬件的功能等) 机器工作状态的定义和切换(如管态和目态等) 存储系统 (主存容量、程序员可用的最大存储容量 等) 信息保护(包括信息保护方式和硬件对信息保护的 支持) 13/771.2 计算机系统结构的概念I/O结构包括I/O连结方式、处理机/存储器与I/O 设备之间数据传送的方式和格式以及I/O操作的状 态等计算机系统结构概念的实质:确定计算机系统中软、硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。1.2.3 计算机组成和计算机实现w计算机系统结构:计算机系统的

6、软、硬件的界面即机器语言程序员所看到的传统机器级所具有的属性。 14/771.2 计算机系统结构的概念w计算机组成:计算机系统结构的逻辑实现包含物理机器级中的数据流和控制流的组成以 及逻辑设计等。着眼于:物理机器级内各事件的排序方式与控 制方式、各部件的功能以及各部件之间的联 系。w计算机实现:计算机组成的物理实现包括处理机、主存等部件的物理结构,器件的 集成度和速度,模块、插件、底板的划分与 连接,信号传输,电源、冷却及整机装配技术等 。着眼于:器件技术(起主导作用)、微组装技 术。15/771.2 计算机系统结构的概念一种体系结构可以有多种组成。一种组成可以有多种物理实现。w系列机由同一厂

7、家生产的具有相同系统结构、 但具有不同组成和实现的一系列不同型号的计算机 。例如,IBM公司的IBM 370系列,Intel 公司的x86系列等。1.2.4 计算机系统结构的分类常见的计算机系统结构分类法有两种:Flynn分类法、冯氏分类法16/771.2 计算机系统结构的概念w冯氏分类法用系统的最大并行度对计算机进行分类。最大并行度:计算机系统在单位时间内能够 处理的最大的二进制位数。 用平面直角坐标系中的一个点代表一 个计算机系统,其横坐标表示字宽(n位),纵坐标 表示一次能同时处理的字数(m字)。mn就表示了其 最大并行度。 wFlynn分类法 按照指令流和数据流的多倍性进行分类。指令流

8、:计算机执行的指令序列。17/771.2 计算机系统结构的概念数据流:由指令流调用的数据序列。多倍性:在系统受限的部件上,同时处于同 一执行阶段的指令或数据的最大数目。Flynn分类法把计算机系统的结构分为4类:q 单指令流单数据流(SISD)q 单指令流多数据流(SIMD)q 多指令流单数据流(MISD)q 多指令流多数据流(MIMD)4类计算机的基本结构IS:指令流,DS:数据流,CS:控制流,CU:控制部件,PU:处理部件,MM和SM: 存储器。19/774个定量原理:w以经常性事件为重点对经常发生的情况采用优化方法的原则进行 选择,以得到更多的总体上的改进。优化是指分配更多的资源、达到

9、更高的性能 或者分配更多的电能等。 1.3 定量分析技术1.3.1 计算机系统设计的定量原理20/771.3 定量分析技术wAmdahl定律加快某部件执行速度所能获得的系统性 能加速比,受限于该部件的执行时间占系统中总执 行时间的百分比。系统性能加速比:加速比系统性能改进后系统性能改进前总执行时间改进前总执行时间改进后 21/771.3 定量分析技术加速比依赖于两个因素q可改进比例:在改进前的系统中,可改进 部分的执行时间在总的执行时间中所占的比例。它总是小于等于1。例如:一个需运行60秒的程序中有20秒的 运算可以加速,那么这个比例就是20/60。q部件加速比:可改进部分改进以后性能提 高的

10、倍数。它是改进前所需的执行时间与改进后执 行时间的比。一般情况下部件加速比是大于1的。例如:若系统改进后,可改进部分的执行 时间是2秒,而改进前其执行时间为5秒,则部件 加速比为5/2。22/771.3 定量分析技术改进后程序的总执行时间总执行时间改进后 不可改进部分的执行时间 可改进部分改进后的执行时间总执行时间改进后 (1可改进比例)总执行时间改进前+ (1 可改进比例) + 总执行时间改进前 可改进比例 部件加速比可改进比例总执行时间改进前部件加速比23/771.3 定量分析技术系统加速比为改进前与改进后总执行时间之比加速比 总执行时间改进前总执行时间改进后 (1可改进比例)+可改进比例

11、 部件加速比124/771.3 定量分析技术例1.1 将计算机系统中某一功能的处理速度提高到原来的20倍,但该功能的处理时间仅占整个系统运行时间的40%,则采用此提高性能的方法后,能使整个系统的性能提高多少?解 由题可知,可改进比例 = 40% = 0.4, 部件加速比 = 20根据Amdahl定律可知:采用此提高性能的方法后,能使整个系统的性能提高到原 来的1.613倍。 总加速比 = 10.6 +0.4 20= 1.61325/771.3 定量分析技术例1.2 某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的20倍,而系统运行某一程序的整体性能提高到原来的5倍,试计算该程序中浮点

12、操作所占的比例。解 由题可知,部件加速比 = 20,系统加速比 = 5根据Amdahl定律可知由此可得:可改进比例 = 84.2% 即程序中浮点操作所占的比例为84.2%。26/771.3 定量分析技术Amdahl定律:一种性能改进的递减规则q如果仅仅对计算任务中的一部分做性能改进,则改进得越多,所得到的总体性能的提升就越有限。重要推论:如果只针对整个任务的一部分进行改进和优化,那么所获得的加速比不超过1/(1可改进比例) 27/771.3 定量分析技术wCPU性能公式执行一个程序所需的CPU时间CPU时间 = 执行程序所需的时钟周期数时钟周 期时间其中,时钟周期时间是系统时钟频率的倒数。每条

13、指令执行的平均时钟周期数CPI(Cycles Per Instruction)CPI = 执行程序所需的时钟周期数ICIC:所执行的指令条数程序执行的CPU时间可以写成CPU时间 = IC CPI 时钟周期时间 28/771.3 定量分析技术CPU的性能取决于3个参数q时钟周期时间:取决于硬件实现技术和计 算机组成。qCPI:取决于计算机组成和指令集结构。qIC:取决于指令集结构和编译技术。对CPU性能公式进行进一步细化 假设:计算机系统有n种指令;CPIi :第i种指令的处理时间;ICi :在程序中第i种指令出现的次 数;则CPU时钟周期数 = (CPIi ICi)ni=129/771.3

14、定量分析技术CPU时间 = 执行程序所需的时钟周期数时钟周 期时间= (CPIiICi)时钟周期时间CPI可以表示为CPI = = = 其中,(ICi/IC)反映了第i种指令在程序中所占的比例。 i=1n时钟周期数 IC(CPIiICi)i=1nIC(CPIi )i=1nICi IC30/771.3 定量分析技术例1.3 考虑条件分支指令的两种不同设计方法:(1)CPUA:通过比较指令设置条件码,然后测试条件码进行分支。(2)CPUB:在分支指令中包括比较过程。在这两种CPU中,条件分支指令都占用2个时钟周期,而所有其他指令占用1个时钟周期。对于CPUA,执行的指令中分支指令占20%;由于每条

15、分支指令之前都需要有比较指令,因此比较指令也占20%。由于CPUA在分支时不需要比较,因此CPUB的时钟周期时间是CPUA的1.25倍。问:哪一个CPU更快?如果CPUB的时钟周期时间只是CPUA的1.1倍,哪一个CPU更快呢?31/771.3 定量分析技术解 我们不考虑所有系统问题,所以可用CPU性能公式。占用2个时钟周期的分支指令占总指令的20%,剩下的指令占用1个时钟周期。 所以 CPIA = 0.2 2 + 0.80 1 = 1.2则CPUA性能为总CPU时间A = ICA 1.2 时钟周期A根据假设,有时钟周期B = 1.25 时钟周期A在CPUB中没有独立的比较指令,所以CPUB的程序量为CPUA的80%,分支指令的比例为32/771.3 定量分析技术20%/80% = 25%这些分支指令占用2个时钟周期,而剩下的75%的指令占用1个时钟周期,因此CPIB = 0.25 2 + 0.75 1 = 1.25因为CPUB不执行比较,故ICB = 0.8 ICA因此CPUB性能为总CPU时间B = ICB CPIB 时钟周期B= 0.8 ICA 1.25 (1.25 时钟周期A)= 1.25 ICA 时钟周期A33/771.3 定量分析技术在这些假设之下,尽管C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号