一种移位饱和同步处理的方法及其应用转让专利

申请号 : CN202011084127.8

文献号 : CN112181354B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄鹏丁晓兵朱少华冯潮斌

申请人 : 上海芯旺微电子技术有限公司

摘要 :

本发明公开了一种移位饱和同步处理的方法及其应用,步骤如下:产生移位MASK,移位后溢出位的选择信号产生,将移位溢出对应的位标记为1,其他位置标记为0;使用选择信号选择待移位的数据,如选择信号中某一位的MASK为1,则选取待移位的数据中的对应结果,反之则输出待移位数据的最高位;检测以上所得所有结果和待移位的数据的最高位,如待移位的数据的最高位为0时以上所得所有结果全为0,或者待移位的数据的最高位为1时以上所得所有结果全为1,则移位无溢出,反之则移位溢出。本发明的方法,逻辑清晰,步序简单,实现了移位与饱和判断的同步进行,提高了移位运行效率,极具应用前景。

权利要求 :

1.一种移位饱和同步处理的方法,其特征在于,包括如下步骤:(1)移位MASK的产生:

移位后溢出位的选择信号产生,将移位溢出对应的位标记为1,其他位置标记为0;

(2)数据选择:

使用所述选择信号选择待移位的数据,如选择信号中某一位的MASK为1,则选取待移位的数据中的对应结果,反之则输出待移位数据的最高位;

(3)饱和检测:

检测步骤(2)所得所有结果和待移位的数据的最高位,如待移位的数据的最高位为0时步骤(2)所得所有结果全为0,或者待移位的数据的最高位为1时步骤(2)所得所有结果全为

1,则移位无溢出,反之则移位溢出。

2.根据权利要求1所述的一种移位饱和同步处理的方法,其特征在于,所述待移位数据通过MASK筛选出溢出相关位,并将其他位使用最高位填充。

3.根据权利要求1所述的一种移位饱和同步处理的方法,其特征在于,步骤(3)中,检测待移位的数据的最高位为0时步骤(2)所得所有结果全为0,如果是说明无溢出,正饱和标志位为0,反之,则需要饱和处理,正饱和标志位置1。

4.根据权利要求1所述的一种移位饱和同步处理的方法,其特征在于,步骤(3)中,检测待移位的数据的最高位为1时步骤(2)所得所有结果全为1,如果是说明无溢出,负饱和标志位为0,反之,则需要饱和处理,负饱和标志位置1。

5.应用如权利要求1~4任一项所述的移位饱和同步处理的方法的集成电路,其特征在于,包括一个或多个处理器、一个或多个存储器、一个或多个程序及数据输入装置;

所述数据输入装置用于输入待移位数据及其所需移动的位数,所述一个或多个程序被存储在所述存储器中,当所述一个或多个程序被所述处理器执行时,使得所述集成电路执行如权利要求1~4任一项所述的移位饱和同步处理的方法。

6.应用如权利要求5所述的集成电路的电子设备。

说明书 :

一种移位饱和同步处理的方法及其应用

技术领域

[0001] 本发明属于数据处理技术领域,特别涉及一种数据运算中的移位饱和同步处理的方法及其应用。

背景技术

[0002] 在有符号的数据运算中,最高位(MSB)代表正负关系,当MSB为0时表明是正数,当MSB为1时表明是负数。在左移位操作中,可能会出现一个正数移位结果为负数,或一个负数
移位结果为正数。在许多应用场合这是不允许的,这种情况下就会进行饱和操作,当一个正
数移位结果为负数时,经过饱和处理结果为最大正数(即最高位为0,其他位为1);当一个负
数移位结果为正数时,经过饱和处理结果为最小负数(即最高位为1,其他位为0)。
[0003] 通常情况下饱和判断需要在移位结果出来后才能进行,虽然其能够完成移位饱和处理,但这种处理模式极大地影响了数据处理(移位运行)效率。
[0004] 因此,开发一种能够在移位的同时完成饱和判断的方法对于电脑处理器或控制芯片的底层运算极具现实意义。

发明内容

