当前位置:首页 > 嵌入式 > 嵌入式硬件

曾瑞淮,钟冬庆  摘要:本文从移位器的功能描述、结构分析入手,并详细阐述了一款16位dsp处理器的高频率低功耗移位器的三个模块的设计。
  关键词:移位器;dsps;设计   在一般的微处理器中,没有单独设计的移位器,移位功能在算术逻辑单元中实现。但由于dsp处理器对运算速度要求较高,通过alu来实现一些移位功能无法满足其要求,所以在dsp中一般设有专门的移位器。移位器不仅可以提高一般移位功能的速度,还可以更加高速地实现与2的n次幂的乘法运算。因此对dsp处理器的移位器(shifter)的研究很有必要的。  移位器是是执行单元的重要组成部分,所有算法的实现都是由执行单元的基本功能组合而成,所有的其他单元例如控制、数据通路都是为执行单元服务的,控制执行部件的具体动作,为执行部件提供充分的数据。嵌入式定点16位dsp的执行单元结构如图1所示。dsp执行单元包含3个子单元:16位(结果为40位)移位单元(shift)、16位算术逻辑单元(alu)和16位(结果为40位)乘法累加单元(mac)。并行的对数据寄存器堆(dreg)进行数据的存取。dreg包含16个16位的通用寄存器,流水线的最后一级从dreg中读取数据,将指令执行的结果,写回到dreg中,而所有的这些运算操作在一个时钟周期内完成[1]。  16位dsp处理器的移位器主要执行的是两类功能:一是实现移位操作,它的输入是16位,移位后的输出是40位。二是指数检测,即从16位的输入数据中检测出前导冗余位的位数(从高位起),作为结果指数输出到寄存器。  移位操作主要有三种:逻辑移位,算术移位和规格化操作。它们都可以在左右两个方向进行,但不能进行循环移位。执行逻辑移位时,它的输入看作是无符号数,移位后左右两边的空位均用0填充;算术移位时,输入看作有符号补码数,移位后左边的空位填充符号位,右边补0;规格化操作和上述两种移位操作相似,但扩展位情况比较复杂一些,移位后右边填0,左边的空位要根据移位控制信号的不同情况填充0、符号位或算术状态寄存器中的进位标志位ac。三种移位操作中移出边界(sr39或sr0)的位都被舍弃。  指数检测的目的是进行类似于定点到浮点的数据转换。一个定点数,可以用一个包含尾数和指数(也称阶码)的浮点数来表示,这样可以提高数据的表数范围,同时使得我们的定点dsp能在不增加浮点算法开销的情况下获得浮点dsp的某些运算能力。指数检测(也称为指数提取)的结果就作为指数,然后用这个指数作为移位控制码对输入数据进行规格化操作,就得到了尾数。也可以采用这个方法使一串数据(数据块)共用同一个指数,只是各自的尾数不同,这种数据格式称为块浮点格式。1. 结构分析  移位器阵列是一个16×40的桶形移位器[2]。它用于实现各种移位功能:逻辑移位,算术移位和规格化操作。输入数据都是16位宽,移位后的40位结果分为三部分分别送到三个移位结果寄存器(统称为sr):sr2,sr1,sr0。移位操作由一个移位控制码(shift_code)和一个参考信号 (hi/lo) 来控制。移位控制码是一个8位的有符号数,它表示移位的方向和位数,当它为正时左移,为负时右移。根据不同的移位操作,它的来源有4个:移位器指数寄存器se的内容,se寄存器的内容的相反数,来自指令的立即数,指令立即数的相反数。对于算术移位和逻辑移位,移位控制码来自移位器指数寄存器se或指令中的立即数;对于规格化操作,移位控制码为移位器指数寄存器se内容或指令中立即数取反。移位器阵列可实现-128-127范围内任意位数的移位。参考信号(hi/lo)决定移位操作相对于输出域的参考点,它主要是为了实现32位双精度数据移位操作而设的。当参考信号为hi时,认为输入是32位数据的高16位,移位以40位输出域的高16位为参考点;当参考信号为lo时,认为输入是32位数据的低16位,移位的参考点为输出域的低16位。连续进行两次不同参考点的16位输入的移位操作,然后把两个结果相“或”,就可实现一个双精度32位数据的移位操作。移位扩展位(x)就是移位操作后左边的填充位,根据不同的移位操作,这个扩展位可以是0、输入数的符号位或astat中的进位标志位ac。若为逻辑移位,扩展位为0;若为算术移位,扩展位为输入符号位;若是规格化操作,情况较为复杂,又分3种情况[3]:如果是高位规格化,即参考信号为hi时,左移时扩展位为符号位,右移时扩展位为进位标志位ac;如果是低位规格化,无论左移还是右移,扩展位都为0。  or/pass逻辑就可实现上述的“或”操作。它根据sr_or控制信号决定是否对结果进行“或”操作,如果是普通的16位操作或32位双精度数移位的第一次操作,就不需要进行“或”操作,移位结果直接输出到结果寄存器;若进行的是32位操作的第2次16位移位操作,移位结果就要和第1次操作的结果相“或”后送到结果寄存器。  指数检测器实现的是从16位输入中提取指数的功能,这个指数可看作冗余符号

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

