AltiVec综述

在过去的25年间,微处理器的性能取得了极大的提高,与此同时,与性能相
比,微处理器的价格也取得了相对的降低。目前性能最优异的微处理器可
以以300MHz以上的频率工作,具有超标量指令调度功能与分支预测技术,并
能对外部二级高速缓存控制器等高性能存储器系统提供支持。

随着通用用途微处理器的功能变得越来越强大,人们也要求它能够完成更
加复杂的工作。实际上,由于行业的不断发展与新产品新趋势的不断涌现,将
微处理器性能在一年半至两年内提高一倍的速度已经满足不了网络与电信基础
行业的需要。Internet的高速发展、使用CDMA、TDMA与PCS技术的数字蜂
窝式电话等新型数字通信技术的出现、IP电话、传真与多媒体以及无线信息传
输等新兴行业都需要微处理器性能不断提高以满足他们的要求。目前行业的大
趋势是通过可编程微处理器完成自适应过滤器、调试器与解调器以及其它曾经
只能由硬件完成的功能,这种趋势为高性能、高带宽处理器带来了更多的机会,
新型应用方案的不断出现以及计算市场需求的不断扩大使得微处理器必须不断
做出改进,使其性能达到最大化,以适应用户的各种需求。

为满足用户的需求,摩托罗拉公司推出了一种新型微处理器系列。这种微
处理器为用户提供单片解决方案,它具有目前最强大的处理能力,并且极大的
提高了目前只能由精密硬件、DSP场或传统ASIC等装置芯片外处理的瞬时访
问高带宽数据处理能力与算法密集计算能力,而微处理器性能的全面提高则得
益于摩托罗拉的AltiVec技术。

AltiVec技术是摩托罗拉PowerPC RISC处理器体系结构的向量并行处理技术 ,
它代表着新一代摩托罗拉产品的出现。AltiVec技术与做为行业标准的
PowerPC体系结构保持百分之百兼容,并将为设计者与用户们提供一种基于“one
part-one”代码的新方案,以简化设计程序,并大幅度提高设计方案的性能。

技术介绍

摩托罗拉的AltiVec技术是现有PowerPC体系结构的延伸,它带有128位
向量处理装置,可以同时处理现有整数与浮点部件。这种新型引擎提供高速并
行操作,在一个时钟循环内最多可以完成16次瞬时处理操作。

AltiVec技术是一种短向量并行体系结构,根据数据大小不同,向量分别具
有4、8或16元素长度,在这一点上,它与八十年代流行的巨型计算机的长向
量体系结构形成了鲜明对比。用于巨型计算机的长向量体系结构适用于精确的
科学计算,但对于通信业、多媒体等着重性能的应用方案来说却不能发挥最佳
效果,而AltiVec技术则正可以应用于这些应用方案中,以达到提高性能的目的。

AltiVec技术操作是单指令多重数据操作,这通常被称为SIMD并行处理。AltiVec
技术为以下功能提供支持:

1、为8位带符号及不带符号整数与字符提供16线路并行性。
2、为16位带符号及不带符号整数提供8线路并行性
3、为32位带符号及不带符号整数与IEEE浮点数字提供4线路并行性

AltiVec技术还包括一个具有32个入口的分立寄存器文件,每个入口的宽度均为
128位。该寄存器为AltiVec技术处理装置储存数据资源,通过向量存储与向量
装载指令在存储器中转移单一128位寄存器进行装载与卸载。

AltiVec技术严格的说可以被看作是在PowerPC体系结构上以模拟的形式
附加上的一套寄存器与处理装置,它的目的是在体系结构内引入浮点部件。几
年以前,浮点部件开始大量应用于微处理器体系结构中,以使高精确度科学运
算更加精确。AltiVec技术在PowerPC中应用将使新一代的高带宽通信产品与计
算应用方案的性能得到大幅度提高。

每一个AltiVec指令具体都有三个源操作数与一个单目的操作数,所有操
作数都属于向量寄存器,但装载与存储指令以及在指令范围内从即刻区域提供
操作数的一些指令类型不包括在其中。AltiVec技术具有162条专为其定义的指
令,这些指令可分为以下几大类:

1. 元素内部算术操作

元素内部算术操作根据源向量寄存器中的元素进行独立并行计算,并将结
果放置于目标向量寄存器的相关区域内。元素内部算术操作对带符号及不带符
号整数与浮点数据类型均提供支持,同时对饱和运算与模运算也均提供支持。
AltiVec技术具有多种功能强大的专为其定义的元素内部算术操作,主要包括加
法、减法、乘法与乘加,附加指令提供最小、最大以及平均功能,并且提供浮
点与32 位整数数值格式之间的转换功能。

