计算吞吐量增加促进32位处理器设计
发布时间:2008/5/27 0:00:00 访问次数:502
atmel公司新近开发了一款名为avr32的高性能32位risc处理器内核,该内核从设计初始就选用了一种指令架构来增加每周期的计算吞吐量。
atmel公司设计avr32的目的,就是提供一种处理器,能够以极低功耗(便携式消费类多媒体设备的必要条件)有效完成日益增加的信号处理任务。此外,该内核还能够执行mpu和dsp双重功能,而仅需单一的设计流程和一套开发工具。
avr32由atmel公司在挪威的一个20人工程团队所开发。该团队声称,在执行‘差分绝对值之和(sad)’和‘反离散余弦变换(idct)’等目标算法时,avr32每个指令周期的计算吞吐量较arm11内核提高了35%。这相当于在100mhz的时钟频率下,具备以30帧/秒的速度对qvga mpeg-4视频解码的能力,如果用arm11实现的话则需要150到175 mhz的时钟频率。
根据atmel的说法,avr32架构代表了一个“众多优秀设计理念的集合”。这个集合包括一个独特的带有硬件分支预测的管线架构、专用dsp硬件(位于微处理器管线内部)以及单指令多数据(simd)扩展。
“人们通常通过提高时钟频率并加入更多的门电路来提高微处理器的性能,但是这样的竞赛已经结束。”atmel挪威公司avr业务部的执行总监alf-egil bogen说。反之,竞争的新重点是在提高单时钟周期吞吐量的同时,如何使所消耗的功率达到超低。
“我们采取了一种非常学术的做法,通过关注微处理器架构的每一个细节,来达到更高的吞吐量和优化的代码密度。”atmel挪威公司的芯片设计师oyvind strom介绍。
然而,对atmel公司而言,现在进入32位risc处理器市场可能有些为时过晚,因为该市场已经被arm 和美普思科技(mips technologies)等公司所主导。事实上,这些公司的许多处理器产品,也同avr32一样,正在向“以dsp为导向的特性”转移,berkeley设计技术公司的总裁jeff bier指出。
但是atmel的工程师却没有为此感到忧虑,他们提到了avr8的成功,它也是挪威团队开发的成果。avr8在1990年末期进入市场,迄今为止仍是市场中增长幅度最快的8位mcu之一。“我们希望借助avr32稍稍撼动一下这个行业。”bogen说。
那么,avr32与其它的risc处理器相比有何不同呢?
“从高级层面来说,avr32架构与arm11和mips24kec架构极为类似。”berkeley设计公司的bier评论道,“avr32使用的大部分技术,似乎都可以从面向信号和多媒体处理应用的微处理器中找到。”
32位内核avr32拥有多条管线
avr32架构的重要特性包括一个单独的负载/存储管线、带有分支消除(branch folding)的分支预测、simd技术(例如借助单指令完成两个16位操作的能力)、一个16/32位指令集(自由混合,无需模式改变),以及执行sad算法的能力(加速视频压缩)。
“上述特性没有一个是avr32所独有的。”bier指出,“但是进一步观察avr32架构的细节就会发现,其中诸多单元与arm11和mips24kec有着天壤之别,这些不同为avr32带来了一些优势。”
例如,因为其管线的工作方式,arm11和mips24kec存在与某些重要指令相关的多周期延迟。“这为编译者或汇编程序师获得最高性能带来了挑战。”bier说,“但是这个问题的难度对avr32来说小得多。”
更具体地来说,atmel在其avr32多管线架构中支持“无序”执行,strom说。
通常,一条复杂的指令需要多个时钟周期,而且管线在该指令完成之后就处于停顿状态。但是avr32拥有三条管线,即负载/存储、乘法和算术逻辑单元,它们依据无序的不相关数据执行算术操作。例如,avr32不是在除法完成之后才中止代码,而是让指令由可用的资源来执行。
“avr32另一个意义重大的地方在于可以自由混合16位和32位指令。”bier指出。这点之所以重要是因为并非所有的东西都以32位数据格式出现。如果没有这种混合能力,从一个字中挑选合适的字节就会困难得多。
“在其它一些内核,如arm1136中,你不得不执行一条模式变化指令才能实现16和32位指令集之间的切换。”bier说,“这个差别意味着avr32可以获得更紧凑的代码密度。”
确实,优化的代码密度十分重要。如果需要执行的程序能够减少,那么需要的时钟周期也会减少。此外,高代码密度意味着该代码在高速缓存器中占据较少的空间,这样高速缓存器中就可以存储更多的指令。“这样不仅可以减少高速缓存器丢失数据的可能,还有利于降低成本。”atmel公司的bogen补充道,“因为必需的程
atmel公司新近开发了一款名为avr32的高性能32位risc处理器内核,该内核从设计初始就选用了一种指令架构来增加每周期的计算吞吐量。
atmel公司设计avr32的目的,就是提供一种处理器,能够以极低功耗(便携式消费类多媒体设备的必要条件)有效完成日益增加的信号处理任务。此外,该内核还能够执行mpu和dsp双重功能,而仅需单一的设计流程和一套开发工具。
avr32由atmel公司在挪威的一个20人工程团队所开发。该团队声称,在执行‘差分绝对值之和(sad)’和‘反离散余弦变换(idct)’等目标算法时,avr32每个指令周期的计算吞吐量较arm11内核提高了35%。这相当于在100mhz的时钟频率下,具备以30帧/秒的速度对qvga mpeg-4视频解码的能力,如果用arm11实现的话则需要150到175 mhz的时钟频率。
根据atmel的说法,avr32架构代表了一个“众多优秀设计理念的集合”。这个集合包括一个独特的带有硬件分支预测的管线架构、专用dsp硬件(位于微处理器管线内部)以及单指令多数据(simd)扩展。
“人们通常通过提高时钟频率并加入更多的门电路来提高微处理器的性能,但是这样的竞赛已经结束。”atmel挪威公司avr业务部的执行总监alf-egil bogen说。反之,竞争的新重点是在提高单时钟周期吞吐量的同时,如何使所消耗的功率达到超低。
“我们采取了一种非常学术的做法,通过关注微处理器架构的每一个细节,来达到更高的吞吐量和优化的代码密度。”atmel挪威公司的芯片设计师oyvind strom介绍。
然而,对atmel公司而言,现在进入32位risc处理器市场可能有些为时过晚,因为该市场已经被arm 和美普思科技(mips technologies)等公司所主导。事实上,这些公司的许多处理器产品,也同avr32一样,正在向“以dsp为导向的特性”转移,berkeley设计技术公司的总裁jeff bier指出。
但是atmel的工程师却没有为此感到忧虑,他们提到了avr8的成功,它也是挪威团队开发的成果。avr8在1990年末期进入市场,迄今为止仍是市场中增长幅度最快的8位mcu之一。“我们希望借助avr32稍稍撼动一下这个行业。”bogen说。
那么,avr32与其它的risc处理器相比有何不同呢?
“从高级层面来说,avr32架构与arm11和mips24kec架构极为类似。”berkeley设计公司的bier评论道,“avr32使用的大部分技术,似乎都可以从面向信号和多媒体处理应用的微处理器中找到。”
32位内核avr32拥有多条管线
avr32架构的重要特性包括一个单独的负载/存储管线、带有分支消除(branch folding)的分支预测、simd技术(例如借助单指令完成两个16位操作的能力)、一个16/32位指令集(自由混合,无需模式改变),以及执行sad算法的能力(加速视频压缩)。
“上述特性没有一个是avr32所独有的。”bier指出,“但是进一步观察avr32架构的细节就会发现,其中诸多单元与arm11和mips24kec有着天壤之别,这些不同为avr32带来了一些优势。”
例如,因为其管线的工作方式,arm11和mips24kec存在与某些重要指令相关的多周期延迟。“这为编译者或汇编程序师获得最高性能带来了挑战。”bier说,“但是这个问题的难度对avr32来说小得多。”
更具体地来说,atmel在其avr32多管线架构中支持“无序”执行,strom说。
通常,一条复杂的指令需要多个时钟周期,而且管线在该指令完成之后就处于停顿状态。但是avr32拥有三条管线,即负载/存储、乘法和算术逻辑单元,它们依据无序的不相关数据执行算术操作。例如,avr32不是在除法完成之后才中止代码,而是让指令由可用的资源来执行。
“avr32另一个意义重大的地方在于可以自由混合16位和32位指令。”bier指出。这点之所以重要是因为并非所有的东西都以32位数据格式出现。如果没有这种混合能力,从一个字中挑选合适的字节就会困难得多。
“在其它一些内核,如arm1136中,你不得不执行一条模式变化指令才能实现16和32位指令集之间的切换。”bier说,“这个差别意味着avr32可以获得更紧凑的代码密度。”
确实,优化的代码密度十分重要。如果需要执行的程序能够减少,那么需要的时钟周期也会减少。此外,高代码密度意味着该代码在高速缓存器中占据较少的空间,这样高速缓存器中就可以存储更多的指令。“这样不仅可以减少高速缓存器丢失数据的可能,还有利于降低成本。”atmel公司的bogen补充道,“因为必需的程
上一篇:单片机远程语音报警系统