CN112181355B - 一种移位饱和处理方法及其应用 - Google Patents
一种移位饱和处理方法及其应用 Download PDFInfo
- Publication number
- CN112181355B CN112181355B CN202011084145.6A CN202011084145A CN112181355B CN 112181355 B CN112181355 B CN 112181355B CN 202011084145 A CN202011084145 A CN 202011084145A CN 112181355 B CN112181355 B CN 112181355B
- Authority
- CN
- China
- Prior art keywords
- saturation
- shift
- bit
- data
- overflow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims abstract description 14
- 238000012216 screening Methods 0.000 claims abstract description 4
- 238000001514 detection method Methods 0.000 claims description 8
- 230000015654 memory Effects 0.000 claims description 6
- 229920006395 saturated elastomer Polymers 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 11
- 238000000034 method Methods 0.000 abstract description 10
- 230000001360 synchronised effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种移位饱和处理方法及其应用,步骤为:对待移位数据的每一位和其最高位进行同或运算,筛选出待移位数据中所有与最高位相同的位并将对应位置标记为1,其他位置标记为0,同时,产生移位MASK,产生移位后溢出位的选择信号,将移位溢出对应的位标记为1,其他位置标记为0;使用选择信号选择饱和判断预处理后得到的数据,如MASK为1,则选取饱和判断预处理后得到的数据中的对应结果,反之则强制输出1;检测所得所有结果是否全为1,如是则移位无溢出,反之则移位溢出即需饱和处理。本发明的方法,逻辑清晰,步序简单,实现了移位与饱和判断的同步进行,提高了移位运行效率,极具应用前景。
Description
技术领域
本发明属于数据处理技术领域,特别涉及一种数据运算中的移位饱和处理方法及其应用。
背景技术
在有符号的数据运算中,最高位(MSB)代表正负关系,当MSB为0时表明是正数,当MSB为1时表明是负数。在左移位操作中,可能会出现一个正数移位结果为负数,或一个负数移位结果为正数。在许多应用场合这是不允许的,这种情况下就会进行饱和操作,当一个正数移位结果为负数时,经过饱和处理结果为最大正数(即最高位为0,其他位为1);当一个负数移位结果为正数时,经过饱和处理结果为最小负数(即最高位为1,其他位为0)。
通常情况下饱和判断需要在移位结果出来后才能进行,虽然其能够完成移位饱和处理,但这种处理模式极大地影响了数据处理(移位运行)效率。
因此,开发一种能够在移位的同时完成饱和判断的方法对于电脑处理器或控制芯片的底层运算极具现实意义。
发明内容
本发明的目的在于克服现有技术饱和判断需要在移位结果出来后才能进行,影响移位运行效率的缺陷,提供一种能够在移位的同时完成饱和判断的方法。
为实现上述目的,本发明提供如下技术方案:
一种移位饱和处理方法,应用于电子设备,其步骤如下:
(1)饱和判断预处理及移位MASK的产生:
饱和判断预处理:对待移位数据的每一位和其最高位进行同或运算,筛选出待移位数据中所有与所述最高位相同的位,并将对应位置标记为1,其他位置标记为0;
在饱和判断预处理的同时产生移位MASK,产生移位后溢出位的选择信号,将移位溢出对应的位标记为1,其他位置标记为0;由于只有移出的位和结果的最高位影响饱和判断,该逻辑用于产生移位后移出位的选择信号,移出的对应的位为1,其他位为0,作为后续选择的控制,如当移位量为1时,只有最高位移出,则生成的MASK的值为1000_0000…0000_0000(最高位为1,其余位为0),依次类推;
(2)数据选择:
使用所述选择信号选择饱和判断预处理后得到的数据,如选择信号中某一位的MASK为1,则表明饱和位需要用该位进行判断,选取饱和判断预处理后得到的数据中的对应结果,反之(MASK为0)则表明该位与判断无关,结果强制输出1;
(3)饱和检测:
检测步骤(2)所得所有结果是否全为1,如是则移位无溢出,反之则移位溢出,将饱和标志位置1。
本发明提出一种使用移位输入数据产生饱和标志的方法,其将待移位数据移位后会产生溢出的位选出来,判断其是否全与最高位相等,如果相等,说明没有溢出,也就无需饱和处理;如果不全相等,那么说明有溢出,需要饱和处理,就产生饱和标志,实现过程简单,进而实现了移位与饱和判断的同步进行,相比于现有技术需要在移位结果出来后进行饱和判断,能够大大提高移位运行效率,能够极大地提高运算处理的效率,极具应用前景。
作为优选的技术方案:
如上所述的一种移位饱和处理方法,步骤(3)中,如移位溢出,则产生饱和标志。
本发明还提供一种应用如上所述的移位饱和处理方法的集成电路,包括一个或多个处理器、一个或多个存储器、一个或多个程序及数据输入装置;
所述数据输入装置用于输入待移位数据及其所需移动的位数,所述一个或多个程序被存储在所述存储器中,当所述一个或多个程序被所述处理器执行时,使得所述集成电路执行如上所述的移位饱和处理方法。
此外,本发明还提供了一种应用如上所述的集成电路的电子设备。
有益效果:
本发明的移位饱和处理方法,逻辑清晰,整体步序简单,实现了移位与饱和判断的同步进行,相比于现有技术需要在移位结果出来后进行饱和判断,能够大大提高移位运行效率,能够极大地提高运算处理的效率,在所有需要电子运算的地方都极具应用前景;且实现过程简单,处理速度快,成本低廉。
附图说明
图1为本发明的移位饱和处理方法的流程图;
图2为饱和判断预处理的示意图;
图3为移位MASK产生的真值表;
图4为数据选择的示意图;
图5为饱和检测的示意图;
图6为本发明的集成电路的结构图。
具体实施方式
下面结合附图,对本发明的具体实施方式做进一步阐述。
实施例1
一种移位饱和处理方法,其步骤如图1所示:
(1)饱和判断预处理及移位MASK的产生:
饱和判断预处理(如图2所示):对待移位数据的每一位和其最高位进行同或运算,筛选出待移位数据中所有与最高位相同的位,并将对应位置标记为1,其他位置标记为0;
在饱和判断预处理的同时产生移位MASK,产生移位后溢出位的选择信号,将移位溢出对应的位标记为1,其他位置标记为0,移位MASK产生的真值表如图3所示;
(2)数据选择(如图4所示):
使用选择信号选择饱和判断预处理后得到的数据,如选择信号中某一位的MASK为1,则选取饱和判断预处理后得到的数据中的对应结果,反之则强制输出1;
(3)饱和检测(如图5所示):
检测步骤(2)所得所有结果是否全为1,如是则移位无溢出,反之则移位溢出,则产生饱和标志(将饱和标志位置1)。
图1中①为一种移位饱和标志位产生方法的实现单元,其中该单元有两个输入,一个输出,输入为等待移位的数据Data,移位量Shift,输出为饱和标志位;
②为饱和判断预处理单元,该单元输入为等待移位的数据Data,将Data每一位与Data的MSB位进行同或操作,结果输出到④数据选择单元;
③为移位MASK产生单元,根据输入Shift的值生成需要选择的数据位,并输出到④数据选择单元中进行选择
④为数据选择单元,根据③产生的选择信号选择②产生的结果数据,输出到⑤饱和检测单元;
⑤为饱和检测单元,由④数据选择的结果判断是否全为1,如果是表明无溢出,如果是0表明当前需要饱和处理,并将饱和标志位置1。
经验证,本发明的移位饱和处理方法,提出一种使用移位输入数据产生饱和标志的方法,其将待移位数据移位后会产生溢出的位选出来,判断其是否全与最高位(待移位数据的移位后的最高位)相等,如果相等,说明没有溢出,也就无需饱和处理;如果不全相等,那么说明有溢出,需要饱和处理,就产生饱和标志,进而实现了移位与饱和判断的同步进行,相比于现有技术需要在移位结果出来后进行饱和判断,能够大大提高移位运行效率,能够极大地提高运算处理的效率,在所有需要电子运算的地方都极具应用前景。
实施例2
一种集成电路,如图6所示,包括一个或多个处理器、一个或多个存储器、一个或多个程序及数据输入装置;
数据输入装置用于输入待移位数据及其所需移动的位数,一个或多个程序被存储在存储器中,当一个或多个程序被处理器执行时,使得集成电路执行如实施例1所述的移位饱和处理方法。
经验证,本发明的集成电路,实现过程简单,处理速度快,成本低廉,能够实现移位与饱和判断的同步进行,大大提高移位运行效率,极具应用前景。
实施例3
一种电子设备,包括且应用了如实施例2所述的集成电路。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应该理解,这些仅是举例说明,在不违背本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改。
Claims (3)
1.一种移位饱和处理方法,其特征在于,包括如下步骤:
(1)饱和判断预处理及移位MASK的产生:
对待移位数据的每一位和其最高位进行同或运算,筛选出待移位数据中所有与所述最高位相同的位,并将对应位置标记为1,其他位置标记为0;
在饱和判断预处理的同时产生移位MASK,产生移位后溢出位的选择信号,将移位溢出对应的位标记为1,其他位置标记为0;
(2)数据选择:
使用所述选择信号选择饱和判断预处理后得到的数据,如选择信号中某一位的MASK为1,则选取饱和判断预处理后得到的数据中的对应结果,反之则强制输出1;
(3)饱和检测:
检测步骤(2)所得所有结果是否全为1,如是则移位无溢出,反之则移位溢出,将饱和标志位置1。
2.应用如权利要求1所述的移位饱和处理方法的集成电路,其特征在于,包括一个或多个处理器、一个或多个存储器、一个或多个程序及数据输入装置;
所述数据输入装置用于输入待移位数据及其所需移动的位数,所述一个或多个程序被存储在所述存储器中,当所述一个或多个程序被所述处理器执行时,使得所述集成电路执行如权利要求1所述的移位饱和处理方法。
3.应用如权利要求2所述的集成电路的电子设备。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011084145.6A CN112181355B (zh) | 2020-10-12 | 2020-10-12 | 一种移位饱和处理方法及其应用 |
PCT/CN2021/122873 WO2022078264A1 (zh) | 2020-10-12 | 2021-10-09 | 一种移位饱和处理方法及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011084145.6A CN112181355B (zh) | 2020-10-12 | 2020-10-12 | 一种移位饱和处理方法及其应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181355A CN112181355A (zh) | 2021-01-05 |
CN112181355B true CN112181355B (zh) | 2021-08-06 |
Family
ID=73949083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011084145.6A Active CN112181355B (zh) | 2020-10-12 | 2020-10-12 | 一种移位饱和处理方法及其应用 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112181355B (zh) |
WO (1) | WO2022078264A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181355B (zh) * | 2020-10-12 | 2021-08-06 | 上海芯旺微电子技术有限公司 | 一种移位饱和处理方法及其应用 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1693742A3 (en) * | 1995-08-31 | 2010-01-06 | Intel Corporation | Method and apparatus for performing multiply-accumulate operations on packed data |
US6112291A (en) * | 1997-01-24 | 2000-08-29 | Texas Instruments Incorporated | Method and apparatus for performing a shift instruction with saturate by examination of an operand prior to shifting |
US20050210089A1 (en) * | 2004-03-19 | 2005-09-22 | Arm Limited | Saturating shift mechanisms within data processing systems |
US8209366B2 (en) * | 2005-02-28 | 2012-06-26 | Hitachi Global Storage Technologies Netherlands B.V. | Method, apparatus and program storage device that provides a shift process with saturation for digital signal processor operations |
CN100452881C (zh) * | 2006-08-07 | 2009-01-14 | 清华大学 | 一种基于合并处理的反量化方法及其装置 |
CN103959236B (zh) * | 2011-11-30 | 2016-12-07 | 英特尔公司 | 用于提供向量横向多数表决功能的处理器、设备和处理系统 |
US9898252B2 (en) * | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
CN107704472B (zh) * | 2016-08-09 | 2020-07-24 | 华为技术有限公司 | 一种查找数据块的方法及装置 |
CN106873940B (zh) * | 2016-12-30 | 2019-05-17 | 青岛专用集成电路设计工程技术研究中心 | 一种定点加法结果位宽限制的处理方法和装置 |
US20190065201A1 (en) * | 2017-08-31 | 2019-02-28 | MIPS Tech, LLC | Implicit global pointer relative addressing for global memory access |
CN109725870A (zh) * | 2017-10-30 | 2019-05-07 | 胡五生 | 量化逻辑之多进制幅权移位控制器 |
US20190196828A1 (en) * | 2017-12-21 | 2019-06-27 | Intel Corporation | Apparatus and method for vector multiply of signed words, rounding, and saturation |
US20190196820A1 (en) * | 2017-12-21 | 2019-06-27 | Intel Corporation | Apparatus and method for right shifting packed quadwords and extracting packed doublewords |
GB2572605B (en) * | 2018-04-05 | 2022-05-18 | Imagination Tech Ltd | High accuracy texture filtering |
DE102018113475A1 (de) * | 2018-06-06 | 2019-12-12 | Infineon Technologies Ag | Rechenwerk zum rechnen mit maskierten daten |
US11474825B2 (en) * | 2019-03-27 | 2022-10-18 | Intel Corporation | Apparatus and method for controlling complex multiply-accumulate circuitry |
CN112181355B (zh) * | 2020-10-12 | 2021-08-06 | 上海芯旺微电子技术有限公司 | 一种移位饱和处理方法及其应用 |
-
2020
- 2020-10-12 CN CN202011084145.6A patent/CN112181355B/zh active Active
-
2021
- 2021-10-09 WO PCT/CN2021/122873 patent/WO2022078264A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022078264A1 (zh) | 2022-04-21 |
CN112181355A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111783971A (zh) | 一种用于深度神经网络的可高度灵活配置的数据后处理器 | |
CN112181355B (zh) | 一种移位饱和处理方法及其应用 | |
CN114546890A (zh) | 一种系统级空间读写验证的方法、系统、存储介质及设备 | |
US20140047221A1 (en) | Fusing flag-producing and flag-consuming instructions in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
JP4750665B2 (ja) | タイミング解析方法および装置 | |
CN115359016A (zh) | 基于改进YOLOv5的PCB小目标缺陷检测方法和系统 | |
CN106155747B (zh) | 一种基于fpga可加速配置的方法和控制系统 | |
CN112181354B (zh) | 一种移位饱和同步处理的方法及其应用 | |
CN111258905A (zh) | 缺陷定位方法、装置和电子设备及计算机可读存储介质 | |
CN111797588B (zh) | 一种形式验证比较点匹配方法、系统、处理器及存储器 | |
CN112350716B (zh) | 一种补码运算方法及装置、补码运算装置的运算方法 | |
US6629118B1 (en) | Zero result prediction | |
JP2018136763A (ja) | 類似関数抽出装置および類似関数抽出プログラム | |
CN115688643A (zh) | 仿真逻辑系统设计的方法、设备及存储介质 | |
CN101644744A (zh) | 一种测试向量的调节对比方法 | |
US10852354B1 (en) | System and method for accelerating real X detection in gate-level logic simulation | |
JP2022175297A (ja) | サンプル生成装置、サンプル生成方法及びサンプル生成プログラム | |
US20140297995A1 (en) | Fault-tolerant system and fault-tolerant operating method | |
CN110795384B (zh) | 一种高效识别文件与地址数据的微处理器 | |
US20120079240A1 (en) | Reduced-Level Shift Overflow Detection | |
US8938705B1 (en) | Systems and methods for partial retention synthesis | |
US11907578B2 (en) | Processing-in-memory control method for efficient instruction processing and computing device applying same | |
US20230110499A1 (en) | Address solving for instruction sequence generation | |
US20070043794A1 (en) | Method and system of signal noise reduction | |
US6760738B2 (en) | Exponent unit of data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 906b, area B, 9 / F, building 1, Zhangjiang jidiangang, 3000 Longdong Avenue, Pudong New Area, Shanghai, 200120 Patentee after: Shanghai Xinwang Microelectronics Technology Co.,Ltd. Address before: Room 906b, area B, 9 / F, building 1, Zhangjiang jidiangang, 3000 Longdong Avenue, Pudong New Area, Shanghai, 200120 Patentee before: SHANGHAI CHIPON MICRO ELECTRONIC TECHNOLOGY CO.,LTD. |