好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

5.5CPU新技术(上)-吴学涯.pptx

36页
  • 卖家[上传人]:油条
  • 文档编号:2629965
  • 上传时间:2017-07-26
  • 文档格式:PPTX
  • 文档大小:350.97KB
  • / 36 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 5.5 CPU新技术(上),5.5.1 SIMD技术5.5.2 RISC技术5.5.3 超线程/多核技术,5.5.1 SIMD技术,单指令流多数据流(SIMD)是一种实现数据级并行的技术典型代表是向量处理器(Vector Processor)和阵列处理器(Array Processor)SIMD技术最初主要应用在大规模的超级计算机中近些年来,小规模SIMD技术也在个人计算机上广泛应用SIMD技术的关键是在1条单独的指令中同时执行多个运算操作,以增加处理器的吞吐量为此,SIMD结构的CPU有多个执行部件,但都在同一个指令部件的控制之下,为了解SIMD在性能上的优势,我们以加法指令为例说明单指令流单数据流(SISD)型CPU对指令译码后,执行部件先访问主存,取得第一个操作数之后再一次访问主存,取得第二个操作数随后才能进行求和运算SIMD型CPU对指令译码后,几个执行部件同时访问主存,一次性获得所有操作数进行运算SIMD技术这一特点特别适合多媒体应用等数据密集型运算,1.MMX技术,MMX(Multi-Media Extension,多媒体扩展)是Intel设计的一种SIMD多媒体指令集作为一种多媒体扩展技术,MMX大大提高了计算机在多媒体和通信应用方面的能力带有MMX技术的CPU适合于数据量很大的图形、图像数据处理大大提高三维图形、动画、视频、音乐合成、语音识别、虚拟现实等数据处理的速度,,MMX技术的优点增加多媒体处理能力,可以一次处理多个数据缺点仅仅只能处理整型数由于占用浮点数寄存器进行运算,以至于MMX指令集与x87浮点运算指令不能够同时执行,必须做密集的切换才可以正常执行,造成整个系统运行质量下降,2.SSE技术,1999年,Intel在其Pentium III微处理器中集成了SSE(Streaming SIMD Extensions)技术,有效增强了CPU浮点运算的能力兼容MMX指令可以通过SIMD和单时钟周期并行处理多个浮点数据来有效提高浮点运算速度对图像处理、浮点运算、3D运算、视频处理、音频处理等多媒体应用起到全面强化作用,,SSE在MMX基础上增加了8个128位浮点寄存器(不与其他寄存器复用)和70条浮点数运算的SIMD指令具有SSE指令集支持的处理器有8个128位的寄存器,每一个寄存器可以存放4个单精度(32位)浮点数SSE提供了一个指令集,允许把浮点数加载到这些128位寄存器中进行算术逻辑运算,然后把结果送回主存SSE中的所有计算都可以针对4个浮点数一次性完成这种批处理带来了效率的提升,计算一个很长的浮点型数组中每一个元素的平方根for each f in array {把f从主存加载到浮点寄存器计算平方根再把计算结果从寄存器中取出写入主存 }在采用SSE技术后,算法可改写为:for each 4 members in array { //对数组中每4个元素 把数组中这4个数加载到一个128位SSE寄存器中在一个指令执行周期中完成计算4个数平方根的操作把所得的4个结果取出写入主存 },3.SSE2技术,2001年,Intel配合其Pentium 4微处理器,推出了SSE2(Streaming SIMD Extensions 2)指令集扩展了SSE指令集可完全取代MMX相比于SSE,SSE2指令集使用了144个新增指令扩展了MMX技术和SSE技术提高了MPEG-2、MP3、3D图形等应用程序的运行性能,在整数处理方面,随MMX技术引进的SIMD整数指令从64位扩展到了128位,使SIMD整数类型操作的执行效率成倍提高在浮点数处理方面,双精度浮点SIMD指令允许以SIMD格式同时执行两个浮点操作除SSE2指令之外,最初的SSE指令也得到增强支持多种数据类型(例如双字、四字)的算术运算支持灵活、动态范围更广的计算功能,4.SSE3技术,2004年,Intel在其基于Prescott核心的新款Pentium 4处理器中,开始使用SSE3(Streaming SIMD Extensions 3)技术相比于SSE2,SSE3指令集增加了13条SIMD指令,以提升Intel超线程(Hyper-Threading)技术的效能,达到提升多媒体和游戏性能的目的,5.5.2 RISC技术,按照指令系统分类,计算机大致可分为两类:复杂指令系统计算机(Complex Instruction Set Computer,CISC)是CPU的传统设计模式指令系统特点是指令数目多而复杂,每条指令的长度不尽相等精简指令系统计算机(Reduced Instruction Set Computer,RISC)是CPU的一种新型设计模式指令系统特点是指令条数少且简单,指令长度固定,1.CISC的产生和发展,计算机的指令系统最初只有很少一些基本指令,而其他的复杂指令全靠软件编译时通过简单指令的组合来实现后来,越来越多的复杂指令被加入到了指令系统中,可用硬件实现复杂的运算但是,一个新的问题很快就产生了:一个指令系统的指令条数受到指令操作码位数的限制如果操作码为8位,那么指令条数最多为256条(28)而指令的宽度是很难增加的,设计师们想出了一种解决方案——操作码扩展在指令格式中,操作码后面跟的是地址码有些指令用不着地址码或只用少量位数的地址码可把操作码扩展到地址码的位置,使操作码位数增加如果一个指令系统的操作码为2位,那么可以有00、01、10、11四条不同的指令现在把11作为保留,把操作码扩展到4位,那么就可以有00、01、10、1100、1101、1110、1111七条指令其中1100、1101、1110、1111这四条指令的地址码部分必须减少两位,为了达到减少地址码这一操作码扩展的先决条件,设计师们又发明了各种各样的寻址方式最大限度地压缩地址码长度,为操作码留出空间于是,CISC指令系统逐渐形成CISC的特点,也是CISC的缺点大量的复杂指令、可变的指令长度、多种寻址方式大大增加了译码的难度在高速硬件迅猛发展的今天,复杂指令所带来的速度提升早已不及在译码上所浪费的时间了,2.RISC的产生,1975年,IBM设计师John Cocke研究了当时的IBM 370 CISC系统,发现:占总指令数20%的简单指令,在程序调用中占据了80%占指令数80%的复杂指令,只有20%的机会被调用到由此,他提出了RISC的概念第一台RISC计算机1981年在美国加州大学伯克利分校问世1980年代末开始,RISC CPU出现,占据了大量市场到1990年代,x86的CPU(如Pentium)也开始使用先进的RISC技术,3.RISC的特点,RISC的主要特点指令长度固定指令格式和寻址方式种类少大多数是简单指令且都能在一个时钟周期内完成,易于设计超标量与流水线寄存器数量多,大量操作在寄存器之间进行,,RISC体系结构的基本思想通过减少指令种类、规范指令格式、简化寻址方式,方便处理器内部的并行处理,提高VLSI器件的使用效率,从而大幅度地提高处理器的性能RISC的目标不是简单的缩减指令系统,而是使处理器的结构更简单,更合理,具有更高的性能和执行效率,同时降低处理器的开发成本,,由于RISC指令系统仅包含最常用的简单指令因此,RISC技术可以通过硬件优化设计,把时钟频率提得很高,从而实现整个系统的高性能同时,RISC技术在CPU芯片上设置大量寄存器把常用数据保存在寄存器中,大大减少对存储器的访问用高速的寄存器访问取代低速的存储器访问,从而提高系统整体性能,RISC三要素:⑴一个有限的简单的指令集;⑵CPU配备大量的通用寄存器;⑶强调对指令流水线的优化RISC的典型特征⑴指令种类少,指令格式规范⑵寻址方式简化⑶大量利用寄存器间操作⑷简化处理器结构⑸便于使用VLSI技术⑹加强处理器的并行能力⑺RlSC技术的复杂性在于它的优化编译程序,⑴指令种类少,指令格式规范,RISC指令集通常只使用一种或少数几种格式,指令长度单一(一般4个字节),并且在字边界上对齐,字段位置(特别是操作码的位置)固定,⑵寻址方式简化,几乎所有指令都使用寄存器寻址方式绝不出现存储器间接寻址方式寻址方式总数一般不超过5个其他更为复杂的寻址方式,如间接寻址等,则由软件利用简单的寻址方式来合成,⑶大量利用寄存器间操作,RISC强调通用寄存器资源的优化使用指令集中大多数操作都是寄存器到寄存器的操作只有取数指令、存数指令访问存储器指令中最多出现RS型指令,绝不出现SS型指令每条指令中访问的主存地址不会超过1个,访问主存的操作不会与算术操作混在一起,⑷简化处理器结构,使用RISC指令集,可以大大简化处理器中的控制器和其他功能单元的设计不必使用大量专用寄存器特别是允许以硬连线方式来实现指令操作,以期更快的执行速度不必像CISC处理器那样使用微程序来实现指令操作,⑸便于使用VLSI技术,随着LSI和VLSI技术的发展,整个处理器(甚至多个处理器)都可以放在一片芯片上RISC体系结构为单芯片处理器的设计带来很多好处,有利于提高性能,简化VLSI芯片的设计和实现基于VLSI技术,制造RISC处理器的工作量要比CISC处理器小得多,成本也低得多,⑹加强处理器的并行能力,RISC指令集非常适合于采用流水线、超流水线和超标量技术,从而实现指令级并行操作,提高处理器的性能目前常用的处理器的内部并行操作技术,基本上都是基于RISC体系结构而逐步发展和走向成熟的,⑺RlSC技术的复杂性在于它的优化编译程序,因此软件系统开发时间比CISC机器要长,4.RISC与CISC的主要特征对比,5.5.3 超线程/多核技术,1.超线程技术2.多核技术,1.超线程技术,每个单位时间内,CPU只能处理一个线程(Thread)除非有两个核心处理单元,否则要想在单位时间内处理超过一个的线程是不可能的超线程HT(Hyper-Threading)技术是在单个核心处理单元中集成两个逻辑处理单元一个实体内核(共享的运算单元),两个逻辑内核(有各自独立的处理器状态)从而可以在单位时间内处理两个分别进行整数和浮点运算的线程,模拟双内核运作,线程是程序执行的基本原子单位一个进程可以由多个线程组成在分布式程序设计中正确使用线程,能够很好地提高应用程序的性能及运行效率其实现原理是将一个进程分成多个线程,然后让它们并发异步执行,从而提高运行效率“并发执行”在单核情形下并不是各线程同时执行(占有CPU),在任意时刻还是只能有一个线程占用CPU它们彼此轮换使用CPU,感觉上似乎都在运行,设一个进程要完成两个任务:任务1和任务2,并且任务1要经历A1B1C1三个步骤才能完成,任务2要经历A2B2C2三个步骤才能完成①如果两个任务同步执行的话,完成两个任务是这样执行的:从A1到C2只能一个一个地执行当A1执行时,CPU被占用,B1到C2的线程只能等待甚至当它们彼此之间并不竞争同一个资源时,也要等待前面的线程执行完毕后才能执行,②如果两个任务异步执行的话,完成两个任务是这样执行的:任务1和任务2分成两个独立的执行对象A1B1C1和A2B2C2是并发执行的当A1执行某个运算时,A2可去做其他事情(如访问外设)完成所有任务,方式①需要6个时间段,方式②需要3个时间段方式②完成整个任务要快于方式①,2.多核技术,多核(Multi-Core)在一片处理器中包含两个或两个以上的独立的内核可以在单位时间内同时处理多个线程,,,多核技术的开发源于这样的认识:在单核芯片中,仅仅提高芯片的速度会产生过多的热量,且无法带来所预期的性能改善多核处理器是单片芯片,能直接插入单一的处理器插槽中操作系统会利用所有相关资源,将它的每个执行内核作为分立的逻辑处理器使用通过在两个执行内核之间划分任务,多核处理器可以在特定的时钟周期内执行更多的任务,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.