第一章计算机体系结构的基本概念.ppt
《第一章计算机体系结构的基本概念.ppt》由会员分享,可在线阅读,更多相关《第一章计算机体系结构的基本概念.ppt(115页珍藏版)》请在三一文库上搜索。
1、第一章 计算机体系结构的基本概念,第一台通用电子计算机诞生于1946年 18000个电子真空管 33万亿个晶体管 (18亿倍) 800字节存储容量 4万亿字节 (50亿倍) 运算速度5000次/秒 12.5万亿次/秒 (25亿倍) 2. 经历了4个发展过程,1.1 引论,1.1 引论,4,推动性能提高的主要因素: 1)更高的主频 器件工艺的进步(Natural frequency growth ) 更深的流水线 2)开发各个层次的并行性 指令级并行性 线程/进程级并行性 数据级并行性 3)减少内存延迟 大容量、高性能的片上多级Cache 及更成熟的先行控制、指令预取等技术,指令的深度流水线 乱
2、序执行 超标量处理机 分支预测及前瞻执行,1.1 引论,计算机技术的飞速发展得益于: 计算机制造技术的发展 计算机系统结构的创新,1.1 引论,进一步发展面临的问题 主频 指令级并行性 内存访问速度的 功耗问题,1.1 引论,7,微处理机的发展轨迹遵从摩尔定理: Moores law : The number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years. This trend has continued for mor
3、e than half a century and is expected to continue until at least 2015 or 2020,1.1 引论,8,晶体管尺寸的减小,速度的提高,连线尺寸的缩小,传输距离缩小,更少的电荷能驱动,从性能的角度来看:,.,1.1 引论,9,摩尔定律有三种解释: 一种是集成电路芯片上所集成的电路的数目,每隔18个月就翻一番; 第二种是微处理器的性能每隔18个月提高一倍,而价格下降一半; 第三种解释是用一个美元所能买到的电脑性能,每隔18个月翻两番。,1.1 引论,10,1) 功耗问题:,晶体管尺寸的减小,速度的提高数量的增加 电压的降低,线间
4、距的缩小,功耗增加,功耗降低,连线尺寸的缩小,电阻的增加,功耗增加,漏电流的增加,可靠性下降 功耗增加,功耗增加,Pentium 4 达到100w, 平均0.5w/mm2,功耗增加,1.1 引论,11,1.1 引论,12,应用中可利用的ILP在4 10 之间,目前可达到的ILP在4 8 之间,进一步发展的空间并不是很大,1),2),实现过于复杂可能反而造成性能下降,2) ILP(指令级并行)问题:,1.1 引论,1.1 引论,包含上亿个晶体管,芯片复杂性的不断提高,正确性验证非常困难,+ 体系结构的不断复杂化,研发、生产的成本不断提高,3) 复杂性问题:,14,主频:不可能无限提高 散热:主频
5、每增加1G,功耗将上升25瓦,而在芯片功耗超过150瓦后,现有的风冷散热系统将无法满足散热的需要 复杂度:英特尔的奔腾(Pentium)四至尊版840处理器,晶体管数量已经增加至2.5亿个 有效性:不到6%的晶体管用于计算,总结,1.2.1 计算机系统中的层次概念 1. 计算机系统是软件硬件/固件 2. 计算机语言由低级向高级发展。 高一级语言的语句相对于低级语言功能更强,更便于应用,但又都以低级语言为基础。 3. 从计算机语言的角度,把计算机系统按功能划分成多级层次结构。,1.2 计算机体系结构的概念,1.2 计算机体系结构的概念,(1) 虚拟机:由软件实现的机器。 (2) 语言实现的两种基
6、本技术 翻译:先把N+1级程序全部变换成N级程序后, 再去执行新产生的N级程序,在执行过程中N+1 级程序不再被访问。 解释:每当一条N+1级指令被译码后,就直接 去执行一串等效的N级指令,然后再去取下一 条N+1级的指令,依此重复进行。,解释执行比翻译花的时间多,但存储空间占用较少。,1.2 计算机体系结构的概念,1.2.2 计算机体系结构的定义 1. 计算机体系结构:程序员所看到的计算机的属性, 即概念性结构与功能特性。 2. 按照计算机系统的多级层次结构,不同级程序 员所看到的计算机具有不同的属性。 如低级语言程序员所看到的许多计算属性对高级语 言程序员透明 透明性: 在计算机技术中,对
7、这种本来是存在的事物或属性,但从某种角度看又好象不存在。,1.2 计算机体系结构的概念,3. Amdahl 提出的体系结构:传统机器级的体系结构 即一般所说的机器语言程序员所看到的传统机器级所具有的属性。,5. 对于通用寄存器型机器,这些属性主要是指:,指令系统 包括机器指令的操作类型和格式、指令间的 排序和控制机构等。 数据表示 硬件能直接识别和处理的数据类型。 寻址规则 包括最小寻址单元、寻址方式及其表示。,1.2 计算机体系结构的概念,寄存器定义 (包括各种寄存器的定义、数量和使用方式) 中断系统 (中断的类型和中断响应硬件的功能等) 机器工作状态的定义和切换 (如管态和目态等) 存储系
8、统 (主存容量、程序员可用的最大存储容量等) 信息保护 (包括信息保护方式和硬件对信息保护的支持),1.2 计算机体系结构的概念,I/O结构 包括I/O连结方式、处理机/存储器与I/O设备之间数据传送的方式和格式以及I/O操作的状态等,经典计算机体系结构概念的实质: 计算机系统中软硬件界面的确定,其界面之上的是软件的功能,界面之下的是硬件和固件的功能。,1.2 计算机体系结构的概念,1.2.3 计算机组成和计算机实现技术 1. 计算机组成:计算机体系结构的逻辑实现。 2. 计算机实现:计算机组成的物理实现。,计算机组成包括的内容可以有: 处理机、主存等部件的逻辑结构,机器级内数据流和控制流的组
9、成、各部件的功能以及之间的联系等。 计算机实现包括的内容可以有: 处理机、主存等部件的物理结构,包括器件的集成度和速度的确定,器件、模块、插件、底板的划分与连接,组装装配技术及信号连接、电源、冷却方法等。,1.2 计算机体系结构的概念,体系结构与组成、实现之间的关系为: 体系结构是组成的抽象,组成是实现的抽象 一种体系结构可以有多种组成。 一种组成可以有多种物理实现。 广义的计算机体系结构概念包括体系结构的外部特性和内部特性: 1)计算机体系结构外部特性-计算机体系结构的经典定义 2)计算机体系结构内部特性-计算机组成与实现中一些比较抽象的内容(微体系结构),1.2 计算机体系结构的概念,系列
10、机 在一个厂家内生产的具有相同的体系结构(经典定义),但具有不同组成和实现的一系列不同型号的机器。 如 IBM 370系列有370/115、125、135、145、158、168等一系列从低速到高速的各种型号。 相同点:程序员所看到的概念性结构和功能属性 指令系统一致 不同点:组成和实现技术 速度特性不一样,1.2 计算机体系结构的概念,1.2 计算机体系结构的概念,1.2.4 计算机系统结构的分类,常见的计算机系统结构分类法有两种: Flynn分类法、冯氏分类法,1.2 计算机体系结构的概念,冯氏分类法 用系统的最大并行度对计算机进行分类。 最大并行度:计算机系统在单位时间内能够处理的最大的
11、二进制位数。 用平面直角坐标系中的一个点代表一个计算机系统,其横坐标表示字宽(n位),纵坐标表示一次能同时处理的字数(m字)。mn就表示了其最大并行度。 Flynn分类法 按照指令流和数据流的多倍性进行分类。 指令流:计算机执行的指令序列。,1.2 计算机体系结构的概念,数据流:由指令流调用的数据序列。 多倍性:在系统受限的部件上,同时处于同一执行阶段的指令或数据的最大数目。 Flynn分类法把计算机系统的结构分为4类: 单指令流单数据流(SISD) 单指令流多数据流(SIMD) 多指令流单数据流(MISD) 多指令流多数据流(MIMD) 4类计算机的基本结构 IS:指令流,DS:数据流,CS
12、:控制流, CU:控制部件,PU:处理部件,MM和SM:存储器。,1.3 定量分析技术,4个定量原理: 以经常性事件为重点 对经常发生的情况采用优化方法的原则进行选择,以得到更多的总体上的改进。 优化是指分配更多的资源、达到更高的性能或者分配更多的电能等。,1.3.1 计算机系统设计的定量原理,1.3 定量分析技术,Amdahl定律 加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。 系统性能加速比:,加速比,系统性能改进后,系统性能改进前,总执行时间改进前,总执行时间改进后,1.3 定量分析技术,加速比依赖于两个因素 可改进比例:在改进前的系统中,
13、可改进部分的执行时间在总的执行时间中所占的比例。它总是小于等于1。 例如:一个需运行60秒的程序中有20秒的运算可以加速,那么这个比例就是20/60。 部件加速比:可改进部分改进以后性能提高的倍数。它是改进前所需的执行时间与改进后执行时间的比。一般情况下部件加速比是大于 1 的。 例如:若系统改进后,可改进部分的执行时间是2秒,而改进前其执行时间为5秒,则部件加速比为5/2。,1.3 定量分析技术,改进后程序的总执行时间,总执行时间改进后 不可改进部分的执行时间 可改进部分改进后的执行时间 总执行时间改进后 (1可改进比例)总执行时间改进前,+, (1 可改进比例) + 总执行时间改进前,可改
14、进比例,部件加速比,可改进比例总执行时间改进前,部件加速比,1.3 定量分析技术,系统加速比为改进前与改进后总执行时间之比,加速比 ,总执行时间改进前,总执行时间改进后,(1可改进比例)+,可改进比例,部件加速比,1,1.3 定量分析技术,例1.1 将计算机系统中某一功能的处理速度提高到原来的20倍,但该功能的处理时间仅占整个系统运行时间的40%,则采用此提高性能的方法后,能使整个系统的性能提高多少?,1.3 定量分析技术,解 可改进比例 = 40% = 0.4, 部件加速比 = 20 根据Amdahl定律可知: 采用此提高性能的方法后,能使整个系统的性能提高到原来的1.613倍。,总加速比
15、=,1,0.6 +,0.4,20,= 1.613,1.3 定量分析技术,例1.2 某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的20倍,而系统运行某一程序的整体性能提高到原来的5倍,试计算该程序中浮点操作所占的比例。,1.3 定量分析技术,解 部件加速比 = 20,系统加速比 = 5 根据Amdahl定律可知 由此可得:可改进比例 = 84.2% 即程序中浮点操作所占的比例为84.2%。,1.3 定量分析技术,Amdahl定律:一种性能改进的递减规则 如果仅仅对计算任务中的一部分做性能改进,则改进得越多,所得到的总体性能的提升就越有限。 重要推论:如果只针对整个任务的一部分进行改进
16、和优化,那么所获得的加速比不超过 1/(1可改进比例),1.3 定量分析技术,两种情况: (1)可改进比例为,这时系统加速比等于,即系统性能无法提高。 (2)部件加速比趋于无穷,这时分母中可改进比例与部件加速比之比趋于,由此系统加速比趋于除以减可改进比例,这是加速这个部件所获得的系统性能改善的极限。,1.3 定量分析技术,1.3 定量分析技术,CPU性能公式 执行一个程序所需的CPU时间 CPU时间 = 执行程序所需的时钟周期数时钟周期时间 执行程序所需的时钟周期数可进一步分解为: CPI :每条指令执行的平均时钟周期数 IC: 所执行的指令条数 程序执行的CPU时间可以写成 CPU时间 =
17、IC CPI 时钟周期时间,1.3 定量分析技术,计算机工作的时钟频率 计算机系统中与实现技术和工艺有关的因素。 单位是MHz或GHz 。,时钟周期时间= 1 / 时钟频率,CPU时间 = CPI IC / 时钟频率,1.3 定量分析技术,时钟频率: 受计算机实现技术和计算机组成影响 CPI: 受计算机指令集结构和计算机组成影响 IC: 受计算机指令集结构和编译技术影响 对许多CPU来说,不同的指令运行时所用的周期数是不同的,如果我们假设:计算机系统有 n 种指令,其中 CPIi : 第 i 种指令所用的时钟周期数; ICi : 在程序运行过程中中第 i 种指令被运行的次数;,1.3 定量分析
18、技术,CPU时间 = (CPIi ICi) / 时钟频率 CPI = (CPIi ICi) / IC = (CPIi ICi / IC) 其中:(ICi / IC) 反映了第 i 种指令在程序中所占的 比例。,例1.3 假设我们考虑条件分支指令的两种不同设计方法如下:,(1) CPUA:通过比较指令设置条件码,然后测试条 件码进行分支。 (2) CPUB:在分支指令中包括比较过程,在两种CPU中,条件分支指令都占用2个时钟周期而所有其它指令占用1个时钟周期,对于CPUA,执行的指令中分支指令占20%;由于每个分支指令之前都需要有比较指令,因此比较指令也占20%。由于CPUA,1.3 定量分析技
19、术基础,在分支时不需要比较,因此假设它的时钟周期时间比CPUB快1.25倍。哪一个CPU更快?如果CPUA的时钟周期时间仅仅比CPUB快1.1倍,哪一个CPU更快呢?,解:我们不考虑所有系统问题,所以可用CPU性能公式。占用2个时钟周期的分支指令占总指令的20%,剩下的指令占用1个时钟周期。所以 CPIA = 0.2 2 + 0.80 1 = 1.2 则CPU性能为: 总CPU时间A = ICA 1.2 时钟周期A,1.3 定量分析技术基础,对 CPUB 根据假设,有: 时钟周期B = 1.25 时钟周期A 在CPUB中没有独立的比较指令,所以CPUB的程序量为CPUA的80%,分支指令的比例
20、为: 20%/80% = 25% 这些分支指令占用2个时钟周期,而剩下的75%的指令占用1个时钟周期,因此: CPIB = 0.25 2 + 0.75 1 = 1.25,1.3 定量分析技术基础,因为CPUB不执行比较,故: ICB = 0.8 ICA 因此CPUB性能为: 总CPU时间B = ICB CPIB 时钟周期B = 0.8 ICA 1.25 (1.25 时钟周期A) = 1.25 ICA 时钟周期A 在这些假设之下,尽管CPUB执行指令条数较少,CPUA因为有着更短的时钟周期,所以比CPUB快。,1.3 定量分析技术基础,如果CPUA的时钟周期时间仅仅比CPUB快1.1倍,则 时钟
21、周期B = 1.10 时钟周期A CPUB的性能为: 总CPU时间B = ICB CPIB 时钟周期B = 0.8 ICA 1.25 (1.10 时钟周期A) = 1.10 ICA 时钟周期A 因此CPUB由于执行更少指令条数,比CPUA运行更快。,1.3 定量分析技术基础,1.3 定量分析技术,4. 程序的局部性原理 程序在执行时所访问地址的分布不是随机的,而是相对地簇聚;这种簇聚同时存在于指令访问和数据访问中。 程序的时间局部性:程序即将用到的信息很可能就是目前正在使用的信息。 程序的空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。,1.3 定量分析技术,用A
22、mdahl定律分析并行加速 现实世界的计算过程从来不会按照简单的串并行来区分,实际上,也几乎没有计算过程能纯粹地划归为串行或者并行实现的 绝大多数软件会包含 可并行 和 不可并行(串行)的操作,1.3 定量分析技术,p: 处理器数; W:问题规模(计算负载、工作负载) WS: 应用程序中的串行分量 WP:应用程序中可并行分量 W = WS +WP 串行分量比例( f = WS/W) 并行分量比例(1-f = WP/W) S:加速比,1.3 定量分析技术,53,加速比,1.3 定量分析技术,例如果想用100个处理器达到80的加速比, 求原计算程序中串行部分所占比例。 解 Amdahl定律为 得出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 计算机体系结构 基本概念
链接地址:https://www.31doc.com/p-2555180.html