2. 元素内部非算术操作

元素内部非算术操作包括各种形式的比较、移位与旋转,支持下列逻辑操
作:AND、OR、NOT、XOR、AND-NOT,同时还支持一个选择指令,选择指 令
的作用是从两个源寄存器中的一个之中选择源数据,并将其传送至结果寄存器
中。将比较与选择相结合,在使用只有极少指令的完全16位向量寄存器对数据
元素进行屏蔽与替换时就多了一条非常有效的途径。

3. 元素间算术操作

AltiVec技术提供了一些特殊的元素间算术操作功能,这些操作可以将单向
量寄存器中的元素进行相加并与分立累加寄存器相结合,因此对于在向量操作
中很普遍的点积发生极为重要。

4. 元素间非算术操作

除了提供强大的元素内部算术操作与元素间算术操作之外,AltiVec技术还
定义了一系列强大的元素间非算术操作功能,这些操作包括宽场移位操作、组
装与拆卸操作,其中包括用于16位色图元的1/5/5/5图元格式普通处理。AltiVec
技术还提供合并操作功能,可以在字节、半字与字级别交错数据。

置换操作可算得上AltiVec技术提供的功能最为强大的元素间操作,可以
从两个16字节源寄存器中凭借字节的粒度性提取数据至单一的16字节目标寄
存器,

在计算前后8位与16位的数据必须在存储器中进行重组的操作中,置换
功能显得极为重要,因为它能节省大量时间。例如在多种操作中,一次处理16
位数据的置换操作每个字节可以替代4至5项使用传统RISC或DSP的操作。

AltiVec技术强大的元素间操作不仅可以用于处理8位、16位与32位并行
数据元素的处理器,而且可以用于128位(16字节)数据的一次性处理。


开发环境

AltiVec技术的主要应用方案包括以下几种:IP电话网关、多频调试解调器、
语音处理系统、回波抵消器、图像与视频处理系统、科学数组处理系统,以及
英特网路由器与虚拟专用网络服务器等网络基础设备。

由于具有宽数据通路与宽场操作,AltiVec技术除了能够提高新一代应用方
案的性能外,还能应用于多种传统的计算与嵌入式处理功能,例如存储复制、
字符串比较与页面清除等,用以加快处理速度。

与应用方案具体集成电路等常用固定功能解决方案不同,AltiVec技术提供
可编程序解决方案,通过简单的软件升级AltiVec技术可以适应不同标准,满足
各种用户需求。较好的编程环境是嵌入式系统设计者们都很喜欢的C语言与
C++。未能更好的发挥AltiVec技术的并行性,摩托罗拉公司开发了一整套标准
C/C++语言开发工具,使软件设计者们能够使用C/C++开发环境与语法并能够
利用AltiVec技术提供的其它并行功能装置。摩托罗拉还与其他行业顶尖工具提
供商们共同提供全面支持AltiVec技术的模拟器、汇编器、链接器以及编译器。

最先推出的使用AltiVec技术的PowerPC微处理器将面向网络及计算业的
高性能应用方案市场,随后摩托罗拉将推出其它应用AltiVec技术的微处理器,
对性能与功耗、价格及外设的集成加以综合考虑,以期为用户带来更好的解决
方案。

新型设计模型

使用AltiVec技术的微处理器为高性能嵌入式系统设计创建了一种新型模
型,而在以往,许多高性能应用方案都将一个用于系统控制功能的单一RISC
处理器与一个或多个用于详细计算功能的DSP或ASIC相结合。

单一RISC处理器与多重DSP系统的结合许多在许多方面存在缺点,包括
两个不同体系结构、编码基数、硬件型号以及调试环境等。另外,由于DSP的
性能增长跟不上通用用途处理器,举例来讲,用户们必须不断的更新一代又一
代并不兼容的体系结构,这就使得消费产品中即使是极小的改动也要要求硬件
重新设计,DSP与控制器体系结构一般也要做出相应改动,结果在时间与成本
上都产生了极大的损失。

基于AltiVec技术的系统的功能更为强大,成本、功耗与实际面积都比控
制器加DSP解决方案要低,使用AltiVec技术可以缩短市场推广时间,降低总
成本,并且能够提供更加简便的开发环境,简化设计程序,使软硬件设计变得
更加方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值