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

下载本文档

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

文档简介

计算机体系结构学科发展简介石教英浙江大学计算机学院计算机系统研究所2002年11月计算机体系结构学科发展简介石教英1目录一、计算机体系结构学科发展回顾1.计算机性能高速发展及其原因2.计算机的分类3.计算机设计的任务4.技术发展趋向二、指令级并行性开发技术1.RISC与CISC2.流水线技术3.指令级并行性技术三、指令多发射技术1.指令多发射技术概述2.超标量处理器3.超长指令字处理器4.多发射处理器的技术难点目录一、计算机体系结构学科发展回顾2四、Cache技术1.为什么要引入Cache2.为什么引入Cache能提高计算机性能?3.Cache技术的发展五、多处理器技术

1.

并行计算机体系结构分类2.

集中共享存储器型多处理计算机3.

分布式存储器型多处理器计算机4.

并行处理的难点六、我国计算机体系结构研究进展

四、Cache技术3一、计算机体系结构学科发展回顾ComputerArchitecture定义应用机器语言的程序员为了能正确编写时序无关的程序所必须了解的计算机的结构。简单讲:计算机体系结构是一门设计计算机的学科,包括计算机的指令系统设计,结构设计,实现技术,以及与系统软件操作系统和编译器相关的技术。一、计算机体系结构学科发展回顾ComputerArchit41、计算机性能高速发展及其原因1946年第一台通用电子计算机ENIAS诞生至今仅56年——每秒5000次运算加法计算机技术以惊人速度发展,并将继续高速发展1980年百万美元机器的性能比不上今年<1千美元的机器今天最高性能的微处理器超过10年前的超级计算机如用于高端网络交换机和最新电子游戏机的微处理器速度可达每秒10亿次运算1、计算机性能高速发展及其原因1946年第一台通用电子计算机5计算机性能高速发展原因1.构建计算机的各种技术进步2.计算机本身的创新设计技术的发展技术进步—以稳定速度发展,主要指IC技术创新设计—发展速度不稳定,有时快有时慢计算机性能高速发展原因1.构建计算机的各种技术进步6各年代的性能提高速率

年代性能的年提高率原因1970年代初25%-30%

1970年代末35%微处理器芯片广泛应用1980年代末58%RISC体系结构、Cache等创新设计技术各年代的性能提高速率

年代性能的年提高率原因1970年代初27截止2001年微处理器性能增长率截止2001年微处理器性能增长率8RISC、Cache技术发展阶段RISC体系结构发展又可分为两个阶段早期集中发展指令级并行技术后期集中发展多指令发射技术Cache技术发展同样经历两个阶段早期集中发展Cache的原理性应用

后期集中发展新的Cache组织和各种Cache性能优化技术

RISC、Cache技术发展阶段RISC体系结构发展又可分9计算机创新设计对每年58%性能提高率的贡献——超过技术进步贡献达15倍之多说明:计算机体系结构学科的重要性!!

计算机创新设计对每年58%性能提高率的贡献10计算机性能高速提高带来的影响用户拥有越来越高的性能和功能,今天最高性能的微处理器已经超出10年前超级计算机的性能。

基于微处理器的计算机成为计算机设计的主流现状:PC机、工作站成为主流产品

小型机被采用微处理器的服务器所代替

大型机被采用数十个至上百个微处理器构成的多处理器计算机所代替超级计算机正在被成千上万个微处理器构成的多处理器计算机所代替计算机性能高速提高带来的影响用户拥有越来越高的性能和功能,今11体系结构发展的核心-定量方法近年来计算机体系结构发展的核心,也是计算机创新设计技术的核心归功于——定量方法。用定量方法进行计算机设计用定量方法作为工具分析程序实际运行结果、各类实验和仿真用定量方法寻找计算机体系结构的新思路、新技术,保证计算机性能继续按现在速率提高体系结构发展的核心-定量方法近年来计算机体系结构发展的核心,122、计算机的分类

传统的计算机分类:大型机、小型机、巨型机(成熟超级计算机)

按机器规模指令(字长,内外存储器容量,速度等指标),价格等指标进行分类(PC)机、工作站,服务器

1980年代产生了新的机型:个人(PC)机、工作站、服务器主要按用途来分类

1990年代产生了嵌入式系统:高性能家电、机顶盒、电子游戏机、手机、网络路由器、交换机等这里微处理器成为设备的一个组件,如马达所起的作用,主要不是作计算用2、计算机的分类传统的计算机分类:13计算机的新分类

台式机服务器嵌入式计算机它们分别面向不同应用,具有不同要求,采用不同技术

计算机的新分类14台式机、服务器、嵌入式系统特征对比台式机、服务器、嵌入式系统特征对比153、计算机设计的任务

计算机设计目标:应满足市场对功能的要求,同时也应满足成本,功耗和性能的目标