工作后出门最担心的就是突然来了个项目要赶,有次刚到朋友家,却突然接到电话让赶项目,电脑好说跟朋友借一下就行,但是项目的资料,所需的软件都是一个庞大的数据库。朋友见状给我推荐了一款NAS,即使是不懂技术的"小白"用户来说,...

关键字: 私有云 处理器 USB存储

2024年5月7日 – 专注于引入新品的全球半导体和电子元器件授权代理商贸泽电子 (Mouser Electronics) 即日起开售Microchip Technology的PIC32CZ CA MCU。PIC32CZ...

关键字: MCU 工业网关 处理器

业界应如何看待边缘人工智能?ST授权合作伙伴 MathWorks 公司的合作伙伴团队与ST 共同讨论了对边缘机器学习的看法,并与 STM32 社区分享了他们的设计经验。

关键字: AI 机器学习 处理器

Remi Pi采用瑞萨RZ/G2L作为核心处理器,该处理器搭载双核Cortex-A55@1.2GHz+Cortex-M33@200MHz处理器,其内部集成高性能3D加速引擎Mail-G31 GPU(500MHz)和视频处...

关键字: 瑞米派 处理器

业内消息,近日高通公司宣布推出针对桌面平台的全新骁龙 X Plus 处理器。

关键字: 高通 骁龙 X Plus 处理器

近日,米尔电子推出米尔基于NXP i.MX 93系列产品-MYC-LMX9X核心板及开发板。NXP i.MX 9系列在i.MX 6和i.MX 8系列产品市场验证的基础上,继承了前代产品的优点的同时,进一步提升了性能、资源...

关键字: 核心板 开发板 处理器

数字信号处理器(DSP)在通信、控制、图像处理等多个领域扮演着越来越重要的角色。TMS320F2808PZA作为德州仪器(Texas Instruments)推出的一款高性能DSP控制器,其独特的架构和强大的功能使其在众...

关键字: tms320f2808pza 数字信号处理器 DSP

2024年4月18日,重庆——今日,英特尔AI教育峰会暨OPS2.0全球发布活动在第83届中国教育装备展示会期间顺利举行。峰会现场,英特尔携手视源股份、德晟达等合作伙伴正式发布新一代开放式可插拔标准——OPS 2.0,并...

关键字: OPS 2.0 显卡 处理器

全新Balletto™系列无线MCU基于Alif Semiconductor先进的MCU架构,该架构具有DSP加速和专用NPU,可快速且低功耗地执行AI/ML工作负载

关键字: 处理器 微控制器 AI
关闭
关闭