[0005] 本发明的目的在于克服现有技术饱和判断需要在移位结果出来后才能进行,影响移位运行效率的缺陷,提供一种能够在移位的同时完成饱和判断的方法。
[0006] 为实现上述目的,本发明提供如下技术方案:
[0007] 一种移位饱和同步处理的方法,应用于电子设备,其步骤如下:
[0008] (1)移位MASK的产生:
[0009] 移位后溢出位的选择信号产生,将移位溢出对应的位标记为1,其他位置标记为0;由于只有移出的位和结果的最高位影响饱和判断,该逻辑用于产生移位后移出位的选择信
号,移出的对应的位为1,其他位为0,作为后续选择的控制,如当移位量为1时,只有最高位
移出,则生成的MASK的值为 1000_0000…0000_0000(最高位为1,其余位为0),依次类推;
[0010] (2)数据选择:
[0011] 使用所述选择信号选择待移位的数据,如选择信号中某一位的MASK为 1,则表明饱和位需要用该位进行判断,选取待移位的数据中的对应结果,反之(MASK为0)则表明该位
与判断无关,输出待移位数据的最高位,这样输出的结果只包含影响饱和判断的位和MSB
位;(影响饱和的位为移出位和移位结果的最高有效位,移位结果的最高有效位也就是移出
位的下一位)
[0012] (3)饱和检测:
[0013] 检测步骤(2)所得所有结果和待移位的数据的最高位,如待移位的数据的最高位为0时步骤(2)所得所有结果全为0(正饱和判断),或者待移位的数据的最高位为1时步骤
(2)所得所有结果全为1(负饱和判断),则移位无溢出,反之则移位溢出。
[0014] 本发明提出一种使用移位输入数据产生饱和标志的方法,其将待移位数据移位后会产生溢出的位选出来,判断当待移位的数据的最高位为0时步骤 (2)所得所有结果是否
全为0,或者当待移位的数据的最高位为1时步骤(2) 所得所有结果是否全为1,如果是,说
明没有溢出,也就无需饱和处理;如果否,那么说明有溢出,需要饱和处理,就产生饱和标
志,实现过程简单,进而实现了移位与饱和判断的同步进行,相比于现有技术需要在移位结
果出来后进行饱和判断,能够大大提高移位运行效率,能够极大地提高运算处理的效率,极
具应用前景。
[0015] 作为优选的技术方案:
[0016] 如上所述的一种移位饱和同步处理的方法,所述待移位数据通过MASK 筛选出溢出相关位,并将其他位使用最高位填充,具体是使用MASK选出需要的位,将不需要的位选择
最高位进行填充输出。
[0017] 如上所述的一种移位饱和同步处理的方法,步骤(3)中,检测待移位的数据的最高位为0时步骤(2)所得所有结果全为0(正饱和判断),如果是说明无溢出,正饱和标志位为0,
反之(待移位的数据的最高位为0时步骤(2) 所得所有结果不全为0),则需要饱和处理,正
饱和标志位置1。
[0018] 如上所述的一种移位饱和同步处理的方法,步骤(3)中,检测待移位的数据的最高位为1时步骤(2)所得所有结果全为1(负饱和判断),如果是说明无溢出,负饱和标志位为0,
反之(待移位的数据的最高位为1时步骤(2) 所得所有结果不全为1),则需要饱和处理,负
饱和标志位置1。在本申请的技术方案中,正负饱和标志的引入能够方便后续对数据进行处
理。
[0019] 本发明还提供一种应用如上所述的移位饱和同步处理的方法的集成电路,包括一个或多个处理器、一个或多个存储器、一个或多个程序及数据输入装置;
[0020] 所述数据输入装置用于输入待移位数据及其所需移动的位数,所述一个或多个程序被存储在所述存储器中,当所述一个或多个程序被所述处理器执行时,使得所述集成电
路执行如上所述的移位饱和同步处理的方法。
[0021] 此外,本发明还提供一种应用如上所述的集成电路的电子设备。
[0022] 有益效果:
[0023] 本发明的移位饱和同步处理的方法,逻辑清晰,整体步序简单,实现了移位与饱和判断的同步进行,相比于现有技术需要在移位结果出来后进行饱和判断,能够大大提高移
位运行效率,能够极大地提高运算处理的效率,在所有需要电子运算的地方都极具应用前
景;且实现过程简单,处理速度快,成本低廉。