3、计算机设计的任务计算机设计目标:16计算机设计任务指令集设计——这是传统计算机体系结构的任务,即程序员面对的(看得见的)指令系统的设计计算机组织设计——存储器设计,CPU设计,I/O总线结构设计等高层内容,同一个指令集可以对应不同组织设计硬件设计——芯片的逻辑设计、封装、冷却。

相同的指令集和组织可以对应不同的硬件实现形成一个产品系列,如PentiumⅡ和Celeron,使Celeron适用于低端产品

计算机体系结构学科应包含上述三方面的内容计算机设计任务指令集设计17Fig1。4,p10Fig1。4,p1018计算机设计技术人员的任务明确具体的功能要求,因为来自市场的功能要求往往是不明确的

明确最主要的任务是什么,最主要的功能往往是使用最频繁的部件,做好了最主要部件的设计对提高性能影响最大。优化设计——根据不同准则来选择最优的设计方案,例如前面介绍过对于个人机、服务器和嵌入式计算机的不同优化目标

计算机设计技术人员的任务明确具体的功能要求,因为来自市场的功194、技术发展趋向

由于计算机技术发展十分快速,一个成功的指令集设计不应该因为技术发展而遭淘汰

计算机体系结构设计师应预见到技术发展的趋向,在设计下一代产品时,预见到产品大规模进入市场时恰好是所用的下一代技术的性价比达到最佳的时候,从而使其设计的产品生命周期得以延长

4、技术发展趋向由于计算机技术发展十分快速,一个成功的指令20影响最大的四种关键技术集成电路技术半导体DRAM磁盘技术网络技术影响最大的四种关键技术集成电路技术21集成电路技术

晶体管密度每年增加35%,即每4年增加4倍集成电路芯片的尺寸每年提高10%-20%综合上述两个参数,芯片的晶体管数每年提高55%集成电路技术晶体管密度每年增加35%,即每4年增加4倍22半导体DRAM(动态随机存取存储器)

芯片密度每年递增40%-60%,即每3-4年增加4倍存取周期缩短相对较慢,每10年缩短1/3DRAM接口改进提高了存取带宽

半导体DRAM(动态随机存取存储器)芯片密度每年递增40%23磁盘技术

近年来磁盘的存储密度以每年100%速度递增,并将继续一段时间(1990年以前每年以30%速度递增)磁盘的存取周期缩短相对较慢,每10年缩短1/3磁盘技术近年来磁盘的存储密度以每年100%速度递增,并将继24网络技术

网络性能与交换机和发射端的性能有关衡量网络的指标有:延迟时间和带宽等,带宽是主要指标近年来带宽提高速度较快如以太网从10Mbps提高到100Mbps花了10年时间,而从100Mbps提高到1Gbps只用了5年

网络技术网络性能与交换机和发射端的性能有关25二、指令级并行性技术

(InstructionLevelParallelism-ILP)

指令级并行性技术是RISC(精减指令集计算机)(——ReducedInstructionsetComputer)的主要贡献

二、指令级并行性技术

