滑轮厂家
免费服务热线

Free service

hotline

010-00000000
滑轮厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

采用可配置处理器技术构建多发射向量DSP

发布时间:2020-07-01 01:54:37 阅读: 来源:滑轮厂家

采用可配置处理器技术构建多发射向量DSP音频、视频、图像等所有媒体的数字化对信号处理提出了越来越高的要求,这些数字信号数据内容需要建立、存储、传输和重放。同时,越来越多的通信和娱乐传输系统是便携式的,这需要极大地提高信号处理的带宽。日益增长的信号处理负载使得电气功耗成为信号处理系统的制约因素。DSP是进行数字信号处理的绝好选择,因为数字信号处理器可以编程,并且在当今数字媒体处理飞速变化的世界里可以容易地处理众多变化的标准。然而,通用DSP的“通用性”使得其并非对所有应用都能够实现很好的功耗效率(power-efficient)。硬线连接的信号处理模块通常有比较好的功耗效率,但是缺少DSP那样的灵活性和可编程特性。可配置处理器技术通过建立针对某一特定任务属性正确的、功能丰富和可编程的DSP,在DSP的固定ISA(指令集体系结构)灵活性和可编程特性与硬线连接模块的功耗有效性之间建立起桥梁。 Tensilica的Vectra LX是这种概念很好的诠释。Vectra LX是一个定点的向量DSP引擎,该引擎是通过配置选项在Xtensa LX可配置处理器的基础上建立起来的。

本文引用地址:可配置架构Vectra LX定点DSP引擎是Xtensa LX微处理器内核的一种配置。该定点DSP引擎是一个3发射的SIMD处理器,具有四个乘法器/累加器(四个MAC),它可以处理128位的向量。128位向量可以分成8个16位或者4个32位的元素。整个Vectra LX DSP引擎是用TIE(Tensilica’s Instruction Extension)语言开发的,通过修改可以适合目标应用领域。正像图1所示,Vectra LX DSP引擎增加了16个向量寄存器(每个寄存器160位宽)、四个128位的向量队列寄存器、第二个加载/存储单元和210多条现有Xtensa LX处理器指令集体系结构中的通用DSP指令。

基本的Xtensa LX处理器是一个单发射的微处理器,具有16位和24位指令。但是,Tensilica的处理器产生器(processor generator)能够让开发人员增加更宽的指令字长。通过一种称为可变长度指令扩展FLIX(Flexible-Length Instruction Extensions)的技术为处理器指令集增添多个独立操作。FLIX指令宽度可以为32位或者64位,并且由于Xtensa LX处理器已经设计成可以处理多种指令宽度,因此多操作FLIX指令可以在处理器代码流中自由组合,并且可以和现有的单发射Xtensa LX处理器指令连接在一起。当开发人员选择Vectra LX DSP引擎配置选项时,Tensilica的处理器产生器会自动将DSP引擎的RTL代码添加到可综合的 Xtensa LX处理器中。新的Vectra LX指令被添加到处理器自动产生的软件工具集(编译器、汇编器、调试器、指令集仿真器ISS和实时操作系统RTOS接口)中。Vectra LX使得Xtensa LX处理器门数增加20万~25万门。这些增加的门数中的大部分用于构建Vectra LX DSP引擎中的寄存器和执行部件,因为通用处理器和DSP引擎扩展可以共享处理器中现有的取指令和指令译码部件,所以那些硬件模块不需要重新复制。然而,需要增加一些逻辑用于对新的指令进行译码。图2为Vectra LX DSP引擎配置选项中增加的寄存器和执行部件框图。

图3表示三操作Vectra LX指令字格式。指令字中最右边四位表示该指令宽度为64位。剩下的60位指令字长度不等地分布在三个操作指令槽中:一个24位和两个18位的指令槽。Vectra LX指令字中的24位操作指令槽(指令字中第4位到第27位)可放置Xtensa LX处理器中所有80条基本指令,包括控制第一个加载/存储单元的操作。该操作指令槽还可以处理扩展的128位加载/存储指令,此指令可将信息存到Vectra LX宽向量寄存器中,也可以从该向量寄存器读出信息。

24位的操作指令槽能提供足够宽的编码位数,允许加载和存储指令在指令槽中指定对齐或者非对齐加载和存储操作,如图4所示。非对齐加载和存储操作帮助相关的向量化编译器处理存储器数据阵列,这些数据阵列可以任意方式对齐,因为编译器产生的代码有时是非对齐的数据阵列,这将降低DSP的性能。然而,这种性能损失可以通过DSP引擎以非对齐加载和存储操作方式提供的支持加以补偿。

Vectra LX DSP引擎的对齐寄存器提供部分向量存储功能,这些对齐寄存器在非对齐加载或者存储字符串的开始用第一个部分向量进行初始化。后续的非对齐加载或者存储操作隐含地和新的向量数据进行合并,这些向量数据经过循环移位并和部分对齐寄存器内容相连接,在对齐寄存器中将整个向量组合在一起。这些非对齐加载和存储操作还为下一个非对齐加载或者存储操作准备好对齐寄存器,以便使得一系列连续的非对齐加载或者存储操作能和对齐数据近似相同的效率将数据送入或者送出非对齐数据阵列。Vectra LX DSP引擎采用第一个18位操作指令槽(第28位到第45位)来放置4

哈尔滨西装定制

烟台订制工作服

聊城防静电工作服订做