CN111445017A - 一种运算方法及装置 - Google Patents
一种运算方法及装置 Download PDFInfo
- Publication number
- CN111445017A CN111445017A CN202010207582.6A CN202010207582A CN111445017A CN 111445017 A CN111445017 A CN 111445017A CN 202010207582 A CN202010207582 A CN 202010207582A CN 111445017 A CN111445017 A CN 111445017A
- Authority
- CN
- China
- Prior art keywords
- selector
- input
- output
- complex
- terminal
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 239000004302 potassium sorbate Substances 0.000 claims description 47
- 239000004283 Sodium sorbate Substances 0.000 claims description 38
- 239000004303 calcium sorbate Substances 0.000 claims description 38
- 239000011692 calcium ascorbate Substances 0.000 claims description 25
- 239000000542 fatty acid esters of ascorbic acid Substances 0.000 claims description 20
- PPASLZSBLFJQEF-RKJRWTFHSA-M sodium ascorbate Substances [Na+].OC[C@@H](O)[C@H]1OC(=O)C(O)=C1[O-] PPASLZSBLFJQEF-RKJRWTFHSA-M 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 abstract description 35
- 230000008569 process Effects 0.000 description 43
- 238000010586 diagram Methods 0.000 description 24
- 238000009825 accumulation Methods 0.000 description 20
- 239000007787 solid Substances 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 238000003672 processing method Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 239000004229 Alkannin Substances 0.000 description 1
- 239000004230 Fast Yellow AB Substances 0.000 description 1
- 239000004231 Riboflavin-5-Sodium Phosphate Substances 0.000 description 1
- 239000004234 Yellow 2G Substances 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004172 quinoline yellow Substances 0.000 description 1
- 239000002151 riboflavin Substances 0.000 description 1
- 239000004149 tartrazine Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
本申请提供了一种运算方法及装置,运算装置包括复数乘法器、选择器、以及复数加法器。由于,每一复数乘法器由实数加法器、选择器、以及实数乘法器组成,每一复数加法器由实数加法器、选择器、以及实数乘法器组成。所以,在复数运算模式下,输入的运算数据为复数,复数乘法器通过实数乘法器和实数加法器完成对实部和虚部的乘加运算。复数加法器通过实数乘法器和实数加法器完成对实部和虚部的加法运算。在实数运算模式下,输入的运算数据为实数,可以直接使用实数乘法器和实数加法器完成实数的乘法和/或加法运算。运算装置中设置有多个选择器,通过控制选择器选择数据流实现不同的计算功能。
Description
技术领域
本申请涉及信号处理领域,更具体地说,涉及一种运算方法及装置。
背景技术
神经网络是目前最具爆发性的一个新兴学科生长点,它的发展给整个信息科学带来了里程碑式的变化。传统的雷达信号及图像处理中,多采用大量的FFT变换、矩阵乘法与求逆、向量运算等经典信号处理方法来实现目标的测量与识别,具有方法成熟,实现容易,和可靠性高的优点。然而存在计算量庞大、优化手段有限等缺点。近几年,随着智慧雷达、软件化雷达等概念的提出,雷达处理中也陆续引入了人工智能的处理算法。
可以预见,在今后的一段时间内,采用科学计算的传统方式的信号处理方法与采用神经网络的新型信号处理方法可能会被同时使用,然而目前针对神经网络的硬件加速装置和针对科学计算的硬件加速装置却并不相同,因此,神经网络计算与科学计算之间可能无法兼容。
发明内容
本申请提供了一种运算装置,目的在于将神经网络计算与科学计算集成在同一运算装置。
为了实现上述目的,本申请提供了以下技术方案:
一种运算装置,包括:
并联的第一复数乘法器、第二复数乘法器、第三复数乘法器和第四复数乘法器;任意一个复数乘法器由实数加法器、选择器、以及实数乘法器组成;
第一复数加法器、第二复数加法器、第三复数加法器和第四复数加法器;任意一个复数加法器由实数加法器、选择器、以及实数乘法器组成;
第一选择器、第二选择器、第三选择器和第四选择器;
其中,所述第一复数乘法器的输出端与所述第一复数加法器的第一输入端相连,所述第二复数乘法器的输出端与所述第一复数加法器的第二输入端、所述第一选择器的第一输入端以及所述第三选择器的第二输入端相连;所述第三复数乘法器的输出端与所述第二复数加法器的第一输入端相连,所述第四乘法器的输出端与所述第二复数加法器的第二输入端、所述第四复数加法器的第二输入端以及所述第四选择器的第二输入端相连;
所述第一复数加法器的输出端与所述第三选择器的第一输入端以及所述第三复数加法器的第一输入端相连,所述第二复数加法器的输出端与所述第一选择器的第二输入端、所述第二选择器的第二输入端、以及所述第四选择器的第一输入端相连;
所述第一选择器的输出端与所述第三复数加法器的第二输入端相连,所述第二选择器的输出端与所述第四复数加法器的第一输入端相连,所述第三复数加法器的输出端与所述第二选择器的第一输入端相连;
所述第三选择器的输出端为所述运算装置的第一输出端,所述第三复数加法器的输出端为所述运算装置的第二输出端,所述第四复数加法器的输出端为所述运算装置的第三输出端,所述第四选择器的输出端为所述运算装置的第四输出端。
可选地,任意一个复数乘法器包括:
并联的选择器K201、选择器K202、选择器K203和选择器K204;
并联的第一实数乘法器、第二实数乘法器、第三实数乘法器和第四实数乘法器;
第一实数加法器、第二实数加法器、反相器、选择器K205、选择器K206、选择器K207、选择器K208、选择器K209和选择器K2010;
其中,所述选择器K201的输出端与所述第一实数乘法器的第二输入端相连,所述选择器K202的输出端与所述第二实数乘法器的第二输入端相连,所述选择器K203的输出端与所述第三实数乘法器的第二输入端相连,所述选择器K204的输出端与所述第四实数乘法器的第二输入端相连;
所述第一实数乘法器的输出端与所述选择器K205的第一输入端和所述第一实数加法器的第一输入端相连,所述第二实数乘法器的输出端与所述反相器相连,所述反相器的输出端与所述选择器K206的第一输入端相连,所述选择器K206的输出端与所述选择器K205的第二输入端和所述第一实数加法器的第二输入端相连,所述选择器K205的输出端与所述选择器K207的第一输入端相连,所述第一实数加法器的输出端与所述选择器K207的第二输入端和所述选择器K205的控制端相连,所述选择器K207的输出端与所述选择器K206的第二输入端相连;
所述第三实数乘法器的输出端与所述选择器K208的第一输入端和第二实数加法器的第一输入端相连,所述第四实数乘法器的输出端与所述选择器K209的第一输入端相连,所述选择器K209的输出端与所述选择器K208的第二输入端和所述第二实数加法器的第二输入端相连,所述选择器K208的输出端与所述选择器K2010的第一输入端相连,所述第二实数加法器的输出端与所述选择器K2010的第二输入端和所述选择器K208的控制端相连,所述选择器K2010的输出端与所述选择器K209的第二输入端相连。
可选地,任意一个所述复数乘法器的第一输入端包括输入端E201和输入端E202,所述输入端E201与所述第一实数乘法器的第一输入端和所述选择器K204的第一输入端相连,所述输入端E202与所述第二实数乘法器的第一输入端和所述选择器K203的第一输入端相连;
所述复数乘法器的第二输入端包括输入端E203和输入端E204,所述输入端E203与所述第三实数乘法器的第一输入端和所述选择器K201的第一输入端相连,所述输入端E204与所述第四实数乘法器的第一输入端和所述选择器K202的第一输入端相连;
所述复数乘法器的第三输入端与所述选择器K201的第二输入端、所述选择器K202的第二输入端、所述选择器K203的第二输入端和所述选择器K204的第二输入端相连;
所述复数乘法器的第一输出端为所述选择器K207的输出端,所述复数乘法器的第二输出端为所述第二实数乘法器的输出端,所述复数乘法器的第三输出端为所述选择器K2010的输出端,所述复数乘法器的第四输出端为所述第四实数乘法器的输出端。
可选地,任意一个复数加法器包括:
第三实数加法器、选择器K301、选择器K302和选择器K303;
第四实数加法器、选择器K304、选择器K305和选择器K306;
其中,所述选择器K302的输出端与所述选择器K301的第二输入端和所述第三实数加法器的第二输入端相连,所述选择器K301的输出端与所述选择器K303的第一输入端相连,所述第三实数加法器的输出端与所述选择器K303的第二输入端和所述选择器K301的控制端相连,所述选择器K303的输出端与所述选择器K302的第二输入端相连;
所述选择器K305的输出端与所述选择器K304的第二输入端和所述第四实数加法器的第二输入端相连,所述选择器K304的输出端与所述选择器K306的第一输入端相连,所述第四实数加法器的输出端与所述选择器K306的第二输入端和所述选择器K304的控制端相连,所述选择器K306的输出端与所述选择器K305的第二输入端相连。
可选地,任意一个所述复数加法器的第一输入端包括输入端E301和输入端E303;第二输入端包括输入端E302和输入端E304;
其中,所述输入端E301与所述选择器K301的第一输入端和所述第三实数加法器的第一输入端相连;所述输入端E302与所述选择器K302的第一输入端相连;
所述输入端E303与所述选择器K304的第一输入端和所述第四实数加法器的第一输入端相连;所述输入端E304与所述选择器K305的第一输入端相连;
任意一个所述复数加法器的第一输出端为所述选择器K303的输出端,所述复数加法器的第二输出端为所述选择器K306的输出端。
一种运算方法,包括:
向各个复数乘法器的输入端均输入复数,其中,向任一所述复数乘法器的输入端E201和输入端E203输入实部,向输入端E202和输入端E204输入虚部;任一所述复数加法器中的输入端E301和输入端E302用于读入实部,任一所述复数加法器中的输入端E303和输入端E304用于读入虚部;
向各个选择器发送选路控制信号;
其中,所述第一选择器的选路控制信号用于控制所述第一选择器输出所述第一选择器的第二输入端的输入数据,所述第二选择器的选路控制信号用于控制所述第二选择器输出所述第二选择器的第一输入端的输入数据;
任一所述复数乘法器中的所述选择器K201的选路控制信号用于控制所述选择器K201输出所述选择器K201的第一输入端的输入数据,所述选择器K202的选路控制信号用于控制所述选择器K202输出所述选择器K202的第一输入端的输入数据,所述选择器K203的选路控制信号用于控制所述选择器K203输出所述选择器K203的第一输入端的输入数据,所述选择器K204的选路控制信号用于控制所述选择器K204输出所述选择器K204的第一输入端的输入数据,所述选择器K206的选路控制信号用于控制所述选择器K206输出所述选择器K206的第一输入端的输入数据,所述选择器K207的选路控制信号用于控制所述选择器K207输出所述选择器K207的第二输入端的输入数据,所述选择器K209的选路控制信号用于控制所述选择器K209输出所述选择器K209的第一输入端的输入数据,所述选择器K2010的选路控制信号用于控制所述选择器K2010输出所述选择器K2010的第二输入端的输入数据;
所述第一复数加法器、所述第二复数加法器、或所述第三复数加法器中的任意一个复数加法器中的所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第一输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第二输入端的输入数据,所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第一输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第二输入端的输入数据;
所述第四复数加法器中的所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第一输入端和第二输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第二输入端的输入数据,所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第一输入端和第二输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第二输入端的输入数据;
从所述第四复数加法器的输出端获取运算结果,其中,所述运算结果为各个复数乘法器的输入端输入的复数的乘加运算结果。
一种运算方法,包括:
向各个复数乘法器的输入端均输入复数,其中,向任一所述复数乘法器的输入端E201和输入端E203输入实部,向任一所述复数乘法器的输入端E202和输入端E204输入虚部;任一所述复数加法器中的输入端E301和输入端E302用于读入实部,任一所述复数加法器中的输入端E303和输入端E304用于读入虚部;
向各个选择器发送选路控制信号;
其中,任一所述复数乘法器中的所述选择器K201的选路控制信号用于控制所述选择器K201输出所述选择器K201的第一输入端的输入数据,所述选择器K202的选路控制信号用于控制所述选择器K202输出所述选择器K202的第一输入端的输入数据,所述选择器K203的选路控制信号用于控制所述选择器K203输出所述选择器K203的第一输入端的输入数据,所述选择器K204的选路控制信号用于控制所述选择器K204输出所述选择器K204的第一输入端的输入数据,所述选择器K206的选路控制信号用于控制所述选择器K206输出所述选择器K206的第一输入端的输入数据,所述选择器K207的选路控制信号用于控制所述选择器K207输出所述选择器K207的第二输入端的输入数据,所述选择器K209的选路控制信号用于控制所述选择器K209输出所述选择器K209的第一输入端的输入数据,所述选择器K2010的选路控制信号用于控制所述选择器K2010输出所述选择器K2010的第二输入端的输入数据;
所述第一复数加法器、或所述第二复数加法器中的任意一个复数加法器中的所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第一输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第二输入端的输入数据,所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第一输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第二输入端的输入数据;
所述第三复数加法器或所述第四复数加法器中的任意一个复数加法器中的所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第一输入端和第二输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第二输入端的输入数据,所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第一输入端和第二输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第二输入端的输入数据;
从所述第三复数加法器的输出端以及所述第四复数加法器的输出端获取运算结果;
其中,从所述第三复数加法器的输出端获取的运算结果为所述第一复数乘法器的输入端输入的复数和所述第二复数乘法器的输入端输入的复数的乘加运算结果;从所述第四复数加法器的输出端获取的运算结果为所述第三复数乘法器的输入端输入的复数和所述第四复数乘法器的输入端输入的复数的乘加运算结果。
一种运算方法,包括:
向各个复数乘法器的输入端均输入复数,其中,向任一所述复数乘法器的输入端E201和输入端E203输入实部,向任一所述复数乘法器的输入端E202和输入端E204输入虚部;任一所述复数加法器中的输入端E301和输入端E302用于读入实部,任一所述复数加法器中的输入端E303和输入端E304用于读入虚部;
向各个选择器发送选路控制信号;
其中,所述第一选择器的选路控制信号用于控制所述第一选择器输出所述第一选择器的第一输入端的输入数据,所述第三选择器的选路控制信号用于控制所述第三选择器输出所述第三选择器的第一输入端的输入数据,所述第四选择器的选路控制信号用于控制所述第四选择器输出所述第四选择器的第一输入端的输入数据;
任一所述复数乘法器中的所述选择器K201的选路控制信号用于控制所述选择器K201输出所述选择器K201的第一输入端的输入数据,所述选择器K202的选路控制信号用于控制所述选择器K202输出所述选择器K202的第一输入端的输入数据,所述选择器K203的选路控制信号用于控制所述选择器K203输出所述选择器K203的第一输入端的输入数据,所述选择器K204的选路控制信号用于控制所述选择器K204输出所述选择器K204的第一输入端的输入数据,所述选择器K206的选路控制信号用于控制所述选择器K206输出所述选择器K206的第一输入端的输入数据,所述选择器K207的选路控制信号用于控制所述选择器K207输出所述选择器K207的第二输入端的输入数据,所述选择器K209的选路控制信号用于控制所述选择器K209输出所述选择器K209的第一输入端的输入数据,所述选择器K2010的选路控制信号用于控制所述选择器K2010输出所述选择器K2010的第二输入端的输入数据;
任一所述复数加法器中的所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第一输入端和第二输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第二输入端的输入数据,所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第一输入端和第二输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第二输入端的输入数据;
从所述第三选择器的输出端、所述第三复数加法器的输出端、所述第四复数加法器的输出端、以及所述第四选择器的输出端获取运算结果;
其中,从所述第三选择器的输出端获取的运算结果为所述第一复数乘法器的输入端输入的复数的乘加运算结果;从所述第三复数加法器的输出端获取的运算结果为所述第二复数乘法器的输入端输入的复数的乘加运算结果;从所述第四复数加法器的输出端获取的运算结果为所述第四复数乘法器的输入端输入的复数的乘加运算结果,从第四选择器的输出端获取的运算结果为所述第三复数乘法器的输入端输入的复数的乘加运算结果。
一种运算方法,包括:
向任一所述复数乘法器的输入端E201、输入端E202、输入端E203、和输入端E204均输入实数,向输入端W输入实数;任一所述复数加法器的输入端E302和输入端E304用于读入实数;
向各个选择器发送选路控制信号;
其中,所述第一选择器的选路控制信号用于控制所述第一选择器输出所述第一选择器的第一输入端的输入数据,所述第三选择器的选路控制信号用于控制所述第三选择器输出所述第三选择器的第一输入端的输入数据,所述第四选择器的选路控制信号用于控制所述第四选择器输出所述第四选择器的第一输入端的输入数据;
任一所述复数乘法器中的所述选择器K201的选路控制信号用于控制所述选择器K201输出所述选择器K201的第二输入端的输入数据,所述选择器K202的选路控制信号用于控制所述选择器K202输出所述选择器K202的第二输入端的输入数据,所述选择器K203的选路控制信号用于控制所述选择器K203输出所述选择器K203的第二输入端的输入数据,所述选择器K204的选路控制信号用于控制所述选择器K204输出所述选择器K204的第二输入端的输入数据,所述选择器K206的选路控制信号用于控制所述选择器K206输出所述选择器K206的第二输入端的输入数据,所述选择器K207的选路控制信号用于控制所述选择器K207输出所述选择器K207的第二输入端的输入数据,所述选择器K209的选路控制信号用于控制所述选择器K209输出所述选择器K209的第二输入端的输入数据,所述选择器K2010的选路控制信号用于控制所述选择器K2010输出所述选择器K2010的第二输入端的输入数据;
任一所述复数加法器中的所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第一输入端和第二输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第二输入端的输入数据,所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第一输入端和第二输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第二输入端的输入数据;
从任一所述复数乘法器的选择器K205的输出端和所述复数乘法器的选择器K2010的输出端获取运算结果;
其中,从任一所述复数乘法器的选择器K205的输出端获取的运算结果为所述复数乘法器的输入端E201和输入端W输入的实数的乘加运算结果;从任一所述复数乘法器的选择器K2010的输出端获取的运算结果为所述复数乘法器的输入端E203和输入端W输入的实数的乘加运算结果;
从所述第三选择器的输出端获取运算结果,其中,从所述第三选择器的输出端获取的运算结果为所述第一复数乘法器的输入端E202和输入端W输入的实数的乘加运算结果,以及,所述第一复数乘法器的输入端E204和输入端W输入的实数的乘加运算结果;
从所述第三复数加法器的选择器K303的输出端以及选择器K306获取运算结果,其中,从所述第三复数加法器的选择器K303的输出端获取的运算结果为所述第二复数乘法器的输入端E202和输入端W输入的实数的乘加运算结果,从所述第三复数加法器的选择器K306的输出端获取的运算结果为所述第二复数乘法器的输入端E204和输入端W输入的实数的乘加运算结果;
从所述第四选择器的输出端获取运算结果,其中,从所述第四选择器的输出端获取的运算结果为所述第三复数乘法器的输入端E202和输入端W输入的实数的乘加运算结果,以及,所述第三复数乘法器的输入端E204和输入端W输入的实数的乘加运算结果;
从所述第四复数加法器的选择器K303的输出端以及选择器K306获取运算结果,其中,从所述第四复数加法器的选择器K303的输出端获取的运算结果为所述第四复数乘法器的输入端E202和输入端W输入的实数的乘加运算结果,从所述第四复数加法器的选择器K306的输出端获取的运算结果为所述第四复数乘法器的输入端E204和输入端W输入的实数的乘加运算结果。
一种运算方法,包括:
向任一所述复数乘法器的输入端E201、输入端E202、输入端E203、和输入端E204输入实数,并且向所述输入端W输入任意实数;
向各个选择器发送选路控制信号;
其中,所述第一选择器的选路控制信号用于控制所述第一选择器输出所述第一选择器的第一输入端的输入数据,所述第三选择器的选路控制信号用于控制所述第三选择器输出所述第三选择器的第一输入端的输入数据,所述第四选择器的选路控制信号用于控制所述第四选择器输出所述第四选择器的第一输入端的输入数据;
任一所述复数乘法器中的所述选择器K201的选路控制信号用于控制所述选择器K201输出所述选择器K201的第二输入端的输入数据,所述选择器K202的选路控制信号用于控制所述选择器K202输出所述选择器K202的第二输入端的输入数据,所述选择器K203的选路控制信号用于控制所述选择器K203输出所述选择器K203的第二输入端的输入数据,所述选择器K204的选路控制信号用于控制所述选择器K204输出所述选择器K204的第二输入端的输入数据;
所述选择器K205的选路控制信号用于:
当所述选择器K205的控制端的输入数据为正数时,控制所述选择器K205输出所述选择器K205的第一输入端的输入数据;当所述选择器K205的控制端的输入数据为负数时,控制所述选择器K205输出所述选择器K205的第二输入端的输入数据;当所述选择器K205的控制端的输入数据为零时,控制所述选择器K205输出所述选择器K205的第一输入端或第二输入端的输入数据;
所述选择器K206的选路控制信号用于控制所述选择器K206输出所述选择器K206的第一输入端的输入数据,所述选择器K207的选路控制信号用于控制所述选择器K207输出所述选择器K207的第一输入端的输入数据;
所述选择器K208的选路控制信号用于:
当所述选择器K208的控制端的输入数据为正数时,控制所述选择器K208输出所述选择器K208的第一输入端的输入数据;当所述选择器K208的控制端的输入数据为负数时,控制所述选择器K208输出所述选择器K208的第二输入端的输入数据;当所述选择器K208的控制端的输入数据为零时,控制所述选择器K208输出所述选择器K208的第一输入端或第二输入端的输入数据;
所述选择器K209的选路控制信号用于控制所述选择器K209输出所述选择器K209的第一输入端的输入数据,所述选择器K2010的选路控制信号用于控制所述选择器K2010输出所述选择器K2010的第一输入端的输入数据;
任一所述复数加法器中的所述选择器K301的选路控制信号用于:
当所述选择器K301的控制端的输入数据为正数时,控制所述选择器K301输出所述选择器K301的第一输入端的输入数据;当所述选择器K301的控制端的输入数据为负数时,控制所述选择器K301输出所述选择器K301的第二输入端的输入数据;当所述选择器K301的控制端的输入数据为零时,控制所述选择器K301输出所述选择器K301的第一输入端或第二输入端的输入数据;
所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第二输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第一输入端的输入数据;
所述复数加法器中的所述选择器K304的选路控制信号用于:
当所述选择器K304的控制端的输入数据为正数时,控制所述选择器K304输出所述选择器K304的第一输入端的输入数据;当所述选择器K304的控制端的输入数据为负数时,控制所述选择器K304输出所述选择器K304的第二输入端的输入数据;当所述选择器K304的控制端的输入数据为零时,控制所述选择器K304输出所述选择器K304的第一输入端或第二输入端的输入数据;
所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第二输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第一输入端的输入数据;
从所述第三选择器的输出端获取运算结果,其中,从所述第三选择器的输出端获取的运算结果为所述第一复数乘法器的输入端E201输入的实数和输入端E202输入的实数的比较结果,以及,所述第一复数乘法器的输入端E203输入的实数和输入端E204输入的实数的相反数的比较结果;
从所述第三复数加法器的输出端获取运算结果,其中,从所述第三复数加法器的输出端获取的运算结果为所述第二复数乘法器的输入端E201输入的实数和输入端E202输入的实数的比较结果,以及,所述第二复数乘法器的输入端E203输入的实数和输入端E204输入的实数的相反数的比较结果;
从所述第四选择器的输出端获取运算结果,其中,从所述第四选择器的输出端获取的运算结果为所述第三复数乘法器的输入端E201输入的实数和输入端E202输入的实数的比较结果,以及,所述第三复数乘法器的输入端E203输入的实数和输入端E204输入的实数的相反数的比较结果;
从所述第四复数加法器的输出端获取运算结果,其中,从所述第四复数加法器的输出端获取的运算结果为所述第四复数乘法器的输入端E201输入的实数和输入端E202输入的实数的比较结果,以及,所述第四复数乘法器的输入端E203输入的实数和输入端E204输入的实数的相反数的比较结果。
由上述技术方案可以看出,本申请实施例提供的运算装置中包括复数乘法器、选择器、以及复数加法器。由于,每一复数乘法器由实数加法器、选择器、以及实数乘法器组成,每一复数加法器由实数加法器、选择器、以及实数乘法器组成。所以,在复数运算模式下,输入的运算数据为复数,复数乘法器通过实数乘法器和实数加法器完成对实部和虚部的乘加运算。复数加法器通过实数乘法器和实数加法器完成对实部和虚部的加法运算。在实数运算模式下,输入的运算数据为实数,可以直接使用实数乘法器和实数加法器完成实数的乘法和/或加法运算。又由于,运算装置中设置有多个选择器,所以可以通过控制选择器选择数据流,进一步实现不同的计算功能,计算功能包括加法运算、乘法运算、累加运算、和比较运算。
综上,本申请实施例提供的运算装置可以实现在同一装置实现复数运算以及实数运算的目的,其中至少包括复数乘加运算,实数乘加运算、以及实数比较运算。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种运算装置的结构示意图;
图2为本申请实施例提供的一种复数乘法器的结构示意图;
图3为本申请实施例提供的一种复数加法器的结构示意图;
图4为本申请实施例提供的一种复数乘加运算示意图;
图5为本申请实施例提供的一种复数乘法运算示意图;
图6为本申请实施例提供的一种复数加法运算示意图;
图7为本申请实施例提供的一种复数累加运算示意图;
图8为本申请实施例提供的另一种复数乘法运算示意图;
图9为本申请实施例提供的又一种复数乘法运算示意图;
图10为本申请实施例提供的一种实数乘加运算示意图;
图11为本申请实施例提供的一种实数比较运算示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种运算装置的结构图,运算装置包括4个复数乘法器、以及4个复数加法器、4个选择器,分别为图1所示的第一复数乘法器X101、第二复数乘法器X102、第三复数乘法器X103、第四复数乘法器X104、第一复数加法器J101、第二复数加法器J102、第三复数加法器J103、第四复数加法器J104、第一选择器K101、第二选择器K102、第三选择器K103、以及第四选择器K104。其中:
第一复数乘法器的第一输入端为运算装置的输入端E101,第二输入端为运算装置的输入端E102、以及第三输入端为运算装置的输入端W,输出端与第一复数加法器的第一输入端相连。
第二复数乘法器的第一输入端为运算装置的输入端E103、第二输入端为运算装置的输入端E104、以及第三输入端为运算装置的输入端W,输出端分别与第一复数加法器的第一输入端、第一选择器的第一输入端、和第三选择器的第二输入端相连。
第三复数乘法器的第一输入端为运算装置的输入端E105、第二输入端为运算装置的输入端E106、以及第三输入端为运算装置的输入端W,输出端与第二复数加法器的第一输入端相连。
第四复数乘法器的第一输入端为运算装置的输入端E107、第二输入端为运算装置的输入端E108、以及第三输入端为运算装置的输入端W,输出端分别与第二复数加法器的第二输入端、第四复数加法器的第二输入端、和第四选择器的第二输入端相连。
本实施例中,第一复数乘法器、第二复数乘法器、第三复数乘法器以及第四复数乘法器并联设置。
第一复数加法器的输出端与第三选择器的第一输入端以及第三复数加法器的第一输入端相连,第二复数加法器的输出端与第一选择器的第二输入端、第二选择器的第二输入端、以及第四选择器的第一输入端相连,第三选择器的输出端为运算装置的第一输出端。
第一选择器的输出端与第三复数加法器的第二输入端相连,第二选择器的输出端与第四复数加法器的第一输入端相连,第三复数加法器的输出端与第二选择器的第一输入端相连。
第三选择器的输出端为运算装置的第一输出端,第三复数加法器的输出端为运算装置的第二输出端,第四复数加法器的输出端为运算装置的第三输出端,第四选择器的输出端为运算装置的第四输出端。
本实施例中,每一选择器(第一选择器K101、第二选择器K102、第三选择器K103、或第四选择器K104)用于在运算过程中选择通过的数据流。
图2为本申请实施例提供的一种复数乘法器的结构示意图,本实施例以第一复数乘法器为例,对复数乘法器的结构进行介绍。如图2所示,复数乘法器由4个实数乘法器、2个实数加法器、1个反相器以及10个选择器组成,分别为图2所示的第一实数乘法器x201、第二实数乘法器x202、第三实数乘法器x203、第四实数乘法器x204、第一实数加法器j201、第二实数加法器j202、反相器F、选择器K201、选择器K202、选择器K203、选择器K204、选择器K205、选择器K206、选择器K207、选择器K208、选择器K209、以及选择器K2010。
本实施例中,复数乘法器的第一输入端包括输入端E201和输入端E202,复数乘法器的第二输入端包括输入端E203和输入端E204。其中,输入端E201与第一实数乘法器的第一输入端和选择器K204的第一输入端相连,输入端E202与第二实数乘法器的第一输入端和选择器K203的第一输入端相连;输入端E203与第三实数乘法器的第一输入端和选择器K201的第一输入端相连,输入端E204与第四实数乘法器的第一输入端和选择器K202的第一输入端相连。
复数乘法器的第三输入端与选择器K201的第二输入端、选择器K202的第二输入端、选择器K203的第二输入端和选择器K204的第二输入端相连。
本实施例中,第一实数乘法器、第二实数乘法器、第三实数乘法器、以及第四实数乘法器并联设置。
并且,选择器K201的输出端与第一实数乘法器的第二输入端相连,选择器K202的输出端与第二实数乘法器的第二输入端相连,选择器K203的输出端与第三实数乘法器的第二输入端相连,选择器K204的输出端与第四实数乘法器的第二输入端相连。
第一实数乘法器的输出端与选择器K205的第一输入端和第一实数加法器的第一输入端相连,第二实数乘法器的输出端与反相器相连,反相器的输出端与选择器K206的第一输入端相连,选择器K206的输出端与选择器K205的第二输入端和第一实数加法器的第二输入端相连,选择器K205的输出端与选择器K207的第一输入端相连,第一实数加法器的输出端与选择器K207的第二输入端和选择器K205的控制端相连,选择器K207的输出端与选择器K206的第二输入端相连。
第三实数乘法器的输出端与选择器K208的第一输入端和第二实数加法器的第一输入端相连,第四实数乘法器的输出端与选择器K209的第一输入端相连,选择器K209的输出端与选择器K208的第二输入端和第二实数加法器的第二输入端相连,选择器K208的输出端与选择器K2010的第一输入端相连,第二实数加法器的输出端与选择器K2010的第二输入端和选择器K208的控制端相连,选择器K2010的输出端与选择器K209的第二输入端相连。
依据上述连接关系,第一实数乘法器的输入端用于输入来自E201、W、和/或E203的运算数据,第二实数乘法器的输入端用于输入来自E202、W、和/或E204的运算数据,第三实数乘法器的输入端用于输入来自E203、W、和/或E202的运算数据,第四实数乘法器的输入端用于输入来自E204、W、和/或E201的运算数据。
本实施例中,复数乘法器的第一输出端为选择器K207的输出端,复数乘法器的第二输出端为第二实数乘法器的输出端,复数乘法器的第三输出端为选择器K2010的输出端,复数乘法器的第四输出端第四实数乘法器的输出端。
本实施例中,每一选择器(选择器K201、选择器K202、选择器K203、选择器K204、选择器K205、选择器K206、选择器K207、选择器K208、选择器K209、以及选择器K2010)用于在数据运算过程中选择通过的数据流。
图3为本申请实施例提供的一种复数加法器的结构示意图,本实施例以第一复数加法器为例,对复数加法器的结构进行介绍。如图3所示,复数加法器由加法模块31和加法模块32构成。其中,加法模块31包括第三实数加法器j301、选择器K301、选择器K302、以及选择器K303,加法模块32包括第四实数加法器j302、选择器K304、选择器K305、以及选择器K306。
本实施例中,任意一个复数加法器的第一输入端包括输入端E301和输入端E303;复数加法器的第二输入端包括输入端E302和输入端E304。其中:
其中,输入端E301与选择器K301的第一输入端和第三实数加法器的第一输入端相连,输入端E302与选择器K302的第一输入端相连。选择器K302的输出端与选择器K301的第二输入端和第三实数加法器的第二输入端相连,选择器K301的输出端与选择器K303的第一输入端相连。第三实数加法器的输出端与选择器K303的第二输入端和选择器K301的控制端相连,选择器K303的输出端与选择器K302的第二输入端相连。
输入端E303与选择器K304的第一输入端和第四实数加法器的第一输入端相连,输入端E304与选择器K305的第一输入端相连。选择器K305的输出端与选择器K304的第二输入端和第四实数加法器的第二输入端相连,选择器K304的输出端与选择器K306的第一输入端相连,第四实数加法器的输出端与选择器K306的第二输入端和选择器K304的控制端相连,选择器K306的输出端与选择器K305的第二输入端相连。
综上,任意一个复数加法器的第一输出端为选择器K303的输出端,复数加法器的第二输出端为选择器K306的输出端。
在复数运算模式下,本申请提供的运算装置可以实现对复数的乘加运算,例如,在雷达技术领域,雷达信号经过采集和预处理之后,计算数据以多幅复数矩阵的形式存储在一块双口RAM中,则两个矩阵占用两个双口RAM。当对两个矩阵进行运算时,两个双口RAM在每个时钟周期可读出4个待计算数据,当RAM接口的时钟主频是运算装置的两倍,则对于运算装置而言,每个时钟周期可同时输入8个待计算数据,此时,本运算装置可以用于对两个复数矩阵的乘法或者求逆运算。
图4为本申请实施例提供的一种复数乘加运算方法示意图,图4中的实线箭头线示例了运算装置的运算过程。
具体地,本方法可以包括:
S401、向各个复数乘法器的输入端均输入复数,其中,向任一复数乘法器的输入端E201和输入端E203输入实部,向输入端E202和输入端E204输入虚部。任一复数加法器中的输入端E301和输入端E302用于读入实部,输入端E303和输入端E304用于读入虚部,其中,任一复数加法器中的输入端E301、输入端E302、输入端E303和输入端E304读入的数据的来源,根据实际的连接关系确定。例如,图4所示的第一复数加法器J101中的输入端E301用于读入第一复数乘法器的输出的实部,输入端E302用于读入第二复数乘法器的输出的实部,输入端E303用于读入第一复数乘法器的输出的虚部,输入端E304用于读入第二复数乘法器的输出的虚部。
S402、向各个选择器发送选路控制信号。
其中,第一选择器的选路控制信号用于控制第一选择器输出第一选择器的第二输入端的输入数据,第二选择器的选路控制信号用于控制第二选择器输出第二选择器的第一输入端的输入数据。
任一复数乘法器中的选择器K201的选路控制信号用于控制选择器K201输出选择器K201的第一输入端的输入数据,选择器K202的选路控制信号用于控制选择器K202输出选择器K202的第一输入端的输入数据,选择器K203的选路控制信号用于控制选择器K203输出选择器K203的第一输入端的输入数据,选择器K204的选路控制信号用于控制选择器K204输出选择器K204的第一输入端的输入数据,选择器K206的选路控制信号用于控制选择器K206输出选择器K206的第一输入端的输入数据,选择器K207的选路控制信号用于控制选择器K207输出选择器K207的第二输入端的输入数据,选择器K209的选路控制信号用于控制选择器K209输出选择器K209的第一输入端的输入数据,选择器K2010的选路控制信号用于控制选择器K2010输出选择器K2010的第二输入端的输入数据。
第一复数加法器、第二复数加法器、或第三复数加法器中的任意一个复数加法器中的选择器K302的选路控制信号用于控制选择器K302输出选择器K302的第一输入端的输入数据,选择器K303的选路控制信号用于控制选择器K303输出选择器K303的第二输入端的输入数据,选择器K305的选路控制信号用于控制选择器K305输出选择器K305的第一输入端的输入数据,选择器K306的选路控制信号用于控制选择器K306输出选择器K306的第二输入端的输入数据。
第四复数加法器中的选择器K302的选路控制信号用于控制选择器K302输出选择器K302的第一输入端和第二输入端的输入数据,选择器K303的选路控制信号用于控制选择器K303输出选择器K303的第二输入端的输入数据,选择器K305的选路控制信号用于控制选择器K305输出选择器K305的第一输入端和第二输入端的输入数据,选择器K306的选路控制信号用于控制选择器K306输出选择器K306的第二输入端的输入数据。
S403、从第四复数加法器的输出端获取运算结果,其中,运算结果为各个复数乘法器的输入端输入的复数的乘加运算结果。
需要说明的是,上述各个选择器的控制方法可以根据输入的运算数据之间的运算关系提前预设。
可选地,基于上述运算方法,本运算装置可以具体应用于算式1的计算,算式1为:
Y=A1B1+A2B2+...+AnBn (1)
算式1中,Ar、Br(r∈[1,n])以及Y均为复数,图4中的实线箭头线示例了算式1的运算过程。
本实施例中,每一拍读入的运算数据最多为4组8个运算数据,每一组包括算式1中相乘的两个复数。例如,第1拍(即P1)读入至运算装置的运算数据为4组,分别为:A1和B1、A2和B2、A3和B3、以及A4和B4。第2拍(即P2)读入至运算装置的运算数据也为4组,分别为:A5和B5、A6和B6、A7和B7、以及A8和B8。因为运算装置对每一拍的运算数据进行运算的过程相同,本实施例以第一拍为例对运算过程进行说明。
其中,A1和B1读入至第一复数乘法器,由第一复数乘法器对A1和B1进行复数乘法运算,并输出乘法运算结果A1B1。A2和B2读入至第二复数乘法器,由第二复数乘法器对A2和B2进行复数乘法运算,并输出乘法运算结果A2B2。A3和B3读入至第三复数乘法器,由第三复数乘法器对A3和B3进行复数乘法运算,并输出乘法运算结果A3B3。A4和B4读入至第四复数乘法器,由第四复数乘法器对A4和B4进行复数乘法运算,并输出乘法运算结果A4B4。
进一步,乘法运算结果A1B1和A2B2读入至第一复数加法器,由第一复数加法器对A1B1和A2B2进行复数加法运算,并输出加法运算结果A1B1+A2B2。乘法运算结果A3B3和A4B4读入至第二复数加法器由第一复数加法器对A3B3和A4B4进行复数加法运算,并输出加法运算结果A3B3+A4B4。
进一步,加法运算结果A1B1+A2B2读入至第三复数加法器,同时第一选择器被预设为选择加法运算结果A3B3+A4B4读入至第三复数加法器,由第三复数加法器对A1B1+A2B2和A3B3+A4B4复数加法运算,并输出加法运算结果A1B1+A2B2+A3B3+A4B4。
进一步,第二选择器被预设为选择加法运算结果A1B1+A2B2+A3B3+A4B4读入至第四复数加法器,由第四复数加法器完成对每一拍第四复数加法器输出的加法运算结果的累加运算。
最后,算式1中的所有运算数据经过上述的运算过程后,由第四复数加法器输出算式1的运算结果Y。
需要说明的是,本实施例中,每一拍读入的运算数据也可以为1组、2组、或3组,例如,若算式1中剩余的运算数据小于4组或者算式1中n<4,则将运算数据全部输入至运算装置进行运算即可。并且,本实施例对算式1中的各组运算数据读入至运算装置的顺序不做限定。
本实施例中,复数乘法器可以完成对读入的两个复数的乘法运算,由于每一复数乘法器的运算过程相同。所以,仅以第一复数乘法器对A1和B1进行复数乘法运算为例,对复数乘法运算过程进行说明。
图5为本申请实施例提供的复数乘法运算示意图,记A1=a+bi,且B1=c+di,其中,a、b、c、和d为实数,i为虚数单位。则乘法运算结果为:
A1B1=(ac-bd)+(ad+bc)i
图5中的实线箭头线示例了A1 B1的运算过程。其中,A1和B1的实部和虚部读入至第一复数乘法器。其中,A1的实部a读入至第一实数乘法器,同时第四选择器被预设为选择A1的实部a读入至第四实数乘法器。A1的虚部b读入至第二实数乘法器同时第三选择器被预设为选择A1的虚部b读入至第三实数乘法器。B1的实部c读入至第三实数乘法器,同时第一选择器被预设为选择B1的实部c读入至第一实数乘法器。B1的虚部d读入至第四实数乘法器,同时第二选择器被预设为选择B1的虚部d读入至第二实数乘法器。
第一实数乘法器对实数a和c进行实数乘法运算,输出乘法运算结果ac,并且乘法运算结果ac直接读入至第一实数加法器。
第二实数乘法器对实数b和d进行实数乘法运算,输出乘法运算结果bd。并且,乘法运算结果bd经过反相器输出为-bd,选择器K206被预设为选择-bd读入至第一实数加法器。
第一实数加法器对读入的实数ac和-bd进行加法运算,输出加法运算结果ac-bd。并且,选择器K207被预设为选择将该加法运算结果ac-bd作为第一复数乘法器的运算结果的实部输出。
第三实数乘法器对实数b和c进行实数乘法运算,输出乘法运算结果bc。并且乘法运算结果ac直接读入至第二实数加法器。第四实数乘法器对实数a和d进行实数乘法运算,输出乘法运算结果ad。选择器K209被预设为选择乘法运算结果ad读入至第二实数加法器。第二实数加法器对bc和ad进行加法运算,输出加法运算结果ad+bc,选择器K2010被预设为选择ad+bc作为第一复数乘法器的运算结果的虚部输出。基于此,得到第一复数乘法器的乘法运算结果为(ac-bd)+(ad+bc)i。
本实施例中,第一复数加法器、第二复数加法器、以及第三复数加法器可以完成对读入的两个复数的加法运算,由于每一加法乘法器的运算过程相同。所以,仅以第一复数加法器对A1B1和A2B2进行复数加法运算为例,对复数加法运算过程进行说明。
图6为本申请实施例提供的一种复数加法运算示意图,为了便于描述,记A1B1=p1+g1i,记A2B2=p2+g2i,则第一复数加法器的复数加法运算结果为A1B1+A2B2=(p1+p2)+(g1+g2)i。图6中的实线箭头线示例了A1B1+A2B2的运算过程。
其中,第一复数加法器中加法模块31的两个输入端分别读入第一复数乘法器输出端的A1B1的实部p1,以及来自第二复数乘法器输出端的A2B2的实部p2。并且,由第三实数加法器进行对p1和p2的加法运算,输出加法运算结果p1+p2。进一步,选择器K303被预设为选择该加法运算结果p1+p2作为第一复数加法器的复数加法运算结果的A1B1+A2B2的实部输出。
本实施例中,第一复数加法器中加法模块32的两个输入端分别读入第一复数乘法器输出端的A1B1的虚部g1,以及来自第二复数乘法器输出端的A2B2的虚部g2。并且,由第四实数加法器进行对g1和g2的加法运算,输出加法运算结果g1+g2。进一步,选择器K306被预设为选择该加法运算结果g1+g2作为第一复数加法器的复数加法运算结果的A1B1+A2B2的虚部输出。
本实施例中,第四复数加法器可以完成对读入的多个复数的累加运算。可以理解的是,逐个读入第四复数加法器的复数为每一拍运算数据的乘加运算结果(例如第一拍的乘加运算结果A1B1+A2B2+A3B3+A4B4)。本实施例以前三拍的乘加运算结果的累加运算为例,对复数加法器对复数的累加运算过程进行说明。
为了便于描述,记先后读入第四复数加法器的复数为Z1、Z2、以及Z3。其中,Z1=P1+G1i,Z2=P2+G2i,Z1=P3+G3i。图7为本申请实施例提供的一种复数累加运算示意图。图7中的实线箭头线示例了Z1+Z2+Z3的运算过程。
其中,选择器K302被预设为选择输入端输入的运算数据以及选择器K303输出的运算数据输出,第三实数加法器用于对选择器K302输出的两个实数进行加法运算,并输出加法运算结果。选择器K303被预设为选择第三实数加法器的加法运算结果输出。
在第一拍时,第四复数加法器的加法模块31的输入端E302读入来自第三复数加法器输出的第一拍运算数据的加法运算结果的实部P1,由于此时选择器K303输出的运算数据为空,所以P1直接由输出选择器K303输出。
在第二拍时,第四复数加法器的加法模块31的输入端E302读入来自第三复数加法器输出的第二拍运算数据的加法运算结果的实部P2。此时,选择器K302输出P2以及P1。第三实数加法器对P2以及P1进行加法运算,并输出加法运算结果P2+P1。并且,由输出选择器K303输出加法运算结果P2+P1。
在第三拍时,第四复数加法器的加法模块31的输入端E302读入来自第三复数加法器输出的第三拍运算数据的加法运算结果的实部P3。此时,选择器K302输出P3以及P2+P1。第三实数加法器对P3以及P2+P1进行加法运算,并输出加法运算结果P1+P2+P3。并且,由输出选择器K303输出加法运算结果P1+P2+P3。
基于上述技术方案,第四复数加法器的加法模块31的输入端E302逐个读入来自第三复数加法器输出的每一拍运算数据的加法运算结果的实部,进行累加运算,得到最后的累加结果,作为第四复数加法器的复数累加运算结果Y的实部输出。
如图7所示,第四复数加法器的加法模块32用于,输入端E302逐个读入来自第三复数加法器输出的每一拍运算数据的加法运算结果的虚部,并对虚部进行累加运算,得到最后的累加结果,作为第四复数加法器的复数累加运算结果Y的虚部输出。具体的运算过程可以参照实部的累加过程,本实施例不做赘述。
基于上述技术方案,本申请的运算装置由第四复数加法器输出算式1的运算结果Y。
图8为本申请实施例提供的另一种复数乘加运算方法示意图,图8中的实线箭头线示例了运算装置的运算过程。
具体地,本方法可以包括:
S801、向各个复数乘法器的输入端均输入复数,其中,向任一复数乘法器的输入端E201和输入端E203输入实部,向输入端E202和输入端E204输入虚部。任一复数加法器中的输入端E301和输入端E302用于读入实部,输入端E303和输入端E304用于读入虚部。
S802、向各个选择器发送选路控制信号。
其中,任一复数乘法器中的选择器K201的选路控制信号用于控制选择器K201输出选择器K201的第一输入端的输入数据,选择器K202的选路控制信号用于控制选择器K202输出选择器K202的第一输入端的输入数据,选择器K203的选路控制信号用于控制选择器K203输出选择器K203的第一输入端的输入数据,选择器K204的选路控制信号用于控制选择器K204输出选择器K204的第一输入端的输入数据,选择器K206的选路控制信号用于控制选择器K206输出选择器K206的第一输入端的输入数据,选择器K207的选路控制信号用于控制选择器K207输出选择器K207的第二输入端的输入数据,选择器K209的选路控制信号用于控制选择器K209输出选择器K209的第一输入端的输入数据,选择器K2010的选路控制信号用于控制选择器K2010输出选择器K2010的第二输入端的输入数据。
第一复数加法器、或第二复数加法器中的任意一个复数加法器中的选择器K302的选路控制信号用于控制选择器K302输出选择器K302的第一输入端的输入数据,选择器K303的选路控制信号用于控制选择器K303输出选择器K303的第二输入端的输入数据,选择器K305的选路控制信号用于控制选择器K305输出选择器K305的第一输入端的输入数据,选择器K306的选路控制信号用于控制选择器K306输出选择器K306的第二输入端的输入数据。
第三复数加法器或第四复数加法器中的任意一个复数加法器中的选择器K302的选路控制信号用于控制选择器K302输出选择器K302的第一输入端和第二输入端的输入数据,选择器K303的选路控制信号用于控制选择器K303输出选择器K303的第二输入端的输入数据,选择器K305的选路控制信号用于控制选择器K305输出选择器K305的第一输入端和第二输入端的输入数据,选择器K306的选路控制信号用于控制选择器K306输出选择器K306的第二输入端的输入数据。
S803、从第三复数加法器的输出端以及第四复数加法器的输出端获取运算结果。
其中,从第三复数加法器的输出端获取的运算结果为第一复数乘法器的输入端输入的复数和第二复数乘法器的输入端输入的复数的乘加运算结果。从第四复数加法器的输出端获取的运算结果为第三复数乘法器的输入端输入的复数和第四复数乘法器的输入端输入的复数的乘加运算结果。
需要说明的是,上述各个选择器的控制方法可以根据输入的运算数据之间的运算关系提前预设。
可选地,基于上述运算方法,本运算装置可以具体应用于算式2的计算,算式2可以看作两个复数矩阵相乘,第一矩阵大小为2×n,第二矩阵大小为n×2。则算式2包括2个计算式Y1和Y2,如下:
图8中的实线部分示例了算式2的运算过程。参照图8实线所示的运算过程,以第一拍为例,第一复数乘法器以及第二复数乘法器分别完成计算式Y1中的两组乘数的乘法运算,并输出各自的乘法运算结果A11B11和A12B12,由第一复数加法器完成A11B11和A12B12加法运算,并输出加法运算结果A11B11+A12B12至第三复数加法器,由第三复数加法器完成每一拍加法运算结果的累加运算,最后输出Y1的运算结果。
第三复数乘法器以及第四复数乘法器分别完成计算式Y2中的两组乘数的乘法运算,并输出各自的乘法运算结果A21B21和A22B22,由第二复数加法器完成A21B21和A22B22加法运算,并输出加法运算结果A21B21+A22B22,第四选择器被预设为选择A21B21+A22B22输出至第四复数加法器,由第四复数加法器完成每一拍加法运算结果的累加运算,最后输出Y2的运算结果。
需要说明的是,每一复数乘法器对其读入的两个复数的乘法运算过程可以参照上述图5所示的第一复数乘法器的乘法运算过程。并且,第一复数加法器和第二复数加法器进行加法运算,运算过程可以参照上述图6所示的第一复数加法器的加法运算过程。第三复数加法器和第四复数加法器进行累加运算,运算过程可以参照上述图7所示的第四复数加法器的累加运算过程。
图9为本申请实施例提供的另一种复数乘加运算方法示意图,图9中的实线箭头线示例了运算装置的运算过程。
具体地,本方法可以包括:
S901、向各个复数乘法器的输入端均输入复数,其中,向任一复数乘法器的输入端E201和输入端E203输入实部,向输入端E202和输入端E204输入虚部。任一复数加法器中的输入端E301和输入端E302用于读入实部,输入端E303和输入端E304用于读入虚部。
S902、向各个选择器发送选路控制信号。
其中,第一选择器的选路控制信号用于控制第一选择器输出第一选择器的第一输入端的输入数据,第三选择器的选路控制信号用于控制第三选择器输出第三选择器的第一输入端的输入数据,第四选择器的选路控制信号用于控制第四选择器输出第四选择器的第一输入端的输入数据。
任一复数乘法器中的选择器K201的选路控制信号用于控制选择器K201输出选择器K201的第一输入端的输入数据,选择器K202的选路控制信号用于控制选择器K202输出选择器K202的第一输入端的输入数据,选择器K203的选路控制信号用于控制选择器K203输出选择器K203的第一输入端的输入数据,选择器K204的选路控制信号用于控制选择器K204输出选择器K204的第一输入端的输入数据,选择器K206的选路控制信号用于控制选择器K206输出选择器K206的第一输入端的输入数据,选择器K207的选路控制信号用于控制选择器K207输出选择器K207的第二输入端的输入数据,选择器K209的选路控制信号用于控制选择器K209输出选择器K209的第一输入端的输入数据,选择器K2010的选路控制信号用于控制选择器K2010输出选择器K2010的第二输入端的输入数据。
任一复数加法器中的选择器K302的选路控制信号用于控制选择器K302输出选择器K302的第一输入端和第二输入端的输入数据,选择器K303的选路控制信号用于控制选择器K303输出选择器K303的第二输入端的输入数据,选择器K305的选路控制信号用于控制选择器K305输出选择器K305的第一输入端和第二输入端的输入数据,选择器K306的选路控制信号用于控制选择器K306输出选择器K306的第二输入端的输入数据。
S903、从第三选择器的输出端、第三复数加法器的输出端、第四复数加法器的输出端、以及第四选择器的输出端获取运算结果。
其中,从第三选择器的输出端获取的运算结果为第一复数乘法器的输入端输入的复数的乘加运算结果。从第三复数加法器的输出端获取的运算结果为第二复数乘法器的输入端输入的复数的乘加运算结果。从第四复数加法器的输出端获取的运算结果为第四复数乘法器的输入端输入的复数的乘加运算结果,从第四选择器的输出端获取的运算结果为第三复数乘法器的输入端输入的复数的乘加运算结果。
需要说明的是,上述各个选择器的控制方法可以根据输入的运算数据之间的运算关系提前预设。
可选地,基于上述运算方法,本运算装置可以具体应用于算式3的计算,算式3可以看做两个复数矩阵相乘,第一矩阵大小为4×n,第二矩阵大小为n×4。则算式4包括4个计算式Y1~Y4如下:
图9中的实线部分示例了算式3的运算过程。参照图9实线所示的运算过程,由第一复数乘法器以及第一复数加法器完成计算式Y1的运算,且第三选择器被预设为选择Y1的运算结果输出。
第一选择器被预设为选择第二复数乘法器的乘法运算结果输出,即由第二复数乘法器以及第三复数加法器完成计算式Y2的运算。由第三复数加法器输出Y2的运算结果。
由第三复数乘法器以及第二复数加法器完成计算式Y3的运算,且第四选择器被预设为选择Y3的运算结果输出。
由第四复数乘法器以及第四复数加法器完成计算式Y4的运算,由第四复数加法器输出Y4的运算结果。
需要说明的是,每一复数乘法器对其读入的两个复数的乘法运算过程可以参照上述图5所示的第一复数乘法器的乘法运算过程。并且,每一复数加法器均进行累加运算,运算过程可以参照上述图7所示的第四复数加法器的累加运算过程。
由算式4的运算过程可知,本申请的运算装置在一个计算周期最多可以同时对四个复数乘加计算式进行运算。所以,当算式中包括的计算式的数量大于4时,例如,第一矩阵大小m×n,第二矩阵大小n×m(m>4),此时,运算过程包括多个计算周期,每一计算周期最多可以同时计算4个计算式,直至得到m个计算式的计算结果。
需要说明的是,算式2或算式3中的每一计算式,都可以参照算式1的运算过程进行运算,即逐个运算算式2或算式3中的每一计算式。所以,在实际应用中,可以根据需要,选择算式的运算方式。
在实数运算模式下,本申请提供的运算装置直接读入待计算的实数数据,利用实数乘法器对读入的两个实数进行实数乘法运算,输出乘法运算结果。利用实数加法器对读入的两个实数进行实数加法运算,输出加法运算结果。基于本申请的运算装置的连接关系,可以通过控制每一选择器的选择完成对多个实数乘加的运算。例如,在神经网络领域,神经网络的新型信号处理方法需要涉及实数的乘法、加法、以及累加运算。
图10为本申请实施例提供的一种实数乘加运算方法的示意图,图10中的实线箭头线示例了运算装置的运算过程。
具体地,本方法可以包括:
S1001、向任一所述复数乘法器的输入端E201、输入端E202、输入端E203、输入端E204、和输入端W均输入实数;任一所述复数加法器的输入端E302和输入端E304用于读入实数;
S1002、向各个选择器发送选路控制信号。
其中,第一选择器的选路控制信号用于控制第一选择器输出第一选择器的第一输入端的输入数据,第三选择器的选路控制信号用于控制第三选择器输出第三选择器的第一输入端的输入数据,第四选择器的选路控制信号用于控制第四选择器输出第四选择器的第一输入端的输入数据。
任一复数乘法器中的选择器K201的选路控制信号用于控制选择器K201输出选择器K201的第二输入端的输入数据,选择器K202的选路控制信号用于控制选择器K202输出选择器K202的第二输入端的输入数据,选择器K203的选路控制信号用于控制选择器K203输出选择器K203的第二输入端的输入数据,选择器K204的选路控制信号用于控制选择器K204输出选择器K204的第二输入端的输入数据,选择器K206的选路控制信号用于控制选择器K206输出选择器K206的第二输入端的输入数据,选择器K207的选路控制信号用于控制选择器K207输出选择器K207的第二输入端的输入数据,选择器K209的选路控制信号用于控制选择器K209输出选择器K209的第二输入端的输入数据,选择器K2010的选路控制信号用于控制选择器K2010输出选择器K2010的第二输入端的输入数据。
任一复数加法器中的选择器K302的选路控制信号用于控制选择器K302输出选择器K302的第一输入端和第二输入端的输入数据,选择器K303的选路控制信号用于控制选择器K303输出选择器K303的第二输入端的输入数据,选择器K305的选路控制信号用于控制选择器K305输出选择器K305的第一输入端和第二输入端的输入数据,选择器K306的选路控制信号用于控制选择器K306输出选择器K306的第二输入端的输入数据。
从任一复数乘法器的选择器K205的输出端和复数乘法器的选择器K2010的输出端获取运算结果。其中,从任一复数乘法器的选择器K205的输出端获取的运算结果为复数乘法器的输入端E201输入的实数和输入端W输入的实数的乘加运算结果。从任一复数乘法器的选择器K2010的输出端获取的运算结果为复数乘法器的输入端E203输入的实数和输入端W输入的实数的乘加运算结果。
S1003、从第三选择器的输出端获取运算结果,其中,从第三选择器的输出端获取的运算结果为第一复数乘法器的输入端E202输入的实数的和输入端W输入的实数的乘加运算结果,以及,第一复数乘法器的输入端E204输入的实数的和输入端W输入的实数的乘加运算结果。
从第三复数加法器的选择器K303的输出端以及选择器K306获取运算结果,其中,从第三复数加法器的选择器K303的输出端获取的运算结果为第二复数乘法器的输入端E202输入的实数和输入端W输入的实数的乘加运算结果,从第三复数加法器的选择器K306的输出端获取的运算结果为第二复数乘法器的输入端E204输入的实数和输入端W输入的实数的乘加运算结果。
从第四选择器的输出端获取运算结果,其中,从第四选择器的输出端获取的运算结果为第三复数乘法器的输入端E202输入的实数和输入端W输入的实数的乘加运算结果,以及,第三复数乘法器的输入端E204输入的实数和输入端W输入的实数的乘加运算结果。
从第四复数加法器的选择器K303的输出端以及选择器K306获取运算结果,其中,从第四复数加法器的选择器K303的输出端获取的运算结果为第四复数乘法器的输入端E202输入的实数和输入端W输入的实数的乘加运算结果,从第四复数加法器的选择器K306的输出端获取的运算结果为第四复数乘法器的输入端E204输入的实数和输入端W输入的实数的乘加运算结果。
需要说明的是,上述各个选择器的控制方法可以根据输入的运算数据之间的运算关系提前预设。
本实施例中,以实数矩阵乘法为例对上述实数乘加运算方法进行说明。
例如,计算矩阵A与向量W的乘积,记aij为矩阵A(m×n)的第i行第j列元素,其中i∈[1,n],j∈[1,m]。记wr为n维向量W的第i个元素。记Y=A×W,则记算式4为:
由于每一复数乘法器包括4个实数乘法器以及2个实数加法器,每一复数加法器包括2个实数加法器。所以,使用一个复数乘法器以及一个实数加法器可以计算算式4中的4个计算式,即运算装置在一个计算周期可以同时计算算式4中的16个计算式。所以在本实施例,运算装置中的第一选择器~第四选择器的控制方法可以参考图9,图9中的实线示出了算式4的运算过程。
以运算装置使用第一复数乘法器以及第一复数加法器同时计算y1~y4为例对运算过程进行说明。图10为本申请实施例提供的一种实数乘加运算示意图,图10中的实线箭头示例了y1~y4的运算过程。
其中,由选择器K201、第一实数乘法器、第一实数加法器、选择器K207、以及选择器K206实现y1的计算。由选择器K202、第二实数乘法器、选择器K302、第三实数加法器、以及选择器K303实现y2的计算。由选择器K203、第三实数乘法器、第二实数加法器、选择器K2010、以及选择器K209实现y3的计算。由选择器K204、第四实数乘法器、选择器K305、第四实数加法器、以及选择器K306实现y4的计算。因为y1~y4的运算过程相同,所以以y1运算过程为例进行说明,如下:
第一实数乘法器逐个读入a11~a1n,选择器K201被预设为选择逐个w1~wn,第一实数乘法器对每一拍读入a1i和wi进行实数乘法运算,输出运算结果a1i wi,每一拍的a1i wi读入至第一实数加法器,由第一实数加法器、选择器K207、以及选择器K206实现累加运算,累加运算的过程可以参考图7,最后由选择器K207输出运算结果y1。
基于上述技术方案,运算装置在一个计算周期最多可以同时计算算式4中的16个计算式,并输出运算结果y1~y16。
在实数比较模式下,本申请实施例提供的运算装置可以完成对实数的比较运算,例如,可以完成在卷积神经网络的激活与池化中的比较运算。图11为本申请实施例提供的一种实数比较运算方法的示意图,图11中的实线箭头线示例了运算装置的运算过程。
具体地,本方法可以包括:
S1101、向任一复数乘法器的输入端E201、输入端E202、输入端E203、和输入端E204输入实数,并且向输入端W输入任意实数。
S1102、向各个选择器发送选路控制信号。
其中,第一选择器的选路控制信号用于控制第一选择器输出第一选择器的第一输入端的输入数据,第三选择器的选路控制信号用于控制第三选择器输出第三选择器的第一输入端的输入数据,第四选择器的选路控制信号用于控制第四选择器输出第四选择器的第一输入端的输入数据。
任一复数乘法器中的选择器K201的选路控制信号用于控制选择器K201输出选择器K201的第二输入端的输入数据,选择器K202的选路控制信号用于控制选择器K202输出选择器K202的第二输入端的输入数据,选择器K203的选路控制信号用于控制选择器K203输出选择器K203的第二输入端的输入数据,选择器K204的选路控制信号用于控制选择器K204输出选择器K204的第二输入端的输入数据。
选择器K205的选路控制信号用于:
当选择器K205的控制端的输入数据为正数时,控制选择器K205输出选择器K205的第一输入端的输入数据,当选择器K205的控制端的输入数据为负数时,控制选择器K205输出选择器K205的第二输入端的输入数据当选择器K205的控制端的输入数据为零时,控制选择器K205输出选择器K205的第一输入端或第二输入端的输入数据。
选择器K206的选路控制信号用于控制选择器K206输出选择器K206的第一输入端的输入数据,选择器K207的选路控制信号用于控制选择器K207输出选择器K207的第一输入端的输入数据。
选择器K208的选路控制信号用于:
当选择器K208的控制端的输入数据为正数时,控制选择器K208输出选择器K208的第一输入端的输入数据当选择器K208的控制端的输入数据为负数时,控制选择器K208输出选择器K208的第二输入端的输入数据当选择器K208的控制端的输入数据为零时,控制选择器K208输出选择器K208的第一输入端或第二输入端的输入数据。
选择器K209的选路控制信号用于控制选择器K209输出选择器K209的第一输入端的输入数据,选择器K2010的选路控制信号用于控制选择器K2010输出选择器K2010的第一输入端的输入数据。
任一复数加法器中的选择器K301的选路控制信号用于:
当选择器K301的控制端的输入数据为正数时,控制选择器K301输出选择器K301的第一输入端的输入数据当选择器K301的控制端的输入数据为负数时,控制选择器K301输出选择器K301的第二输入端的输入数据当选择器K301的控制端的输入数据为零时,控制选择器K301输出选择器K301的第一输入端或第二输入端的输入数据。
选择器K302的选路控制信号用于控制选择器K302输出选择器K302的第二输入端的输入数据,选择器K303的选路控制信号用于控制选择器K303输出选择器K303的第一输入端的输入数据。
复数加法器中的选择器K304的选路控制信号用于:
当选择器K304的控制端的输入数据为正数时,控制选择器K304输出选择器K304的第一输入端的输入数据当选择器K304的控制端的输入数据为负数时,控制选择器K304输出选择器K304的第二输入端的输入数据当选择器K304的控制端的输入数据为零时,控制选择器K304输出选择器K304的第一输入端或第二输入端的输入数据。
选择器K305的选路控制信号用于控制选择器K305输出选择器K305的第二输入端的输入数据,选择器K306的选路控制信号用于控制选择器K306输出选择器K306的第一输入端的输入数据。
S1104、从第三选择器的输出端获取运算结果,其中,从第三选择器的输出端获取的运算结果为第一复数乘法器的输入端E201输入的实数和输入端E202输入的实数的比较结果,以及,第一复数乘法器的输入端E203输入的实数和输入端E204输入的实数的相反数的比较结果。
从第三复数加法器的输出端获取运算结果,其中,从第三复数加法器的输出端获取的运算结果为第二复数乘法器的输入端E201输入的实数和输入端E202输入的实数的比较结果,以及,第二复数乘法器的输入端E203输入的实数和输入端E204输入的实数的相反数的比较结果。
从第四选择器的输出端获取运算结果,其中,从第四选择器的输出端获取的运算结果为第三复数乘法器的输入端E201输入的实数和输入端E202输入的实数的比较结果,以及,第三复数乘法器的输入端E203输入的实数和输入端E204输入的实数的相反数的比较结果。
从第四复数加法器的输出端获取运算结果,其中,从第四复数加法器的输出端获取的运算结果为第四复数乘法器的输入端E201输入的实数和输入端E202输入的实数的比较结果,以及,第四复数乘法器的输入端E203输入的实数和输入端E204输入的实数的相反数的比较结果。
需要说明的是,上述各个选择器的控制方法可以根据输入的运算数据之间的运算关系提前预设。
由上述的运算方法可以看出,本申请的运算装置在一个比较周期,最多可以同时完成8组比较式的比较运算。以每一组比较式的比较运算结果为输出最大值为例,记算式5包括8个比较式,如下:
其中,由一个复数乘法器和一个复数加法器完成2组比较式的比较运算,所以在本实施例,运算装置中的第一选择器~第四选择器的预设方法可以参考图9,图9中的实线示出了算式5的运算过程。
以运算装置使用第一复数乘法器以及第一复数加法器同时计算算式5中的比较式y1和y2为例,对比较运算过程进行说明。图11为本申请实施例提供的一种实数比较运算示意图,图11中的实线箭头示例了比较式y1和y2的运算过程。因为y1和y2的运算过程相同,所以以y1运算过程为例进行说明,如下:
比较式y1中的所有实数分为两部分,第一部分的实数逐个读入至第一实数乘法器,第二部分的实数逐个读入至第二实数乘法器。如图1所示,第一实数乘法器逐个读入a11,a13,a15…,第二实数乘法器逐个读入a12,a14,a16…,并且,选择器K201和选择器K202被预设为每一拍均选择W端的输出w=1。
以第一拍为例,第一实数乘法器输出乘法运算结果a11至第一实数加法运算器以及选择器K205。第二实数乘法器输出乘法运算结果a12,进一步由反相器F输出-a12,且选择器K206被预设为选择-a12输出至第一实数加法运算器以及选择器K205。第一实数加法运算器输出运算结果为a11-a12。可以理解的是,当a11>a12时,a11-a12>0,当a11<a12时,a11-a12<0。选择器K205被预设为,当a11-a12符号为正,则选择第一实数乘法器的运算结果即a11输出。当a11-a12符号为负或为0,则选择选择器K206的运算结果的绝对值即a12输出。由此,得到第一拍两个实数的比较结果max{a11,a12}。
进一步,每一拍的比较结果逐个读入至第一复数加法器中的加法模块31中,进行累计比较运算。记第一拍的比较结果E1=max{a11,a12},第二拍的比较结果E2=max{a13,a14}。
第二拍时,E2由选择器K207输出,选择器K301读入E2,并且,第三实数加法运算器读入-E2,需要说明的是,-E2由E2取反得到,取反的方法可以包括多种,例如,在第三实数加法运算器之前设置非门电路(图11未示出),对选择器K207输出的符号位进行取反操作并输出。
本实施例中,选择器K302被预设为选择输出第一拍的E1至第三实数加法运算器以及选择器K301。第三实数加法运算器输出运算结果为E1-E2。可以理解的是,当E1>E2时,E1-E2>0,当E1<E2,E1-E2<0。选择器K301被预设为,当E1-E2符号为正,则选择E1输出。当E1-E2符号为负或为0,则选择E2输出。由此,得到前两拍实数的比较结果max{a11,a12,a13,a14}。当所有的实数完成累计比较运算后,由选择器K303输出比较运算结果y1。
基于上述技术方案,运算装置在一个比较周期最多可以同时计算算式5中的8个比较式,并输出比较运算结果y1~y8。
还需说明的是,上述所有实施例中的各个算式仅为本运算装置可以实现的运算的一种,在实际应用中,可以根据算式中的数据以及算式控制各个选择器选择的数据流,完成不同算式的运算。
需要说明的是,本实施例提供的方法可以应用于如算式5所示的取大值的比较式的计算,也可以通过预设选择器的选路控制信号,应用于取小值的比较式的计算,本实施例对此不做赘述。
由上述技术方案可以看出,本申请实施例提供的运算方法及装置的有益效果如下:
有益效果一:
本申请实施例提供的运算装置中包括复数乘法器、选择器、以及复数加法器。其中,每一复数乘法器由实数加法器、选择器、以及实数乘法器组成,每一复数加法器由实数加法器、选择器、以及实数乘法器组成。所以,在复数运算模式下,输入的运算数据为复数,复数乘法器通过实数乘法器和实数加法器完成对实部和虚部的乘加运算。复数加法器通过实数乘法器和实数加法器完成对实部和虚部的加法运算。在实数运算模式下,输入的运算数据为实数,可以直接使用实数乘法器和实数加法器完成实数的乘法和/或加法运算。
可以看出,本运算装置可以实现在同一装置完成复数的运算以及实数的运算的目的。即,基于本申请实施例提供的运算装置,可实现传统信号处理方法和卷积神经网络在同一个硬件逻辑电路上执行的目的。
有益效果二:
本申请实施例提供的运算装置中设置有多个选择器,所以本申请实施例提供的运算方法,可以通过控制任一选择器选择该选择器输出的数据,实现不同的计算功能,其中,计算功能包括加法运算、乘法运算、累加运算、和/或比较运算。由此可以看出,本申请实施例提供的运算装置具有重构效率高,重构模式灵活的特点。
有益效果三:
在本申请实施例提供的各个运算方法中,不同运算模式下,各个乘法器和加法器均得到了充分的利用,没有资源浪费,提高了运算的效率。
综上,本申请实施例提供的运算装置可以实现在同一装置实现复数运算以及实数运算的目的,并且,具有重构效率高、重构模式灵活、以及运算效率高的优点。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种运算装置,其特征在于,包括:
并联的第一复数乘法器、第二复数乘法器、第三复数乘法器和第四复数乘法器;任意一个复数乘法器由实数加法器、选择器、以及实数乘法器组成;
第一复数加法器、第二复数加法器、第三复数加法器和第四复数加法器;任意一个复数加法器由实数加法器、选择器、以及实数乘法器组成;
第一选择器、第二选择器、第三选择器和第四选择器;
其中,所述第一复数乘法器的输出端与所述第一复数加法器的第一输入端相连,所述第二复数乘法器的输出端与所述第一复数加法器的第二输入端、所述第一选择器的第一输入端以及所述第三选择器的第二输入端相连;所述第三复数乘法器的输出端与所述第二复数加法器的第一输入端相连,所述第四乘法器的输出端与所述第二复数加法器的第二输入端、所述第四复数加法器的第二输入端以及所述第四选择器的第二输入端相连;
所述第一复数加法器的输出端与所述第三选择器的第一输入端以及所述第三复数加法器的第一输入端相连,所述第二复数加法器的输出端与所述第一选择器的第二输入端、所述第二选择器的第二输入端、以及所述第四选择器的第一输入端相连;
所述第一选择器的输出端与所述第三复数加法器的第二输入端相连,所述第二选择器的输出端与所述第四复数加法器的第一输入端相连,所述第三复数加法器的输出端与所述第二选择器的第一输入端相连;
所述第三选择器的输出端为所述运算装置的第一输出端,所述第三复数加法器的输出端为所述运算装置的第二输出端,所述第四复数加法器的输出端为所述运算装置的第三输出端,所述第四选择器的输出端为所述运算装置的第四输出端。
2.根据权利要求1所述的装置,其特征在于,任意一个复数乘法器包括:
并联的选择器K201、选择器K202、选择器K203和选择器K204;
并联的第一实数乘法器、第二实数乘法器、第三实数乘法器和第四实数乘法器;
第一实数加法器、第二实数加法器、反相器、选择器K205、选择器K206、选择器K207、选择器K208、选择器K209和选择器K2010;
其中,所述选择器K201的输出端与所述第一实数乘法器的第二输入端相连,所述选择器K202的输出端与所述第二实数乘法器的第二输入端相连,所述选择器K203的输出端与所述第三实数乘法器的第二输入端相连,所述选择器K204的输出端与所述第四实数乘法器的第二输入端相连;
所述第一实数乘法器的输出端与所述选择器K205的第一输入端和所述第一实数加法器的第一输入端相连,所述第二实数乘法器的输出端与所述反相器相连,所述反相器的输出端与所述选择器K206的第一输入端相连,所述选择器K206的输出端与所述选择器K205的第二输入端和所述第一实数加法器的第二输入端相连,所述选择器K205的输出端与所述选择器K207的第一输入端相连,所述第一实数加法器的输出端与所述选择器K207的第二输入端和所述选择器K205的控制端相连,所述选择器K207的输出端与所述选择器K206的第二输入端相连;
所述第三实数乘法器的输出端与所述选择器K208的第一输入端和第二实数加法器的第一输入端相连,所述第四实数乘法器的输出端与所述选择器K209的第一输入端相连,所述选择器K209的输出端与所述选择器K208的第二输入端和所述第二实数加法器的第二输入端相连,所述选择器K208的输出端与所述选择器K2010的第一输入端相连,所述第二实数加法器的输出端与所述选择器K2010的第二输入端和所述选择器K208的控制端相连,所述选择器K2010的输出端与所述选择器K209的第二输入端相连。
3.根据权利要求2所述的装置,其特征在于,任意一个所述复数乘法器的第一输入端包括输入端E201和输入端E202,所述输入端E201与所述第一实数乘法器的第一输入端和所述选择器K204的第一输入端相连,所述输入端E202与所述第二实数乘法器的第一输入端和所述选择器K203的第一输入端相连;
所述复数乘法器的第二输入端包括输入端E203和输入端E204,所述输入端E203与所述第三实数乘法器的第一输入端和所述选择器K201的第一输入端相连,所述输入端E204与所述第四实数乘法器的第一输入端和所述选择器K202的第一输入端相连;
所述复数乘法器的第三输入端与所述选择器K201的第二输入端、所述选择器K202的第二输入端、所述选择器K203的第二输入端和所述选择器K204的第二输入端相连;
所述复数乘法器的第一输出端为所述选择器K207的输出端,所述复数乘法器的第二输出端为所述第二实数乘法器的输出端,所述复数乘法器的第三输出端为所述选择器K2010的输出端,所述复数乘法器的第四输出端为所述第四实数乘法器的输出端。
4.根据权利要求1-3任一项所述的装置,其特征在于,任意一个复数加法器包括:
第三实数加法器、选择器K301、选择器K302和选择器K303;
第四实数加法器、选择器K304、选择器K305和选择器K306;
其中,所述选择器K302的输出端与所述选择器K301的第二输入端和所述第三实数加法器的第二输入端相连,所述选择器K301的输出端与所述选择器K303的第一输入端相连,所述第三实数加法器的输出端与所述选择器K303的第二输入端和所述选择器K301的控制端相连,所述选择器K303的输出端与所述选择器K302的第二输入端相连;
所述选择器K305的输出端与所述选择器K304的第二输入端和所述第四实数加法器的第二输入端相连,所述选择器K304的输出端与所述选择器K306的第一输入端相连,所述第四实数加法器的输出端与所述选择器K306的第二输入端和所述选择器K304的控制端相连,所述选择器K306的输出端与所述选择器K305的第二输入端相连。
5.根据权利要求4所述的装置,其特征在于,任意一个所述复数加法器的第一输入端包括输入端E301和输入端E303;第二输入端包括输入端E302和输入端E304;
其中,所述输入端E301与所述选择器K301的第一输入端和所述第三实数加法器的第一输入端相连;所述输入端E302与所述选择器K302的第一输入端相连;
所述输入端E303与所述选择器K304的第一输入端和所述第四实数加法器的第一输入端相连;所述输入端E304与所述选择器K305的第一输入端相连;
任意一个所述复数加法器的第一输出端为所述选择器K303的输出端,所述复数加法器的第二输出端为所述选择器K306的输出端。
6.一种运算方法,其特征在于,应用于权利要求5所述的运算装置,所述方法包括:
向各个复数乘法器的输入端均输入复数,其中,向任一所述复数乘法器的输入端E201和输入端E203输入实部,向输入端E202和输入端E204输入虚部;任一所述复数加法器中的输入端E301和输入端E302用于读入实部,任一所述复数加法器中的输入端E303和输入端E304用于读入虚部;
向各个选择器发送选路控制信号;
其中,所述第一选择器的选路控制信号用于控制所述第一选择器输出所述第一选择器的第二输入端的输入数据,所述第二选择器的选路控制信号用于控制所述第二选择器输出所述第二选择器的第一输入端的输入数据;
任一所述复数乘法器中的所述选择器K201的选路控制信号用于控制所述选择器K201输出所述选择器K201的第一输入端的输入数据,所述选择器K202的选路控制信号用于控制所述选择器K202输出所述选择器K202的第一输入端的输入数据,所述选择器K203的选路控制信号用于控制所述选择器K203输出所述选择器K203的第一输入端的输入数据,所述选择器K204的选路控制信号用于控制所述选择器K204输出所述选择器K204的第一输入端的输入数据,所述选择器K206的选路控制信号用于控制所述选择器K206输出所述选择器K206的第一输入端的输入数据,所述选择器K207的选路控制信号用于控制所述选择器K207输出所述选择器K207的第二输入端的输入数据,所述选择器K209的选路控制信号用于控制所述选择器K209输出所述选择器K209的第一输入端的输入数据,所述选择器K2010的选路控制信号用于控制所述选择器K2010输出所述选择器K2010的第二输入端的输入数据;
所述第一复数加法器、所述第二复数加法器、或所述第三复数加法器中的任意一个复数加法器中的所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第一输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第二输入端的输入数据,所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第一输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第二输入端的输入数据;
所述第四复数加法器中的所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第一输入端和第二输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第二输入端的输入数据,所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第一输入端和第二输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第二输入端的输入数据;
从所述第四复数加法器的输出端获取运算结果,其中,所述运算结果为各个复数乘法器的输入端输入的复数的乘加运算结果。
7.一种运算方法,其特征在于,应用于权利要求5所述的运算装置,所述方法包括:
向各个复数乘法器的输入端均输入复数,其中,向任一所述复数乘法器的输入端E201和输入端E203输入实部,向任一所述复数乘法器的输入端E202和输入端E204输入虚部;任一所述复数加法器中的输入端E301和输入端E302用于读入实部,任一所述复数加法器中的输入端E303和输入端E304用于读入虚部;
向各个选择器发送选路控制信号;
其中,任一所述复数乘法器中的所述选择器K201的选路控制信号用于控制所述选择器K201输出所述选择器K201的第一输入端的输入数据,所述选择器K202的选路控制信号用于控制所述选择器K202输出所述选择器K202的第一输入端的输入数据,所述选择器K203的选路控制信号用于控制所述选择器K203输出所述选择器K203的第一输入端的输入数据,所述选择器K204的选路控制信号用于控制所述选择器K204输出所述选择器K204的第一输入端的输入数据,所述选择器K206的选路控制信号用于控制所述选择器K206输出所述选择器K206的第一输入端的输入数据,所述选择器K207的选路控制信号用于控制所述选择器K207输出所述选择器K207的第二输入端的输入数据,所述选择器K209的选路控制信号用于控制所述选择器K209输出所述选择器K209的第一输入端的输入数据,所述选择器K2010的选路控制信号用于控制所述选择器K2010输出所述选择器K2010的第二输入端的输入数据;
所述第一复数加法器、或所述第二复数加法器中的任意一个复数加法器中的所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第一输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第二输入端的输入数据,所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第一输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第二输入端的输入数据;
所述第三复数加法器或所述第四复数加法器中的任意一个复数加法器中的所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第一输入端和第二输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第二输入端的输入数据,所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第一输入端和第二输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第二输入端的输入数据;
从所述第三复数加法器的输出端以及所述第四复数加法器的输出端获取运算结果;
其中,从所述第三复数加法器的输出端获取的运算结果为所述第一复数乘法器的输入端输入的复数和所述第二复数乘法器的输入端输入的复数的乘加运算结果;从所述第四复数加法器的输出端获取的运算结果为所述第三复数乘法器的输入端输入的复数和所述第四复数乘法器的输入端输入的复数的乘加运算结果。
8.一种运算方法,其特征在于,应用于权利要求5所述的运算装置,所述方法包括:
向各个复数乘法器的输入端均输入复数,其中,向任一所述复数乘法器的输入端E201和输入端E203输入实部,向任一所述复数乘法器的输入端E202和输入端E204输入虚部;任一所述复数加法器中的输入端E301和输入端E302用于读入实部,任一所述复数加法器中的输入端E303和输入端E304用于读入虚部;
向各个选择器发送选路控制信号;
其中,所述第一选择器的选路控制信号用于控制所述第一选择器输出所述第一选择器的第一输入端的输入数据,所述第三选择器的选路控制信号用于控制所述第三选择器输出所述第三选择器的第一输入端的输入数据,所述第四选择器的选路控制信号用于控制所述第四选择器输出所述第四选择器的第一输入端的输入数据;
任一所述复数乘法器中的所述选择器K201的选路控制信号用于控制所述选择器K201输出所述选择器K201的第一输入端的输入数据,所述选择器K202的选路控制信号用于控制所述选择器K202输出所述选择器K202的第一输入端的输入数据,所述选择器K203的选路控制信号用于控制所述选择器K203输出所述选择器K203的第一输入端的输入数据,所述选择器K204的选路控制信号用于控制所述选择器K204输出所述选择器K204的第一输入端的输入数据,所述选择器K206的选路控制信号用于控制所述选择器K206输出所述选择器K206的第一输入端的输入数据,所述选择器K207的选路控制信号用于控制所述选择器K207输出所述选择器K207的第二输入端的输入数据,所述选择器K209的选路控制信号用于控制所述选择器K209输出所述选择器K209的第一输入端的输入数据,所述选择器K2010的选路控制信号用于控制所述选择器K2010输出所述选择器K2010的第二输入端的输入数据;
任一所述复数加法器中的所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第一输入端和第二输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第二输入端的输入数据,所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第一输入端和第二输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第二输入端的输入数据;
从所述第三选择器的输出端、所述第三复数加法器的输出端、所述第四复数加法器的输出端、以及所述第四选择器的输出端获取运算结果;
其中,从所述第三选择器的输出端获取的运算结果为所述第一复数乘法器的输入端输入的复数的乘加运算结果;从所述第三复数加法器的输出端获取的运算结果为所述第二复数乘法器的输入端输入的复数的乘加运算结果;从所述第四复数加法器的输出端获取的运算结果为所述第四复数乘法器的输入端输入的复数的乘加运算结果,从第四选择器的输出端获取的运算结果为所述第三复数乘法器的输入端输入的复数的乘加运算结果。
9.一种运算方法,其特征在于,应用于权利要求5所述的运算装置,所述方法包括:
向任一所述复数乘法器的输入端E201、输入端E202、输入端E203、和输入端E204均输入实数,向输入端W输入实数;任一所述复数加法器的输入端E302和输入端E304用于读入实数;
向各个选择器发送选路控制信号;
其中,所述第一选择器的选路控制信号用于控制所述第一选择器输出所述第一选择器的第一输入端的输入数据,所述第三选择器的选路控制信号用于控制所述第三选择器输出所述第三选择器的第一输入端的输入数据,所述第四选择器的选路控制信号用于控制所述第四选择器输出所述第四选择器的第一输入端的输入数据;
任一所述复数乘法器中的所述选择器K201的选路控制信号用于控制所述选择器K201输出所述选择器K201的第二输入端的输入数据,所述选择器K202的选路控制信号用于控制所述选择器K202输出所述选择器K202的第二输入端的输入数据,所述选择器K203的选路控制信号用于控制所述选择器K203输出所述选择器K203的第二输入端的输入数据,所述选择器K204的选路控制信号用于控制所述选择器K204输出所述选择器K204的第二输入端的输入数据,所述选择器K206的选路控制信号用于控制所述选择器K206输出所述选择器K206的第二输入端的输入数据,所述选择器K207的选路控制信号用于控制所述选择器K207输出所述选择器K207的第二输入端的输入数据,所述选择器K209的选路控制信号用于控制所述选择器K209输出所述选择器K209的第二输入端的输入数据,所述选择器K2010的选路控制信号用于控制所述选择器K2010输出所述选择器K2010的第二输入端的输入数据;
任一所述复数加法器中的所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第一输入端和第二输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第二输入端的输入数据,所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第一输入端和第二输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第二输入端的输入数据;
从任一所述复数乘法器的选择器K205的输出端和所述复数乘法器的选择器K2010的输出端获取运算结果;
其中,从任一所述复数乘法器的选择器K205的输出端获取的运算结果为所述复数乘法器的输入端E201和输入端W输入的实数的乘加运算结果;从任一所述复数乘法器的选择器K2010的输出端获取的运算结果为所述复数乘法器的输入端E203和输入端W输入的实数的乘加运算结果;
从所述第三选择器的输出端获取运算结果,其中,从所述第三选择器的输出端获取的运算结果为所述第一复数乘法器的输入端E202和输入端W输入的实数的乘加运算结果,以及,所述第一复数乘法器的输入端E204和输入端W输入的实数的乘加运算结果;
从所述第三复数加法器的选择器K303的输出端以及选择器K306获取运算结果,其中,从所述第三复数加法器的选择器K303的输出端获取的运算结果为所述第二复数乘法器的输入端E202和输入端W输入的实数的乘加运算结果,从所述第三复数加法器的选择器K306的输出端获取的运算结果为所述第二复数乘法器的输入端E204和输入端W输入的实数的乘加运算结果;
从所述第四选择器的输出端获取运算结果,其中,从所述第四选择器的输出端获取的运算结果为所述第三复数乘法器的输入端E202和输入端W输入的实数的乘加运算结果,以及,所述第三复数乘法器的输入端E204和输入端W输入的实数的乘加运算结果;
从所述第四复数加法器的选择器K303的输出端以及选择器K306获取运算结果,其中,从所述第四复数加法器的选择器K303的输出端获取的运算结果为所述第四复数乘法器的输入端E202和输入端W输入的实数的乘加运算结果,从所述第四复数加法器的选择器K306的输出端获取的运算结果为所述第四复数乘法器的输入端E204和输入端W输入的实数的乘加运算结果。
10.一种运算方法,其特征在于,应用于权利要求5所述的运算装置,所述方法包括:
向任一所述复数乘法器的输入端E201、输入端E202、输入端E203、和输入端E204输入实数,并且向所述输入端W输入任意实数;
向各个选择器发送选路控制信号;
其中,所述第一选择器的选路控制信号用于控制所述第一选择器输出所述第一选择器的第一输入端的输入数据,所述第三选择器的选路控制信号用于控制所述第三选择器输出所述第三选择器的第一输入端的输入数据,所述第四选择器的选路控制信号用于控制所述第四选择器输出所述第四选择器的第一输入端的输入数据;
任一所述复数乘法器中的所述选择器K201的选路控制信号用于控制所述选择器K201输出所述选择器K201的第二输入端的输入数据,所述选择器K202的选路控制信号用于控制所述选择器K202输出所述选择器K202的第二输入端的输入数据,所述选择器K203的选路控制信号用于控制所述选择器K203输出所述选择器K203的第二输入端的输入数据,所述选择器K204的选路控制信号用于控制所述选择器K204输出所述选择器K204的第二输入端的输入数据;
所述选择器K205的选路控制信号用于:
当所述选择器K205的控制端的输入数据为正数时,控制所述选择器K205输出所述选择器K205的第一输入端的输入数据;当所述选择器K205的控制端的输入数据为负数时,控制所述选择器K205输出所述选择器K205的第二输入端的输入数据;当所述选择器K205的控制端的输入数据为零时,控制所述选择器K205输出所述选择器K205的第一输入端或第二输入端的输入数据;
所述选择器K206的选路控制信号用于控制所述选择器K206输出所述选择器K206的第一输入端的输入数据,所述选择器K207的选路控制信号用于控制所述选择器K207输出所述选择器K207的第一输入端的输入数据;
所述选择器K208的选路控制信号用于:
当所述选择器K208的控制端的输入数据为正数时,控制所述选择器K208输出所述选择器K208的第一输入端的输入数据;当所述选择器K208的控制端的输入数据为负数时,控制所述选择器K208输出所述选择器K208的第二输入端的输入数据;当所述选择器K208的控制端的输入数据为零时,控制所述选择器K208输出所述选择器K208的第一输入端或第二输入端的输入数据;
所述选择器K209的选路控制信号用于控制所述选择器K209输出所述选择器K209的第一输入端的输入数据,所述选择器K2010的选路控制信号用于控制所述选择器K2010输出所述选择器K2010的第一输入端的输入数据;
任一所述复数加法器中的所述选择器K301的选路控制信号用于:
当所述选择器K301的控制端的输入数据为正数时,控制所述选择器K301输出所述选择器K301的第一输入端的输入数据;当所述选择器K301的控制端的输入数据为负数时,控制所述选择器K301输出所述选择器K301的第二输入端的输入数据;当所述选择器K301的控制端的输入数据为零时,控制所述选择器K301输出所述选择器K301的第一输入端或第二输入端的输入数据;
所述选择器K302的选路控制信号用于控制所述选择器K302输出所述选择器K302的第二输入端的输入数据,所述选择器K303的选路控制信号用于控制所述选择器K303输出所述选择器K303的第一输入端的输入数据;
所述复数加法器中的所述选择器K304的选路控制信号用于:
当所述选择器K304的控制端的输入数据为正数时,控制所述选择器K304输出所述选择器K304的第一输入端的输入数据;当所述选择器K304的控制端的输入数据为负数时,控制所述选择器K304输出所述选择器K304的第二输入端的输入数据;当所述选择器K304的控制端的输入数据为零时,控制所述选择器K304输出所述选择器K304的第一输入端或第二输入端的输入数据;
所述选择器K305的选路控制信号用于控制所述选择器K305输出所述选择器K305的第二输入端的输入数据,所述选择器K306的选路控制信号用于控制所述选择器K306输出所述选择器K306的第一输入端的输入数据;
从所述第三选择器的输出端获取运算结果,其中,从所述第三选择器的输出端获取的运算结果为所述第一复数乘法器的输入端E201输入的实数和输入端E202输入的实数的比较结果,以及,所述第一复数乘法器的输入端E203输入的实数和输入端E204输入的实数的相反数的比较结果;
从所述第三复数加法器的输出端获取运算结果,其中,从所述第三复数加法器的输出端获取的运算结果为所述第二复数乘法器的输入端E201输入的实数和输入端E202输入的实数的比较结果,以及,所述第二复数乘法器的输入端E203输入的实数和输入端E204输入的实数的相反数的比较结果;
从所述第四选择器的输出端获取运算结果,其中,从所述第四选择器的输出端获取的运算结果为所述第三复数乘法器的输入端E201输入的实数和输入端E202输入的实数的比较结果,以及,所述第三复数乘法器的输入端E203输入的实数和输入端E204输入的实数的相反数的比较结果;
从所述第四复数加法器的输出端获取运算结果,其中,从所述第四复数加法器的输出端获取的运算结果为所述第四复数乘法器的输入端E201输入的实数和输入端E202输入的实数的比较结果,以及,所述第四复数乘法器的输入端E203输入的实数和输入端E204输入的实数的相反数的比较结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010207582.6A CN111445017A (zh) | 2020-03-23 | 2020-03-23 | 一种运算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010207582.6A CN111445017A (zh) | 2020-03-23 | 2020-03-23 | 一种运算方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111445017A true CN111445017A (zh) | 2020-07-24 |
Family
ID=71654127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010207582.6A Pending CN111445017A (zh) | 2020-03-23 | 2020-03-23 | 一种运算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111445017A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4080661A (en) * | 1975-04-22 | 1978-03-21 | Nippon Electric Co., Ltd. | Arithmetic unit for DFT and/or IDFT computation |
US20070094166A1 (en) * | 2002-08-05 | 2007-04-26 | Edwin Addison | Knowledge-based methods for genetic network analysis and the whole cell computer system based thereon |
CN102012800A (zh) * | 2010-12-01 | 2011-04-13 | 华东师范大学 | 一种混合基2/4蝶型运算核 |
CN103294446A (zh) * | 2013-05-14 | 2013-09-11 | 中国科学院自动化研究所 | 一种定点乘累加器 |
US20140143194A1 (en) * | 2012-11-20 | 2014-05-22 | Qualcomm Incorporated | Piecewise linear neuron modeling |
CN104866461A (zh) * | 2014-02-21 | 2015-08-26 | 北京国睿中数科技股份有限公司 | 用于浮点复数乘i加减的装置和方法 |
US20150262054A1 (en) * | 2014-03-12 | 2015-09-17 | Qualcomm Incorporated | Analog signal reconstruction and recognition via sub-threshold modulation |
CN105607889A (zh) * | 2015-10-29 | 2016-05-25 | 中国人民解放军国防科学技术大学 | Gpdsp共享乘法器结构的定点浮点运算部件 |
CN105975436A (zh) * | 2016-06-16 | 2016-09-28 | 中国兵器工业集团第二四研究所苏州研发中心 | 一种SoC系统中通用可配置加速单元的IP电路 |
CN107544942A (zh) * | 2017-07-13 | 2018-01-05 | 天津大学 | 一种快速傅里叶变换的vlsi设计方法 |
CN109117188A (zh) * | 2018-08-06 | 2019-01-01 | 合肥工业大学 | 一种多路混合基fft可重构蝶形运算器 |
-
2020
- 2020-03-23 CN CN202010207582.6A patent/CN111445017A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4080661A (en) * | 1975-04-22 | 1978-03-21 | Nippon Electric Co., Ltd. | Arithmetic unit for DFT and/or IDFT computation |
US20070094166A1 (en) * | 2002-08-05 | 2007-04-26 | Edwin Addison | Knowledge-based methods for genetic network analysis and the whole cell computer system based thereon |
CN102012800A (zh) * | 2010-12-01 | 2011-04-13 | 华东师范大学 | 一种混合基2/4蝶型运算核 |
US20140143194A1 (en) * | 2012-11-20 | 2014-05-22 | Qualcomm Incorporated | Piecewise linear neuron modeling |
CN103294446A (zh) * | 2013-05-14 | 2013-09-11 | 中国科学院自动化研究所 | 一种定点乘累加器 |
CN104866461A (zh) * | 2014-02-21 | 2015-08-26 | 北京国睿中数科技股份有限公司 | 用于浮点复数乘i加减的装置和方法 |
US20150262054A1 (en) * | 2014-03-12 | 2015-09-17 | Qualcomm Incorporated | Analog signal reconstruction and recognition via sub-threshold modulation |
CN105607889A (zh) * | 2015-10-29 | 2016-05-25 | 中国人民解放军国防科学技术大学 | Gpdsp共享乘法器结构的定点浮点运算部件 |
CN105975436A (zh) * | 2016-06-16 | 2016-09-28 | 中国兵器工业集团第二四研究所苏州研发中心 | 一种SoC系统中通用可配置加速单元的IP电路 |
CN107544942A (zh) * | 2017-07-13 | 2018-01-05 | 天津大学 | 一种快速傅里叶变换的vlsi设计方法 |
CN109117188A (zh) * | 2018-08-06 | 2019-01-01 | 合肥工业大学 | 一种多路混合基fft可重构蝶形运算器 |
Non-Patent Citations (3)
Title |
---|
IZUDIN DŽAFIĆ等: "Real-time equality-constrained hybrid state estimation in complex variables" * |
MARIANA NIKOLOVA GEORGIEVA-GROSSE等: "A new method for exact computation of the differential phase shift in the circular waveguide, loaded with an azimuthally magnetized ferrite cylinder and a dielectric toroid" * |
曲双双: "混合基FFT处理器的设计与FPGA实现" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110210610B (zh) | 卷积计算加速器、卷积计算方法及卷积计算设备 | |
CN110543939B (zh) | 一种基于fpga的卷积神经网络后向训练的硬件加速实现装置 | |
CN114651260A (zh) | 具有动态权重选择的相位选择性卷积 | |
CN113628094B (zh) | 一种基于gpu的高吞吐量sm2数字签名计算系统及方法 | |
CN108021781A (zh) | 一种可参数化的fft ip核设计和优化方法 | |
CN114201782A (zh) | 使用高通量crt评估的用于机器学习和神经网络的同态加密 | |
CN115238863A (zh) | 一种卷积神经网络卷积层的硬件加速方法、系统及应用 | |
CN111445017A (zh) | 一种运算方法及装置 | |
CN109634556B (zh) | 一种乘累加器及累加输出方法 | |
Peng et al. | Stochastic circuit synthesis by cube assignment | |
CN111401533A (zh) | 一种神经网络专用计算阵列及其计算方法 | |
Frias et al. | A compact divisor based on SN P systems along with dendritic behavior | |
US4996527A (en) | Pipelined residue to mixed base converter and base extension processor | |
Temenos et al. | A stochastic computing sigma-delta adder architecture for efficient neural network design | |
Fidaleo | On strong ergodic properties of quantum dynamical systems | |
CA2135857A1 (en) | Neural network utilizing logarithmic function and method of using same | |
CN114978473A (zh) | 一种sm3算法的处理方法、处理器、芯片及电子设备 | |
RU2400813C2 (ru) | Нейронная сеть основного деления модулярных чисел | |
CN114549945A (zh) | 遥感影像变化检测方法及相关装置 | |
CN115859003A (zh) | 执行fft的方法、装置及设备 | |
CN114003198A (zh) | 内积处理部件、任意精度计算设备、方法及可读存储介质 | |
RU2256226C2 (ru) | Нейронная сеть для расширения кортежа числовой системы вычетов | |
CN105915233B (zh) | 编码方法及装置、及译码方法及装置 | |
CN113672196A (zh) | 一种基于单数字信号处理单元的双乘法计算装置和方法 | |
RU2559772C2 (ru) | Устройство для основного деления модулярных чисел в формате системы остаточных классов |
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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20231208 |