(InstructionLevel261、RISC与CISCCISC即复杂指令集计算机(——ComplexInstructionsetComputer)RISC思想在1980年代初提出1980年代末大规模投入实际使用1980年代中期以前的微处理器可统称为CISC体系结构微处理器1、RISC与CISCCISC即复杂指令集计算机(——Com27RISC与CISC的最主要的区别平均执行每条指令的时钟周期数CPI(CyclesperInstruction)的不同RISC的CPI≤1CISC的CPI<1CPI的作用:CPI数越小,CPU速度越快CPI数越大,CPU速度越慢

RISC与CISC的最主要的区别平均执行每条指令的时钟周期数28CPU性能公式

CPUfime=IC×CPI×CCCPUfime——执行一般代码所需的中央处理站(CPU)时间IC——代码的指令条数(InstructionComt),与指令集设计编译器的优化有关CPI——平均执行每条指令的时钟周期数,与指令集设计、体系结构等技术有关CC——时钟周期(ClockCyde)与计算机组成,IC工艺等技术有关

CPU性能公式CPUfime=IC×CPI×C29缩短CPI成为缩短CPUtime的主要技术途径

RISC体系结构追求精减的指令集数据类型、寻址主式精减,指令长度统一,格式统一,提高流水线的效率,实现了每一时钟周期能执行一条指令(CPI=1)RISC体系结构进一步提出指令多发射技术即每一时钟周期可发射多条指令,执行多条指令,进一步实现CPI<1缩短CPI成为缩短CPUtime的主要技术途径RISC体30CISC计算机速度提高较慢的原因传统CISC体系结构计算机的CPI≌5-8原因:以DEC公司的VAX机器为例,指令系统复杂,指令集有304条指令,指令长度:1Byte~64Byte,操作数不足:0-6个,操作数达十几种,寻址方式达几十种;采用微程序控制——导致流水线结构复杂,效率低下,速度提高有困难目前几乎所有微处理器,包括传统著名的CISC微处理器,如Intel系列和Motorola系列微处理器都采用RISC体系结构

CISC计算机速度提高较慢的原因传统CISC体系结构计算机的312.流水线技术

这是理想流水线的性能:达到每一个时钟周期可以完成一条指令与指令串行执行相比较,速度提高5倍

简介:流水线是一种多条指令重叠执行的实现技术2.流水线技术这是理想流水线的性能:达到每一个时钟周期可以32流水线的竞争

实际流水线不可能像上述理想流水线那样完美存在三种流水线竞争结构竞争:由硬件资源不足造成流水线停顿数据竞争:由前后指令之间存在数据相关性造成流水线停顿控制竞争:由转移指令造成流水线停顿

流水线的竞争实际流水线不可能像上述理想流水线那样完美33实际流水线的性能实际流水线的CPI=理想流水线的CPI+结构竞争造成的停顿周期+数据竞争造成的停顿周期+控制竞争造成的停顿周期要提高CPU的性能就是要消除或减少三种竞争造成的停顿周期

实际流水线的性能实际流水线的CPI=理想流水线的CPI34流水线竞争的解决结构竞争可以通过增加硬件资源来解决数据竞争和控制竞争只有通过挖掘代码指令之间的平行性,即通过开发和发现指令之间存在的可并行(重叠)执行的可能性,然后对指令执行顺序进行调度,即用不相关的指令来填补本来应该停顿周期的方法,达到消除或减少停顿周期,提高指令执行速度

流水线竞争的解决结构竞争可以通过增加硬件资源来解决353.指令级并行性(ILP)开发技术

ILP开发技术分两大类:基于硬件的ILP开发技术,又称动态开发ILP技术基于软件的ILP开发技术,又称静态开发ILP技术

3.指令级并行性(ILP)开发技术ILP开发技术分两大类:36用于解决数据竞争的ILP开发技术

静态调度技术动态调度技术采用改名技术的动态调度技术编译分析数据相关性软件流水线路经调度用于解决数据竞争的ILP开发技术静态调度技术37用于解决控制相关性的ILP开发技术

静态转移预测技术动态转移预测技术静脉投机技术动态投机技术循环体展开技术延时转移技术

用于解决控制相关性的ILP开发技术静态转移预测技术38三、指令多发射技术

1.指令多发射技术概述从CPUtime=IC×CPI×CC公式出发,进一步提高CPU性能的途径是令CPI<1

要达到CPI<1的目的,必须做到每个时钟周期发射多条指令,有多个处理部件和足够的硬件资源来并行处理多条指令,达到平均每条指令的处理时间小于1个时钟周期三、指令多发射技术1.指令多发射技术概述39指令多发射处理器有两类:超标量处理器(Superscalarprecessors)超长指令字处理器(VLIW-veryhonginstructionword)根据指令发射机制,即调度、组织可同时发射指令的机制,也可分为两类:动态多发射机制,即由硬件在程序执行过程中调度静态多发射机制,即由编译器在程序编译过程中调度

指令多发射处理器有两类:40计算机体系结构学科发展简介课件412.超标量处理器

超标量处理器流水线操作2.超标量处理器超标量处理器流水线操作42超标量处理器的特点

在一个周期里能发射可变数量的指令,通常为1-8条指令/周期同时发射的指令按规定搭配,不能自由搭配,即有限制:如同时发射的指令必须是独立的,即无数据竞争,以及满足访存次数规定等等。采用静态调度(compiler完成)和/或动态调度(硬件完成)方法确定可同时发射的指令

超标量处理器的特点在一个周期里能发射可变数量的指令,通常为433.超长指令字处理器(VLIW)

VLIW处理器特点一次发射一条超长指令,其中包含多个操作,而不像超标量处理器那样一次发射多条指令在超长指令当中多个操作按规定搭配顺序排列,即指令类型不能任意搭配,操作顺序不能任意颠倒3.超长指令字处理器(VLIW)VLIW处理器特点44VLIW究竟有多长?

以一个拥有多个功能单元的VLIW处理器为例:设7个功能单元可支持:2个整数操作、2个FP操作、2个存储器访问操作和1个转移操作,这样这条含7个操作的VLIW的功能相当于7条指令,为支持每一功能单元正常工作,应分配每一功能单元相应的数据域;一般每个数据域为16~24位这一VLIW长度为:16bits×7=112bits或为:24bits×7=168bits

比较:一个拥有7个功能单元的超标量处理器,一次发射7条指令,总长度为32bits×7=224bits

VLIW究竟有多长?以一个拥有多个功能单元的VLIW处理器45超长指令字的组装由编译器完成,即由编译器作静态调度,选择无相关性指令按搭配顺序填入超长指令字为充分发挥VLIW处理器功能单元的作用,必须要有足够多的可并行执行指令提供给VLIW,编译器必须采用功能更强的全局调度技术

超长指令字的组装由编译器完成,即由编译器作静态调度,选择无相464.多发射处理器的技术难点

程序固有指令级并行性有限是多发射处理器的本质困难,需要的可并行执行的指令数大致等于功能单元数乘以流水线级数。多发射处理器硬件数量多、速度快,且复杂性高,从而成本高。4.多发射处理器的技术难点程序固有指令级并行性有限是多发射47

超标量处理器的特殊困难发射逻辑复杂且高速动态调度硬件极其复杂超长指令字处理器的特殊困难对编译器的要求高VLIW系列机二进制代码兼容困难

超标量处理器的特殊困难48四、Cache技术Cache—一种小容量的高速缓冲存储器Cache在计算机中的位置四、Cache技术Cache—一种小容量的高速缓冲存储器491、为什么要引入Cache?首先看一下CPU芯片速度与内存储器DRAM芯片速度的差别有多大1、为什么要引入Cache?首先看一下CPU芯片速度与内存储50CPU与DRAM速度差意味着什么?

说明单纯地改善CPU的设计,一味追求提高CPU的速度,并不能提高计算机整机的性能,因为高速CPU的性能被低速的存储器访问所抵销。为了提高计算机整机性能,必须消除两者性能差,或者仅可能缩小两者性能差。

CPU与DRAM速度差意味着什么?说明单纯地改善CPU的设51解决办法

在高速CPU与低速Memory之间引入一个小容量的高速缓冲存储器(Cache),Cache速度与CPU速度之差(不足1个数量级)远远小于CPU与DRAM速度差(3个数量级~4个数量级),通过将存储器分级的方法来缓解这一巨大的速度差,提高计算机的性能。

解决办法在高速CPU与低速Memory之间引入一个小容量的522、为什么引入Cache能提高计算机性能?

问:既然用作Cache的SRAM芯片的速度远远高于用作主存储器的DRAM芯片,那么为什么主存储器不用SRAM芯片来实现?答案:

SRAM的价格远高于DRAM,而且主存储器的容量大,采用高速SRAM使成本急剧上升,因此从性能/价格综合考虑只能采用小容量的Cache。

2、为什么引入Cache能提高计算机性能?问:53问:小容量的Cache能否满足程序存取指令和数据的需求?答案:计算机设计定量原理中有一条局部性原理告诉我们:程序总是倾向于重用那些刚刚用过的数据和指令,这是计算机程序非常重要的性质。局部性原理的另一种表述:程序90%的执行时间是花在10%的代码上。局部性原理告诉我们:可以根据程序最近访问的数据和指令来预测程序将要调用的数据和指令,且这一预测正确度是比较高的。所以小容量的Cache能满足程序存取数据和指令的需求

问:小容量的Cache能否满足程序存取指令和数据的需543.Cache技术的发展

采用多级Cache1980年代的微处理器大多没有片上Cache,只有片外Cache2001年的微处理器大多都有2级片上Cache,再加上一级片外Cache增加Cache容量1980年代的片外Cache通常只有几十KB2001年的微处理器三级Cache的容量可达16MB采用各种优化技术来提高Cache性能,包括减少失配造成的代价减少失配率减少命中时间3.Cache技术的发展采用多级Cache55五、多处理器技术单处理器计算机性能是否已接近其极限?然而从1985起到2000,这一段正是单处理器计算机性能突飞猛进的时代单处理器计算机至少在未来5年仍将以目前速度发展五、多处理器技术单处理器计算机性能是否已接近其极限?56多处理器计算机将越来越重要的理由

微处理器已主宰单处理器计算机技术,因此为了提高单处理器计算机性能而将多个微处理器连接起来就成为很自然的选择现在还不清楚使计算机体系结构不断创新的指令级并行技术能否继续无限地发展下去曾经是并行机发展障碍的软件有了新的发展和进展,主要是在服务器和嵌入式系统方面为多处理器计算机发展带来曙光

多处理器计算机将越来越重要的理由微处理器已主宰单处理器计算571.并行计算机体系结构分类

Flynn在1966年提出的计算机分类方法,即按指令流和数据流进行计算机分类的方法仍适用至今

单指令流,单数据流(SISD)—单处理器计算机单指令流,多数据流(SIMD)—矢量计算机多指令流,单数据流(MISD)—市场上无此类计算机多指令流,多数据流(MIMD)—通用多处理器并行计算机,是广泛应用的多处理器并行计算机体系结构

1.并行计算机体系结构分类Flynn在1966年提出的计算58MIMD多处理器计算机分类可按处理器数目,存储器组织以及互连网络的策略来分类

按存储器组织进行分类的两种多处理器计算机:集中共享存储器体系结构

分布式存储器体系结构

MIMD多处理器计算机分类可按处理器数目,存储器组织以及互连592.集中共享存储器型多处理器计算机基本结构

2.集中共享存储器型多处理器计算机基本结构60此类计算机适用于处理器数目相对较少的场合,对于只有几个、十几个处理器,有可能共享一个主存储器,以及采用总线实现处理器和主存的互连对于含有二、三十个处理器的机器需用多总线,甚至用交换器才能满足存储器带宽的要求

此类计算机适用于处理器数目相对较少的场合,对于只有几个、十几61集中共享存储器型多处理器计算机只有一个主存储器,对所有处理器都是对称的,访问存储器的时间都是均等的,所以这种体系结构又称为对称(共享存储器)处理器(SMP)集中共享存储器型多处理器是目前最成功的多处理器计算机集中共享存储器型多处理器计算机只有一个主存储器,对所有处理器623.分布式存储器型多处理器计算机

基本结构

3.分布式存储器型多处理器计算机基本结构63此类计算机适用于处理器相对较多的场合,可以是上百个、上千个、甚至数千个之多。此类计算机要求互连网络的带宽较高,通常采用交换机或多维网格实现处理器之间的直接互连。分布式存储器型体系结构的最大缺点是处理器之间的数据通信变得非常复杂(一致性问题),并且延时较长。

此类计算机适用于处理器相对较多的场合,可以是上百个、上千个、644.并行处理的难点

程序固有并行性不足,导致并行计算机很难达到理想的加速比

处理器之间通信代价高(即延时长),同样将导致加速比下降

4.并行处理的难点程序固有并行性不足,导致并行计算机很难达65六、我国计算机体系结构研究进展

过去重视多处理器并行计算机,即高性能计算机的研制,如银河系列超级计算机,以及不对外公布的军用超级计算机,曙光4000服务器运行速度已达千亿次/秒前不久对外宣布的“龙芯”研制成功的消息表明我国有能力研制高性能微处理器。龙芯相当于Intel1997推出的PentiumⅡ

六、我国计算机体系结构研究进展过去重视多处理器并行计算机,66谢谢谢谢67演讲完毕,谢谢观看!演讲完毕,谢谢观看!68计算机体系结构学科发展简介石教英浙江大学计算机学院计算机系统研究所2002年11月计算机体系结构学科发展简介石教英69目录一、计算机体系结构学科发展回顾1.计算机性能高速发展及其原因2.计算机的分类3.计算机设计的任务4.技术发展趋向二、指令级并行性开发技术1.RISC与CISC2.流水线技术3.指令级并行性技术三、指令多发射技术1.指令多发射技术概述2.超标量处理器3.超长指令字处理器4.多发射处理器的技术难点目录一、计算机体系结构学科发展回顾70四、Cache技术1.为什么要引入Cache2.为什么引入Cache能提高计算机性能?3.Cache技术的发展五、多处理器技术

1.

并行计算机体系结构分类2.

集中共享存储器型多处理计算机3.

分布式存储器型多处理器计算机4.

并行处理的难点六、我国计算机体系结构研究进展

四、Cache技术71一、计算机体系结构学科发展回顾ComputerArchitecture定义应用机器语言的程序员为了能正确编写时序无关的程序所必须了解的计算机的结构。简单讲:计算机体系结构是一门设计计算机的学科,包括计算机的指令系统设计,结构设计,实现技术,以及与系统软件操作系统和编译器相关的技术。一、计算机体系结构学科发展回顾ComputerArchit721、计算机性能高速发展及其原因1946年第一台通用电子计算机ENIAS诞生至今仅56年——每秒5000次运算加法计算机技术以惊人速度发展,并将继续高速发展1980年百万美元机器的性能比不上今年<1千美元的机器今天最高性能的微处理器超过10年前的超级计算机如用于高端网络交换机和最新电子游戏机的微处理器速度可达每秒10亿次运算1、计算机性能高速发展及其原因1946年第一台通用电子计算机73计算机性能高速发展原因1.构建计算机的各种技术进步2.计算机本身的创新设计技术的发展技术进步—以稳定速度发展,主要指IC技术创新设计—发展速度不稳定,有时快有时慢计算机性能高速发展原因1.构建计算机的各种技术进步74各年代的性能提高速率

年代性能的年提高率原因1970年代初25%-30%

1970年代末35%微处理器芯片广泛应用1980年代末58%RISC体系结构、Cache等创新设计技术各年代的性能提高速率

年代性能的年提高率原因1970年代初275截止2001年微处理器性能增长率截止2001年微处理器性能增长率76RISC、Cache技术发展阶段RISC体系结构发展又可分为两个阶段早期集中发展指令级并行技术后期集中发展多指令发射技术Cache技术发展同样经历两个阶段早期集中发展Cache的原理性应用

后期集中发展新的Cache组织和各种Cache性能优化技术

RISC、Cache技术发展阶段RISC体系结构发展又可分77计算机创新设计对每年58%性能提高率的贡献——超过技术进步贡献达15倍之多说明:计算机体系结构学科的重要性!!

计算机创新设计对每年58%性能提高率的贡献78计算机性能高速提高带来的影响用户拥有越来越高的性能和功能,今天最高性能的微处理器已经超出10年前超级计算机的性能。

基于微处理器的计算机成为计算机设计的主流现状:PC机、工作站成为主流产品

小型机被采用微处理器的服务器所代替

大型机被采用数十个至上百个微处理器构成的多处理器计算机所代替超级计算机正在被成千上万个微处理器构成的多处理器计算机所代替计算机性能高速提高带来的影响用户拥有越来越高的性能和功能,今79体系结构发展的核心-定量方法近年来计算机体系结构发展的核心,也是计算机创新设计技术的核心归功于——定量方法。用定量方法进行计算机设计用定量方法作为工具分析程序实际运行结果、各类实验和仿真用定量方法寻找计算机体系结构的新思路、新技术,保证计算机性能继续按现在速率提高体系结构发展的核心-定量方法近年来计算机体系结构发展的核心,802、计算机的分类

传统的计算机分类:大型机、小型机、巨型机(成熟超级计算机)

按机器规模指令(字长,内外存储器容量,速度等指标),价格等指标进行分类(PC)机、工作站,服务器

1980年代产生了新的机型:个人(PC)机、工作站、服务器主要按用途来分类

1990年代产生了嵌入式系统:高性能家电、机顶盒、电子游戏机、手机、网络路由器、交换机等这里微处理器成为设备的一个组件,如马达所起的作用,主要不是作计算用2、计算机的分类传统的计算机分类:81计算机的新分类

台式机服务器嵌入式计算机它们分别面向不同应用,具有不同要求,采用不同技术

计算机的新分类82台式机、服务器、嵌入式系统特征对比台式机、服务器、嵌入式系统特征对比833、计算机设计的任务

计算机设计目标:应满足市场对功能的要求,同时也应满足成本,功耗和性能的目标

3、计算机设计的任务计算机设计目标:84计算机设计任务指令集设计——这是传统计算机体系结构的任务,即程序员面对的(看得见的)指令系统的设计计算机组织设计——存储器设计,CPU设计,I/O总线结构设计等高层内容,同一个指令集可以对应不同组织设计硬件设计——芯片的逻辑设计、封装、冷却。

相同的指令集和组织可以对应不同的硬件实现形成一个产品系列,如PentiumⅡ和Celeron,使Celeron适用于低端产品

计算机体系结构学科应包含上述三方面的内容计算机设计任务指令集设计85Fig1。4,p10Fig1。4,p1086计算机设计技术人员的任务明确具体的功能要求,因为来自市场的功能要求往往是不明确的

明确最主要的任务是什么,最主要的功能往往是使用最频繁的部件,做好了最主要部件的设计对提高性能影响最大。优化设计——根据不同准则来选择最优的设计方案,例如前面介绍过对于个人机、服务器和嵌入式计算机的不同优化目标

计算机设计技术人员的任务明确具体的功能要求,因为来自市场的功874、技术发展趋向

由于计算机技术发展十分快速,一个成功的指令集设计不应该因为技术发展而遭淘汰

计算机体系结构设计师应预见到技术发展的趋向,在设计下一代产品时,预见到产品大规模进入市场时恰好是所用的下一代技术的性价比达到最佳的时候,从而使其设计的产品生命周期得以延长

4、技术发展趋向由于计算机技术发展十分快速,一个成功的指令88影响最大的四种关键技术集成电路技术半导体DRAM磁盘技术网络技术影响最大的四种关键技术集成电路技术89集成电路技术

晶体管密度每年增加35%,即每4年增加4倍集成电路芯片的尺寸每年提高10%-20%综合上述两个参数,芯片的晶体管数每年提高55%集成电路技术晶体管密度每年增加35%,即每4年增加4倍90半导体DRAM(动态随机存取存储器)

芯片密度每年递增40%-60%,即每3-4年增加4倍存取周期缩短相对较慢,每10年缩短1/3DRAM接口改进提高了存取带宽

半导体DRAM(动态随机存取存储器)芯片密度每年递增40%91磁盘技术

近年来磁盘的存储密度以每年100%速度递增,并将继续一段时间(1990年以前每年以30%速度递增)磁盘的存取周期缩短相对较慢,每10年缩短1/3磁盘技术近年来磁盘的存储密度以每年100%速度递增,并将继92网络技术

网络性能与交换机和发射端的性能有关衡量网络的指标有:延迟时间和带宽等,带宽是主要指标近年来带宽提高速度较快如以太网从10Mbps提高到100Mbps花了10年时间,而从100Mbps提高到1Gbps只用了5年

网络技术网络性能与交换机和发射端的性能有关93二、指令级并行性技术

(InstructionLevelParallelism-ILP)

指令级并行性技术是RISC(精减指令集计算机)(——ReducedInstructionsetComputer)的主要贡献

二、指令级并行性技术

(InstructionLevel941、RISC与CISCCISC即复杂指令集计算机(——ComplexInstructionsetComputer)RISC思想在1980年代初提出1980年代末大规模投入实际使用1980年代中期以前的微处理器可统称为CISC体系结构微处理器1、RISC与CISCCISC即复杂指令集计算机(——Com95RISC与CISC的最主要的区别平均执行每条指令的时钟周期数CPI(CyclesperInstruction)的不同RISC的CPI≤1CISC的CPI<1CPI的作用:CPI数越小,CPU速度越快CPI数越大,CPU速度越慢

RISC与CISC的最主要的区别平均执行每条指令的时钟周期数96CPU性能公式

CPUfime=IC×CPI×CCCPUfime——执行一般代码所需的中央处理站(CPU)时间IC——代码的指令条数(InstructionComt),与指令集设计编译器的优化有关CPI——平均执行每条指令的时钟周期数,与指令集设计、体系结构等技术有关CC——时钟周期(ClockCyde)与计算机组成,IC工艺等技术有关

CPU性能公式CPUfime=IC×CPI×C97缩短CPI成为缩短CPUtime的主要技术途径

RISC体系结构追求精减的指令集数据类型、寻址主式精减,指令长度统一,格式统一,提高流水线的效率,实现了每一时钟周期能执行一条指令(CPI=1)RISC体系结构进一步提出指令多发射技术即每一时钟周期可发射多条指令,执行多条指令,进一步实现CPI<1缩短CPI成为缩短CPUtime的主要技术途径RISC体98CISC计算机速度提高较慢的原因传统CISC体系结构计算机的CPI≌5-8原因:以DEC公司的VAX机器为例,指令系统复杂,指令集有304条指令,指令长度:1Byte~64Byte,操作数不足:0-6个,操作数达十几种,寻址方式达几十种;采用微程序控制——导致流水线结构复杂,效率低下,速度提高有困难目前几乎所有微处理器,包括传统著名的CISC微处理器,如Intel系列和Motorola系列微处理器都采用RISC体系结构

CISC计算机速度提高较慢的原因传统CISC体系结构计算机的992.流水线技术

这是理想流水线的性能:达到每一个时钟周期可以完成一条指令与指令串行执行相比较,速度提高5倍

简介:流水线是一种多条指令重叠执行的实现技术2.流水线技术这是理想流水线的性能:达到每一个时钟周期可以100流水线的竞争

实际流水线不可能像上述理想流水线那样完美存在三种流水线竞争结构竞争:由硬件资源不足造成流水线停顿数据竞争:由前后指令之间存在数据相关性造成流水线停顿控制竞争:由转移指令造成流水线停顿

流水线的竞争实际流水线不可能像上述理想流水线那样完美101实际流水线的性能实际流水线的CPI=理想流水线的CPI+结构竞争造成的停顿周期+数据竞争造成的停顿周期+控制竞争造成的停顿周期要提高CPU的性能就是要消除或减少三种竞争造成的停顿周期

实际流水线的性能实际流水线的CPI=理想流水线的CPI102流水线竞争的解决结构竞争可以通过增加硬件资源来解决数据竞争和控制竞争只有通过挖掘代码指令之间的平行性,即通过开发和发现指令之间存在的可并行(重叠)执行的可能性,然后对指令执行顺序进行调度,即用不相关的指令来填补本来应该停顿周期的方法,达到消除或减少停顿周期,提高指令执行速度

流水线竞争的解决结构竞争可以通过增加硬件资源来解决1033.指令级并行性(ILP)开发技术

ILP开发技术分两大类:基于硬件的ILP开发技术,又称动态开发ILP技术基于软件的ILP开发技术,又称静态开发ILP技术

3.指令级并行性(ILP)开发技术ILP开发技术分两大类:104用于解决数据竞争的ILP开发技术

静态调度技术动态调度技术采用改名技术的动态调度技术编译分析数据相关性软件流水线路经调度用于解决数据竞争的ILP开发技术静态调度技术105用于解决控制相关性的ILP开发技术

静态转移预测技术动态转移预测技术静脉投机技术动态投机技术循环体展开技术延时转移技术

用于解决控制相关性的ILP开发技术静态转移预测技术106三、指令多发射技术

1.指令多发射技术概述从CPUtime=IC×CPI×CC公式出发,进一步提高CPU性能的途径是令CPI<1

要达到CPI<1的目的,必须做到每个时钟周期发射多条指令,有多个处理部件和足够的硬件资源来并行处理多条指令,达到平均每条指令的处理时间小于1个时钟周期三、指令多发射技术1.指令多发射技术概述107指令多发射处理器有两类:超标量处理器(Superscalarprecessors)超长指令字处理器(VLIW-veryhonginstructionword)根据指令发射机制,即调度、组织可同时发射指令的机制,也可分为两类:动态多发射机制,即由硬件在程序执行过程中调度静态多发射机制,即由编译器在程序编译过程中调度

指令多发射处理器有两类:108计算机体系结构学科发展简介课件1092.超标量处理器

超标量处理器流水线操作2.超标量处理器超标量处理器流水线操作110超标量处理器的特点

在一个周期里能发射可变数量的指令,通常为1-8条指令/周期同时发射的指令按规定搭配,不能自由搭配,即有限制:如同时发射的指令必须是独立的,即无数据竞争,以及满足访存次数规定等等。采用静态调度(compiler完成)和/或动态调度(硬件完成)方法确定可同时发射的指令

超标量处理器的特点在一个周期里能发射可变数量的指令,通常为1113.超长指令字处理器(VLIW)

VLIW处理器特点一次发射一条超长指令,其中包含多个操作,而不像超标量处理器那样一次发射多条指令在超长指令当中多个操作按规定搭配顺序排列,即指令类型不能任意搭配,操作顺序不能任意颠倒3.超长指令字处理器(VLIW)VLIW处理器特点112VLIW究竟有多长?

以一个拥有多个功能单元的VLIW处理器为例:设7个功能单元可支持:2个整数操作、2个FP操作、2个存储器访问操作和1个转移操作,这样这条含7个操作的VLIW的功能相当于7条指令,为支持每一功能单元正常工作,应分配每一功能单元相应的数据域;一般每个数据域为16~24位这一VLIW长度为:16bits×7=112bits或为:24bits×7=168bits

比较:一个拥有7个功能单元的超标量处理器,一次发射7条指令,总长度为32bits×7=224bits

VLIW究竟有多长?以一个拥有多个功能单元的VLIW处理器113超长指令字的组装由编译器完成,即由编译器作静态调度,选择无相关性指令按搭配顺序填入超长指令字为充分发挥VLIW处理器功能单元的作用,必须要有足够多的可并行执行指令提供给VLIW,编译器必须采用功能更强的全局调度技术

超长指令字的组装由编译器完成,即由编译器作静态调度,选择无相1144.多发射处理器的技术难点

程序固有指令级并行性有限是多发射处理器的本质困难,需要的可并行执行的指令数大致等于功能单元数乘以流水线级数。多发射处理器硬件数量多、速度快,且复杂性高,从而成本高。4.多发射处理器的技术难点程序固有指令级并行性有限是多发射115

超标量处理器的特殊困难发射逻辑复杂且高速动态调度硬件极其复杂超长指令字处理器的特殊困难对编译器的要求高VLIW系列机二进制代码兼容困难

超标量处理器的特殊困难116四、Cache技术Cache—一种小容量的高速缓冲存储器Cache在计算机中的位置四、Cache技术Cache—一种小容量的高速缓冲存储器1171、为什么要引入Cache?首先看一下CPU芯片速度与内存储器DRAM芯片速度的差别有多大1、为什么要引入Cache?首先看一下CPU芯片速度与内存储118CPU与DRAM速度差意味着什么?

说明单纯地改善CPU的设计,一味追求提高CPU的速度,并不能提高计算机整机的性能,因为高速CPU的性能被低速的存储器访问所抵销。为了提高计算机整机性能,必须消除两者性能差,或者仅可能缩小两者性能差。

CPU与DRAM速度差意味着什么?说明单纯地改善CPU的设119解决办法

在高速CPU与低速Memory之间引入一个小容量的高速缓冲存储器(Cache),Cache速度与CPU速度之差(不足1个数量级)远远小于CPU与DRAM速度差(3个数量级~4个数量级),通过将存储器分级的方法来缓解这一巨大的速度差,提高计算机的性能。

解决办法在高速CPU与低速Memory之间引入一个小容量的1202、为什么引入Cache能提高计算机性能?

问:既然用作Cache的SRAM芯片的速度远远高于用作主存储器的DRAM芯片,那么为什么主存储器不用SRAM芯片来实现?答案:

SRAM的价格远高于DRAM,而且主存储器的容量大,采用高速SRAM使成本急剧上升,因此从性能/价格综合考虑只能采用小容量的Cache。

2、为什么引入Cache能提高计算机性能?问:121问:小容量的Cache能否满足程序存取指令和数据的需求?答案:计算机设计定量原理中有一条局部性原理告诉我们:程序总是倾向于重用那些刚刚用过的数据和指令,这是计算机程序非常重要的性质。局部性原理的另一种表述:程序90

温馨提示

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

评论

0/150

提交评论