附图说明

[0024] 图1为本发明的移位饱和同步处理的方法的流程图;
[0025] 图2为移位MASK的产生的示意图;
[0026] 图3为数据选择的示意图;
[0027] 图4为正饱和检测的示意图;
[0028] 图5为负饱和检测的示意图;
[0029] 图6为本发明的集成电路的结构图。

具体实施方式

[0030] 下面结合附图,对本发明的具体实施方式做进一步阐述。
[0031] 实施例1
[0032] 一种移位饱和同步处理的方法,其步骤如图1所示:
[0033] (1)移位MASK的产生(如图2所示):
[0034] 移位后溢出位的选择信号产生,将移位溢出对应的位标记为1,其他位置标记为0;
[0035] (2)数据选择(如图3所示):
[0036] 使用选择信号选择待移位的数据,如选择信号中某一位的MASK为1,则选取待移位的数据中的对应结果,反之则输出待移位数据的最高位;
[0037] (3)饱和检测:
[0038] 检测步骤(2)所得所有结果和待移位的数据的最高位,如待移位的数据的最高位为0时步骤(2)所得所有结果全为0(正饱和检测,如图4所示),或者待移位的数据的最高位
为1时步骤(2)所得所有结果全为1(负饱和检测,如图5所示),则移位无溢出,反之则移位溢
出,此时如果待移位的数据的最高位为1时步骤(2)所得所有结果不全为1,则产生负饱和标
志,如果待移位的数据的最高位为0时步骤(2)所得所有结果不全为0,则产生正饱和标志。
[0039] 图1中①为一种移位饱和标志位产生方法的实现单元,其中该单元有两个输入,一个输出,输入为等待移位的数据Data,移位量Shift,输出为正饱和标志位和负饱和标志位;
[0040] ②为移位MASK产生单元,根据输入Shift的值生成需要选择的数据位,并输出到③数据选择&MSB填充单元中进行选择;
[0041] ③为数据选择单元,根据②产生的选择信号选择需要的移位数据,并将不需要的位用MSB位填充,结果输出到④⑤饱和检测单元;
[0042] ④为正饱和检测单元,(当待移位的数据的最高位为0时,触发该单元) 由③数据选择的结果判断是否全为0,如果是表明无溢出,如果不是全0表明当前需要饱和处理,并将
饱和标志位置1;
[0043] ⑤为负饱和检测单元,(当待移位的数据的最高位为1时,触发该单元) 由③数据选择的结果判断是否全为1,如果是表明无溢出,如果不是全1表明当前需要饱和处理,并将
饱和标志位置1。
[0044] 经验证,本发明的移位饱和同步处理的方法,提出一种使用移位输入数据产生饱和标志的方法,其将待移位数据移位后会产生溢出的位选出来,判断其是否全与最高位(待
移位数据的移位后的最高位)相等,如果相等,说明没有溢出,也就无需饱和处理;如果不全
相等,那么说明有溢出,需要饱和处理,就产生饱和标志,进而实现了移位与饱和判断的同
步进行,相比于现有技术需要在移位结果出来后进行饱和判断,能够大大提高移位运行效
率,能够极大地提高运算处理的效率,极具应用前景。
[0045] 实施例2
[0046] 一种集成电路,如图6所示,包括一个或多个处理器、一个或多个存储器、一个或多个程序及数据输入装置;
[0047] 数据输入装置用于输入待移位数据及其所需移动的位数,一个或多个程序被存储在存储器中,当一个或多个程序被处理器执行时,使得集成嗲路执行如实施例1所述的移位
饱和同步处理的方法。
[0048] 经验证,本发明的集成电路,实现过程简单,处理速度快,成本低廉,能够实现移位与饱和判断的同步进行,大大提高移位运行效率,极具应用前景。
[0049] 实施例3
[0050] 一种电子设备,包括且应用实施例2所述的集成电路。
[0051] 虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应该理解,这些仅是举例说明,在不违背本发明的原理和实质的前提下,可以对这些实施方式做出多种变
更或修改。