计算机体系结构学科发展简介.ppt_第1页
计算机体系结构学科发展简介.ppt_第2页
计算机体系结构学科发展简介.ppt_第3页
计算机体系结构学科发展简介.ppt_第4页
计算机体系结构学科发展简介.ppt_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

计算机体系结构学科发展简介,石教英 浙江大学计算机学院计算机系统研究所 2002年11月,目录,一、计算机体系结构学科发展回顾 1计算机性能高速发展及其原因 2计算机的分类 3计算机设计的任务 4技术发展趋向 二、指令级并行性开发技术 1RISC与CISC 2流水线技术 3指令级并行性技术 三、指令多发射技术 1指令多发射技术概述 2超标量处理器 3超长指令字处理器 4多发射处理器的技术难点,四、Cache技术 1为什么要引入Cache 2为什么引入Cache能提高计算机性能? 3Cache技术的发展 五、多处理器技术 1 并行计算机体系结构分类 2 集中共享存储器型多处理计算机 3 分布式存储器型多处理器计算机 4 并行处理的难点 六、我国计算机体系结构研究进展,一、计算机体系结构学科发展回顾,Computer Architecture定义 应用机器语言的程序员为了能正确编写时序无关的程序所必须了解的计算机的结构。 简单讲:计算机体系结构是一门设计计算机的学科,包括计算机的指令系统设计,结构设计,实现技术,以及与系统软件操作系统和编译器相关的技术。,1、计算机性能高速发展及其原因,1946年第一台通用电子计算机ENIAS诞生至今仅56年每秒5000次运算加法 计算机技术以惊人速度发展,并将继续高速发展 1980年百万美元机器的性能比不上今年1千美元的机器 今天最高性能的微处理器超过10年前的超级计算机 如用于高端网络交换机和最新电子游戏机的微处理器速度可达每秒10亿次运算,计算机性能高速发展原因,1.构建计算机的各种技术进步 2.计算机本身的创新设计技术的发展 技术进步以稳定速度发展,主要指IC技术 创新设计发展速度不稳定,有时快有时慢,各年代的性能提高速率,截止2001年微处理器性能增长率,RISC、Cache技术发展阶段,RISC体系结构发展又可分为两个阶段 早期集中发展指令级并行技术 后期集中发展多指令发射技术 Cache技术发展同样经历两个阶段 早期集中发展Cache的原理性应用 后期集中发展新的Cache组织和各种Cache性能优化技术,计算机创新设计对每年58%性能提高率的贡献 超过技术进步贡献达15倍之多 说明:计算机体系结构学科的重要性!,计算机性能高速提高带来的影响,用户拥有越来越高的性能和功能,今天最高性能的微处理器已经超出10年前超级计算机的性能。 基于微处理器的计算机成为计算机设计的主流 现状: PC机、工作站成为主流产品 小型机被采用微处理器的服务器所代替 大型机被采用数十个至上百个微处理器构成的多 处理器计算机所代替 超级计算机正在被成千上万个微处理器构成的 多处理器计算机所代替,体系结构发展的核心定量方法,近年来计算机体系结构发展的核心,也是计算机创新设计技术的核心归功于 定量方法。 用定量方法进行计算机设计 用定量方法作为工具分析程序实际运行结果、各类实验和仿真 用定量方法寻找计算机体系结构的新思路、新技术,保证计算机性能继续按现在速率提高,2、计算机的分类,传统的计算机分类: 大型机、小型机、巨型机(成熟超级计算机) 按机器规模指令(字长,内外存储器容量,速度等指标),价格等指标进行分类(PC)机、工作站,服务器 1980年代产生了新的机型: 个人(PC)机、工作站、服务器 主要按用途来分类 1990年代产生了嵌入式系统: 高性能家电、机顶盒、电子游戏机、手机、网络路由器、交换机等 这里微处理器成为设备的一个组件,如马达所起的作用,主要不是作计算用,计算机的新分类 台式机 服务器 嵌入式计算机 它们分别面向不同应用,具有不同要求,采用不同技术,台式机、服务器、嵌入式系统特征对比,3、计算机设计的任务,计算机设计目标: 应满足市场对功能的要求,同时也应满足成本,功耗和性能的目标,计算机设计任务,指令集设计 这是传统计算机体系结构的任务,即程序员面对的(看得见的)指令系统的设计 计算机组织设计 存储器设计,CPU设计,I/O总线结构设计等高层内容,同一个指令集可以对应不同组织设计 硬件设计 芯片的逻辑设计、封装、冷却。 相同的指令集和组织可以对应不同的硬件实现形成一个产品系列,如Pentium和Celeron,使Celeron适用于低端产品 计算机体系结构学科应包含上述三方面的内容,Fig1。4, p10,计算机设计技术人员的任务,明确具体的功能要求,因为来自市场的功能要求往往是不明确的 明确最主要的任务是什么,最主要的功能往往是使用最频繁的部件,做好了最主要部件的设计对提高性能影响最大。 优化设计根据不同准则来选择最优的设计方案,例如前面介绍过对于个人机、服务器和嵌入式计算机的不同优化目标,4、技术发展趋向,由于计算机技术发展十分快速,一个成功的指令集设计不应该因为技术发展而遭淘汰 计算机体系结构设计师应预见到技术发展的趋向,在设计下一代产品时,预见到产品大规模进入市场时恰好是所用的下一代技术的性价比达到最佳的时候,从而使其设计的产品生命周期得以延长,影响最大的四种关键技术,集成电路技术 半导体DRAM 磁盘技术 网络技术,集成电路技术,晶体管密度每年增加35%,即每4年增加4倍 集成电路芯片的尺寸每年提高10%-20% 综合上述两个参数,芯片的晶体管数每年提高55%,半导体DRAM(动态随机存取存储器),芯片密度每年递增40%-60%,即每3-4年增加4倍 存取周期缩短相对较慢,每10年缩短1/3 DRAM接口改进提高了存取带宽,磁盘技术,近年来磁盘的存储密度以每年100%速度递增,并将继续一段时间 (1990年以前每年以30%速度递增) 磁盘的存取周期缩短相对较慢,每10年缩短1/3,网络技术,网络性能与交换机和发射端的性能有关 衡量网络的指标有:延迟时间和带宽等,带宽是主要指标 近年来带宽提高速度较快 如以太网从10Mbps提高到100Mbps花了10年时间,而从100Mbps提高到1Gbps只用了5年,二、指令级并行性技术 (Instruction Level Parallelism-ILP),指令级并行性技术是RISC(精减指令集计算机)(Reduced Instruction set Computer)的主要贡献,1、RISC与CISC,CISC即复杂指令集计算机(Complex Instruction set Computer) RISC思想在1980年代初提出 1980年代末大规模投入实际使用 1980年代中期以前的微处理器可统称为CISC体系结构微处理器,RISC与CISC的最主要的区别,平均执行每条指令的时钟周期数CPI(Cycles per Instruction)的不同 RISC的CPI1 CISC的CPI1 CPI的作用: CPI数越小,CPU速度越快 CPI数越大,CPU速度越慢,CPU性能公式,CPU fime = IC CPI CC CPUfime 执行一般代码所需的中央处理站(CPU)时间 IC代码的指令条数(Instruction Comt),与指令集设计编译器的优化有关 CPI平均执行每条指令的时钟周期数,与指令集设计、体系结构等技术有关 CC时钟周期(Clock Cyde)与计算机组成,IC工艺等技术有关,缩短CPI成为缩短CPUtime 的主要技术途径,RISC体系结构追求精减的指令集 数据类型、寻址主式精减,指令长度统一,格式统一,提高流水线的效率,实现了每一时钟周期能执行一条指令(CPI=1) RISC体系结构进一步提出指令多发射技术 即每一时钟周期可发射多条指令,执行多条指令,进一步实现CPI1,CISC计算机速度提高较慢的原因,传统CISC体系结构计算机的CPI5-8 原因: 以DEC公司的VAX机器为例,指令系统复杂,指令集有304条指令,指令长度:1 Byte64 Byte,操作数不足:0-6个,操作数达十几种,寻址方式达几十种;采用微程序控制 导致流水线结构复杂,效率低下,速度提高有困难 目前几乎所有微处理器,包括传统著名的CISC微处理器,如Intel系列和Motorola系列微处理器都采用RISC体系结构,2流水线技术,这是理想流水线的性能:达到每一个时钟周期可以完成一条指令 与指令串行执行相比较,速度提高5倍,简介:流水线是一种多条指令重叠执行的实现技术,流水线的竞争,实际流水线不可能像上述理想流水线那样完美 存在三种流水线竞争 结构竞争:由硬件资源不足造成流水线停顿 数据竞争:由前后指令之间存在数据相关性造成流水线停顿 控制竞争:由转移指令造成流水线停顿,实际流水线的性能,实际流水线的CPI=理想流水线的CPI + 结构竞争造成的停顿周期 + 数据竞争造成的停顿周期 + 控制竞争造成的停顿周期 要提高CPU的性能就是要消除或减少三种竞争造成的停顿周期,流水线竞争的解决,结构竞争可以通过增加硬件资源来解决 数据竞争和控制竞争只有通过挖掘代码指令之间的平行性,即通过开发和发现指令之间存在的可并行(重叠)执行的可能性,然后对指令执行顺序进行调度,即用不相关的指令来填补本来应该停顿周期的方法,达到消除或减少停顿周期,提高指令执行速度,3指令级并行性(ILP)开发技术,ILP开发技术分两大类: 基于硬件的ILP开发技术,又称动态开发ILP技术 基于软件的ILP开发技术,又称静态开发ILP技术,用于解决数据竞争的ILP开发技术,静态调度技术 动态调度技术 采用改名技术的动态调度技术 编译分析数据相关性 软件流水线 路经调度,用于解决控制相关性的ILP开发技术,静态转移预测技术 动态转移预测技术 静脉投机技术 动态投机技术 循环体展开技术 延时转移技术,三、指令多发射技术,1指令多发射技术概述 从CPUtime = ICCPICC公式出发,进一步提高CPU性能的途径是令CPI1 要达到CPI1的目的,必须做到每个时钟周期发射多条指令,有多个处理部件和足够的硬件资源来并行处理多条指令,达到平均每条指令的处理时间小于1个时钟周期,指令多发射处理器有两类: 超标量处理器(Superscalar precessors) 超长指令字处理器(VLIW-very honginstruction word) 根据指令发射机制,即调度、组织可同时发射指令的机制,也可分为两类: 动态多发射机制,即由硬件在程序执行过程中调度 静态多发射机制,即由编译器在程序编译过程中调度,2超标量处理器,超标量处理器流水线操作,超标量处理器的特点,在一个周期里能发射可变数量的指令,通常为1-8条指令/周期 同时发射的指令按规定搭配,不能自由搭配,即有限制:如同时发射的指令必须是独立的,即无数据竞争,以及满足访存次数规定等等。 采用静态调度(compiler完成)和/或动态调度(硬件完成)方法确定可同时发射的指令,3超长指令字处理器(VLIW),VLIW处理器特点 一次发射一条超长指令,其中包含多个操作,而不像超标量处理器那样一次发射多条指令 在超长指令当中多个操作按规定搭配顺序排列,即指令类型不能任意搭配,操作顺序不能任意颠倒,VLIW究竟有多长?,以一个拥有多个功能单元的VLIW处理器为例: 设7个功能单元可支持:2个整数操作、2个FP操作、2个存储器访问操作和1个转移操作,这样这条含7个操作的VLIW的功能相当于7条指令,为支持每一功能单元正常工作,应分配每一功能单元相应的数据域;一般每个数据域为1624位 这一VLIW长度为:16 bits7 = 112 bits 或为: 24 bits7 = 168 bits 比较:一个拥有7个功能单元的超标量处理器,一次发射7条指令,总长度为32 bits7=224 bits,超长指令字的组装由编译器完成,即由编译器作静态调度,选择无相关性指令按搭配顺序填入超长指令字 为充分发挥VLIW处理器功能单元的作用,必须要有足够多的可并行执行指令提供给VLIW,编译器必须采用功能更强的全局调度技术,4多发射处理器的技术难点,程序固有指令级并行性有限是多发射处理器的本质困难,需要的可并行执行的指令数大致等于功能单元数乘以流水线级数。 多发射处理器硬件数量多、速度快,且复杂性高,从而成本高。,超标量处理器的特殊困难 发射逻辑复杂且高速 动态调度硬件极其复杂 超长指令字处理器的特殊困难 对编译器的要求高 VLIW系列机二进制代码兼容困难,四、Cache技术,Cache一种小容量的高速缓冲存储器 Cache 在计算机中的位置,1、为什么要引入Cache?,首先看一下CPU芯片速度与内存储器DRAM芯片速度的差别有多大,CPU与DRAM速度差意味着什么?,说明单纯地改善CPU的设计,一味追求提高CPU的速度,并不能提高计算机整机的性能,因为高速CPU的性能被低速的存储器访问所抵销。 为了提高计算机整机性能,必须消除两者性能差,或者仅可能缩小两者性能差。,解决办法,在高速CPU与低速Memory之间引入一个小容量的高速缓冲存储器(Cache),Cache速度与CPU速度之差(不足1个数量级)远远小于CPU与DRAM速度差(3个数量级4个数量级),通过将存储器分级的方法来缓解这一巨大的速度差,提高计算机的性能。,2、为什么引入Cache能提高计算机性能?,问: 既然用作Cache的SRAM芯片的速度远远高于用作主存储器的DRAM芯片,那么为什么主存储器不用SRAM芯片来实现? 答案: SRAM的价格远高于DRAM,而且主存储器的容量大,采用高速SRAM使成本急剧上升,因此从性能/价格综合考虑只能采用小容量的Cache。,问: 小容量的Cache能否满足程序存取指令和数据的需求? 答案: 计算机设计定量原理中有一条局部性原理告诉我们:程序总是倾向于重用那些刚刚用过的数据和指令,这是计算机程序非常重要的性质。局部性原理的另一种表述:程序90%的执行时间是花在10%的代码上。 局部性原理告诉我们:可以根据程序最近访问的数据和指令来预测程序将要调用的数据和指令,且这一预测正确度是比较高的。 所以小容量的Cache能满足程序存取数据和指令的需求,3. Cache技术的发展,采用多级Cache 1980年代的微处理器大多没有片上Cache,只有片外Cache 2001年的微处理器大多都有2级片上Cache,再加上一级片外Cache 增加Cache容量 1980年代的片外Cache通常只有几十KB 2001年的微处理器三级Cache的容量可达16MB 采用各种优化技术来提高Cache性能,包括 减少失配造成的代价 减少失配率 减少命中时间,五、多处理器技术,单处理器计算机性能是否已接近其极限? 然而从1985起到2000,这一段正是单处理器计算机性能突飞猛进的时代 单处理器计算机至少在未来5年仍将以目前速度发展,多处理器计算机将越来越重要的理由,微处理器已主宰单处理器计算机技术,因此为了提高单处理器计算机性能而将多个微处理器连接起来就成为很自然的选择 现在还不清楚使计算机体系结构不断创新的指令级并行技术能否继续无限地发展下去 曾经是并行机发展障碍的软件有了新的发展和进展,主要是在服务器和嵌入式系统方面为多处理器计算机发展带来曙光,1.并行计算机体系结构分类,Flynn在1966年提出的计算机分类方法,即按指令流和数据流进行计算机分类的方法仍适用至今 单指令流,单数据流(SISD)单处理器计算机 单指令流,多数据流(SIMD)矢量计算机 多指令流,单数据流(MISD)市场上无此类计算机 多指令流,多数据流(MIMD)通用多处理器并行计算机,是

温馨提示

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

评论

0/150

提交评论