CN117149271A - 信号处理器和信号处理的方法 - Google Patents
信号处理器和信号处理的方法 Download PDFInfo
- Publication number
- CN117149271A CN117149271A CN202311028958.7A CN202311028958A CN117149271A CN 117149271 A CN117149271 A CN 117149271A CN 202311028958 A CN202311028958 A CN 202311028958A CN 117149271 A CN117149271 A CN 117149271A
- Authority
- CN
- China
- Prior art keywords
- instruction
- signal
- sub
- processing
- input
- 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
- 238000003672 processing method Methods 0.000 title abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 600
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000009825 accumulation Methods 0.000 claims description 34
- 238000004891 communication Methods 0.000 abstract description 12
- 230000006870 function Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 23
- 238000004590 computer program Methods 0.000 description 7
- 230000001343 mnemonic effect Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000001228 spectrum Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010183 spectrum analysis Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本申请公开了信号处理器和信号处理的方法,属于通信技术领域。信号处理器包括互相连接的指令译码模块、第一寄存器和多模式信号处理模块;指令译码模块用于译码信号处理指令,得到第一译码结果,向第一寄存器和多模式信号处理模块发送第一译码结果包括的指示确定输入信号的第一处理子指令和指示处理输入信号的第二处理子指令;第一寄存器用于向多模式信号处理模块发送基于第一处理子指令确定的输入信号;多模式信号处理模块用于在多种处理模式中选择与信号处理指令对应的信号处理模式、接收第二处理子指令和输入信号并基于第二处理子指令和信号处理模式,处理输入信号,得到处理结果。本申请的信号处理器根据不同的处理模式实现信号的灵活处理。
Description
技术领域
本申请实施例涉及通信技术领域,特别涉及一种信号处理器和信号处理的方法。
背景技术
在进行信号处理时,不同的信号处理器会采用不同的信号处理的方法进行信号处理。例如,信号处理器可以通过软件实现信号处理,也可以通过集成电路构成的硬件实现信号处理,还可以通过指令与硬件结合实现信号处理。
在相关技术中,一个信号处理模块仅有一种处理模式,一种处理模式可以实现一种信号处理的方法,导致信号处理器缺少灵活性。在多种处理模式的情况下,信号处理器需要针对多种处理模式部署多个信号处理模块,导致信号处理器的开销较大。
发明内容
本申请实施例提供了一种信号处理器和信号处理的方法,能够提高信号处理的灵活性。该技术方案如下:
一方面,本申请实施例提供了一种信号处理器,信号处理器包括指令译码模块、第一寄存器和多模式信号处理模块,多模式信号处理模块、指令译码模块与第一寄存器互相连接;指令译码模块,用于对信号处理指令进行译码,得到第一译码结果,第一译码结果包括第一处理子指令和第二处理子指令,第一处理子指令指示确定输入信号,第二处理子指令指示对输入信号进行处理;指令译码模块,用于向第一寄存器发送第一处理子指令,向多模式信号处理模块发送第二处理子指令;第一寄存器,用于接收第一处理子指令,基于第一处理子指令确定输入信号,向多模式信号处理模块发送输入信号;多模式信号处理模块,用于在多种处理模式中选择与信号处理指令对应的信号处理模式,以及用于接收第二处理子指令和输入信号,并基于第二处理子指令和信号处理指令对应的信号处理模式,对输入信号进行处理,得到处理结果。
本申请中的信号处理器能够根据不同的处理模式实现不同的信号处理的方法,更具灵活性。
在一种可能的实现方式中,多模式信号处理模块包括至少一个选择器,信号处理模式基于模式设置指令和至少一个选择器的状态确定;指令译码模块,还用于对模式设置指令进行译码,得到第二译码结果,第二译码包括第一设置子指令和第二设置子指令,第一设置子指令指示确定参考数值,第二设置子指令指示根据参考数值设置信号处理模式,模式设置指令与信号处理指令对应;指令译码模块,还用于向第一寄存器发送第一设置子指令,向多模式信号处理模块发送第二设置子指令;第一寄存器,还用于接收第一设置子指令,基于第一设置子指令确定参考数值,向多模式信号处理模块发送参考数值;多模式信号处理模块,还用于接收第二设置子指令和参考数值,基于第二设置子指令,确定参考数值对应的至少一个选择器的状态;多模式信号处理模块,还用于基于至少一个选择器的状态确定信号处理模式。
在一种可能的实现方式中,至少一个选择器包括第一选择器和第二选择器,多模式信号处理模块还包括乘法器、加法器和第二寄存器,第二寄存器存储有针对历史处理指令的历史处理结果,乘法器分别与第一选择器连接、加法器连接,第二选择器与加法器连接,第二寄存器分别与加法器、第二选择器连接,第一选择器与第二选择通过乘法器和加法器连接;第一选择器,用于基于第一选择器的状态,根据输入信号确定乘法器的第一输入;第二选择器,用于基于第二选择器的状态,根据历史处理结果和输入信号确定加法器的第一输入;乘法器,用于将乘法器的第一输入与乘法器的第二输入相乘,得到乘法器的输出,乘法器的第二输入基于输入信号确定;加法器,用于将加法器的第一输入与加法器的第二输入相加,得到处理结果,加法器的第二输入为乘法器的输出。
在一种可能的实现方式中,信号处理指令为平方和累加运算指令,第一选择器处于第一状态,第二选择器处于第二状态,乘法器的第二输入为输入信号,信号处理模式为平方和累加运算指令对应的平方和累加运算模式;第一状态指示第一选择器将输入信号确定为乘法器的第一输入,第二状态指示第二选择器将历史处理结果确定为加法器的第一输入。
在一种可能的实现方式中,输入信号包括第一子信号和第二子信号,信号处理指令为乘积累加运算指令,第一选择器处于第三状态,第二选择器处于第二状态,乘法器的第二输入为第一子信号,信号处理模式为乘积累加运算指令对应的乘积累加运算模式;第三状态指示第一选择器将第二子信号确定为乘法器的第一输入,第二状态指示第二选择器将历史处理结果确定为加法器的第一输入。
在一种可能的实现方式中,多模式信号处理模块,还用于将处理结果覆盖历史处理结果。
在一种可能的实现方式中,指令译码模块,还用于向多模式信号处理模块发送处理结果的输出指令;多模式信号处理模块,还用于接收输出指令,基于输出指令向第一寄存器发送处理结果。
在一种可能的实现方式中,输入信号包括第三子信号、第四子信号、第五子信号和第六子信号,信号处理指令为乘和运算指令,第一选择器处于第三状态,第二选择器处于第四状态,乘法器的第二输入为第三子信号,信号处理模式为乘和运算指令对应的乘和运算模式;第三状态指示第一选择器将第四子信号确定为乘法器的第一输入,第四状态指示第二选择器将第五子信号与第六子信号的乘积确定为加法器的第一输入。
在一种可能的实现方式中,第一译码结果还包括第三处理子指令,第三处理子指令指示输出处理结果;指令译码模块,还用于向多模式信号处理模块发送第三处理子指令;多模式信号处理模块,还用于接收第三处理子指令,基于第三处理子指令向第一寄存器发送处理结果。
在一种可能的实现方式中,信号处理指令、模式设置指令、输出指令、平方和累加运算指令、乘积累加运算指令以及乘和运算指令为基于第五代精简指令集计算机(ReducedInstruction Set Computer-RISC-Five,RISC-V)指令扩展得到的指令。
另一方面,提供了一种信号处理的方法,方法应用于信号处理器,信号处理器包括指令译码模块、第一寄存器和多模式信号处理模块,多模式信号处理模块、指令译码模块与第一寄存器互相连接,方法包括:指令译码模块对信号处理指令进行译码,得到第一译码结果,第一译码结果包括第一处理子指令和第二处理子指令,第一处理子指令指示确定输入信号,第二处理子指令指示对输入信号进行处理;指令译码模块向第一寄存器发送第一处理子指令,向多模式信号处理模块发送第二处理子指令;第一寄存器接收第一处理子指令,基于第一处理子指令确定输入信号,向多模式信号处理模块发送输入信号;多模式信号处理模块接收第二处理子指令和输入信号,基于第二处理子指令和信号处理模式对输入信号进行处理,得到处理结果,信号处理模式为多模式信号处理模块在多种处理模式中选择的与信号处理指令对应的信号处理模式。
在一种可能的实现方式中,多模式信号处理模块包括至少一个选择器,信号处理模式基于模式设置指令和至少一个选择器的状态确定。在此种实现方式中,基于第二处理子指令和信号处理模式对输入信号进行处理,得到处理结果之前,还包括:指令译码模块对模式设置指令进行译码,得到第二译码结果,第二译码包括第一设置子指令和第二设置子指令,第一设置子指令指示确定参考数值,第二设置子指令指示根据参考数值设置信号处理模式,模式设置指令与信号处理指令对应;指令译码模块向第一寄存器发送第一设置子指令,向多模式信号处理模块发送第二设置子指令;第一寄存器接收第一设置子指令,基于第一设置子指令确定参考数值,向多模式信号处理模块发送参考数值;多模式信号处理模块接收第二设置子指令和参考数值,基于第二设置子指令,确定参考数值对应的至少一个选择器的状态;多模式信号处理模块基于至少一个选择器的状态确定信号处理模式。
在一种可能的实现方式中,至少一个选择器包括第一选择器和第二选择器,多模式信号处理模块还包括乘法器、加法器和第二寄存器,第二寄存器存储有针对历史处理指令的历史处理结果,乘法器分别与第一选择器连接、加法器连接,第二选择器与加法器连接,第二寄存器分别与加法器、第二选择器连接,第一选择器与第二选择通过乘法器和加法器连接;基于第二处理子指令和信号处理模式对输入信号进行处理,得到处理结果,包括:第一选择器基于第一选择器的状态,根据输入信号确定乘法器的第一输入;第二选择器基于第二选择器的状态,根据历史处理结果和输入信号确定加法器的第一输入;乘法器将乘法器的第一输入与乘法器的第二输入相乘,得到乘法器的输出,乘法器的第二输入基于输入信号确定;加法器将加法器的第一输入与加法器的第二输入相加,得到处理结果,加法器的第二输入为乘法器的输出。
在一种可能的实现方式中,信号处理指令为平方和累加运算指令,第一选择器处于第一状态,第二选择器处于第二状态,乘法器的第二输入为输入信号,信号处理模式为平方和累加运算指令对应的平方和累加运算模式;第一状态指示第一选择器将输入信号确定为乘法器的第一输入,第二状态指示第二选择器将历史处理结果确定为加法器的第一输入。
在一种可能的实现方式中,输入信号包括第一子信号和第二子信号,信号处理指令为乘积累加运算指令,第一选择器处于第三状态,第二选择器处于第二状态,乘法器的第二输入为第一子信号,信号处理模式为乘积累加运算指令对应的乘积累加运算模式;第三状态指示第一选择器将第二子信号确定为乘法器的第一输入,第二状态指示第二选择器将历史处理结果确定为加法器的第一输入。
在一种可能的实现方式中,加法器将加法器的第一输入与加法器的第二输入相加,得到处理结果之后,还包括:多模式信号处理模块将处理结果覆盖历史处理结果。
在一种可能的实现方式中,基于第二处理子指令和信号处理模式对输入信号进行处理,得到处理结果之后,还包括:指令译码模块向多模式信号处理模块发送处理结果的输出指令;多模式信号处理模块接收输出指令,基于输出指令向第一寄存器发送处理结果。
在一种可能的实现方式中,输入信号包括第三子信号、第四子信号、第五子信号和第六子信号,信号处理指令为乘和运算指令,第一选择器处于第三状态,第二选择器处于第四状态,乘法器的第二输入为第三子信号,信号处理模式为乘和运算指令对应的乘和运算模式;第三状态指示第一选择器将第四子信号确定为乘法器的第一输入,第四状态指示第二选择器将第五子信号与第六子信号的乘积确定为加法器的第一输入。
在一种可能的实现方式中,第一译码结果还包括第三处理子指令,第三处理子指令指示输出处理结果;基于第二处理子指令和信号处理模式对输入信号进行处理,得到处理结果之后,还包括:指令译码模块向多模式信号处理模块发送第三处理子指令;多模式信号处理模块接收第三处理子指令,基于第三处理子指令向第一寄存器发送处理结果。
在一种可能的实现方式中,信号处理指令、模式设置指令、输出指令、平方和累加运算指令、乘积累加运算指令以及乘和运算指令为基于RISC-V指令扩展得到的指令。
另一方面,还提供了一种存储介质,存储介质中存储有至少一条程序或指令,至少一条程序或指令由处理器加载并执行,以实现上述的信号处理器与信号处理的方法。
另一方面,还提供了一种程序产品或程序,程序产品或程序包括指令,所述指令存储在存储介质中。处理器从存储介质读取指令,处理器执行指令,实现上述的信号处理器与信号处理的方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种复数乘法的电路示意图;
图2是本申请实施例提供的一种信号处理器的结构示意图;
图3是本申请实施例提供的另一种信号处理器的结构示意图;
图4是本申请实施例提供的一种信号处理的方法的流程示意图;
图5是本申请实施例提供的一种RISC-V的指令集的示意图;
图6是本申请实施例提供的一种扩展后的自定义-0指令的结构示意图;
图7是本申请实施例提供的一种基于自定义-0指令扩展得到的多个指令与各字段包括的内容的对应关系的示意图;
图8是本申请实施例提供的一种信号处理器的结构示意图;
图9是本申请实施例提供的一种多模式信号处理模块的电路示意图;
图10是本申请实施例提供的一种指令数与运算数据量的关系示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在许多领域中,都会涉及到信号处理,例如,在无线通讯、生物电信号监测、图像处理、语音识别等领域中,都需要进行信号处理。随着集成电路设计技术和制造工艺的日渐成熟,基于集成电路设计技术和制造工艺的嵌入式技术得以发展。嵌入式技术能够使得复杂的运算处理通过集成电路实现,例如,将信号处理的方法通过集成电路实现。
常用的信号处理的方法包括能够实现快速傅里叶变换(Fast FourierTransform,FFT)、有限冲激响应(Finite Impulse Response,FIR)型数字滤波器、谱分析等运算方法对应的信号处理的方法。其中,快速傅里叶变换是信号处理和数字通讯应用中用于快速运算的算法,可以用于提取数字信号中的频域信息。复数乘法是快速傅里叶变换中的主要运算方式,复数乘法的公式可以参见如下的公式(1)。公式(1)中的a、b、c和d代表不同的信号数据,j代表虚数(imag)。
(a+jb)(c+jd)=(ac-bd)+j(ad+bc) (1)
有限冲激响应型数字滤波器也可以称为有限长单位冲激响应滤波器,可以用于对数字信号进行特定频率上的滤波。有限冲激响应型数字滤波器的主要运算方式为卷积运算,卷积运算的公式可以参见如下的公式(2)。公式(2)中的h(k)为单位脉冲响应,k代表k个取值,h(k)在有限个k值处不为0,x(n-k)为离散的输入序列值,n代表n个取值。
谱分析包括对频谱、能量谱、功率谱、倒频谱等不同的信号谱的不同特征进行分析,例如,谱分析可以是对频谱进行能量计算,得到信号的能量。其能量计算的运算方式可以为频谱的各点信号幅度值平方后的求和,能量计算的公式可以参见如下的公式(3)。公式(3)中的X[i]为信号幅度值,E是信号的能量。
E=∑|X[i]|2(3)
基于前文所述可知,不同的运算方法对应的公式不同。相应的,通过信号处理器实现不同公式,需要的信号处理方法不同。相关技术中的信号处理器可以包括通用处理器和非通用处理器。
在通用处理器上部署有通用运算单元,通用运算单元的电路结构较为简单,使得通用计算单元需要基于大量且复杂的软件代码实现软件控制,实现各种信号处理的运算,运算效率低。虽然基于软件控制通过通用处理器实现各种信号处理的运算所需的硬件成本较低,但是通用处理器的应用场景受限。例如,需要安装信号处理器的可穿戴设备要求信号处理器对信号进行实时运算,但由于通用处理器的运算效率较低,使得通用处理器在运算的实时性上存在不足,因而通用处理器难以安装在可穿戴设备上。
非通用处理器可以通过不同的方法从硬件层面实现信号处理。可选地,非通用处理器可以为专用处理器。通过集成不同的专用集成电路,得到不同的专用处理器,实现不同的信号处理的方法。在此种情况下,可以针对每种不同的信号处理的方法,设计集成不同的电路的不同专用芯片。
参见图1,示出了一种复数乘法的电路示意图。复数乘法可以被分解为4次乘法和2次加法,复数乘法的电路包括乘法器1至乘法器4共四个乘法器,以及加法器5和加法器6共两个加法器。乘法器1的输入为a和c,乘法器1的输出为ac。乘法器2的输入为b和d,乘法器2的输出为bd。乘法器1的输出和乘法器2的输出为加法器5的两个输入,加法器5的输出为ac+bd,加法器5的输出为实部(real)的值。乘法器3的输入为b和c,乘法器3的输出为bc。乘法器4的输入为a和d,乘法器4的输出为ad。乘法器3的输出和乘法器4的输出为加法器6的两个输入,加法器6的输出为bc+ad,加法器6的输出为虚部的值。
基于对图1的说明可知,图1所示的电路仅可用于计算复数乘法,而不能用于其他运算。因此,如果专用处理器中的芯片的电路为图1所示的电路,则该专用处理器仅能用于加速复数乘法运算。由于专用处理器的专用性,专用处理器的处理性能较好,电路简单,能耗低。但专用处理器的灵活性低,当遇到复杂的应用场景时,可能会需要多个专用处理器并行进行信号处理,导致信号处理的实现的成本增大。
此外,非通用处理器还可以为一个标准处理器连接不同的知识产权(Intellectual Property,IP)芯片的形式。在此种情况下,一个标准处理器并行连接多个IP芯片,不同的IP芯片集成的电路不同,能够实现的运算方法也不同。此种非通用处理器的实现简单,具有一定的灵活性,但硬件资源消耗较多,并且由于各个IP芯片不能同时运行行,导致部分IP芯片长期空闲,使得非通用处理器的性能与功耗的比值较低,也即能耗比较低。
本申请实施例提供了一种信号处理器,该信号处理器从硬件底层改变处理器架构,该信号处理器具有能够用于不同场景的运算单元,也即该信号处理器能够通过集成一个电路,实现不同的运算方法,能耗比更高,且具有较高的灵活性。
示例性地,参见图2,示出了一种信号处理器200的结构示意图。该信号处理器200包括指令译码模块201、第一寄存器202和多模式信号处理模块203,指令译码模块201、第一寄存器202和多模式信号处理模块203互相连接,也即指令译码模块201分别与第一寄存器202、多模式信号处理模块203通信连接,第一寄存器202与多模式信号处理模块203也可以通信连接。指令译码模块201能够对不同的指令进行译码,并得到译码结果,指令译码模块201可以用于执行下述的S301-S304中指令译码模块所执行的方法。第一寄存器202中存储有不同的指令或数据,第一寄存器202可以用于执行下述的S301-S304中第一寄存器所执行的方法。在一种可能的实现方式中,多模式信号处理模块203可以包括至少一个选择器,例如图3中示出的第一选择器2031和第二选择器2035,至少一个选择器能够用于切换多模式信号处理模块的处理模式,使得多模式信号处理模块203能够通过不同的运算方法进行大量的运算,对不同的信号进行处理,得到处理结果。多模式处理模块203可以用于执行S301-S304中多模式信号处理模块所执行的方法。
相应的,本申请实施例还提供了一种信号处理的方法,该方法能够应用于图2所示的信号处理器中。参见图4,示出了一种信号处理的方法的流程示意图,该信号处理的方法包括但不限于如下的S301至S304。
S301,指令译码模块对信号处理指令进行译码,得到第一译码结果,第一译码结果包括第一处理子指令和第二处理子指令,第一处理子指令指示确定输入信号,第二处理子指令指示对输入信号进行处理。
其中,信号处理器可以是基于RISC-V架构集成的处理器,RISC-V架构具有较强的拓展性,可以添加自定义指令集,信号处理指令可以是基于RISC-V指令扩展得到的指令。
示例性地,参见图5,示出了一种RISC-V指令集的示意图。RISC-V指令集包括多个不同的指令(Instruction,Inst),每个指令均对应一串二进制码,二进制码的第2位至第4位由指令集的第一行的二进制字符确定,二进制码的第5位和第6位由指令集的第一列的二进制字符确定,每个指令的大小可以参照指令所在行的最后一列标注的大小。例如,加载(LOAD)指令对应的二进制码的第2位至第4位为000,第5位和第6位为00,加载指令的大小为48比特(bit)。
指令集中第一行的指令的大小为48bit,第二行的指令的大小为64bit,第三行的指令的大小为48bit,第四行的指令的大小大于或等于80bit。对于指令集中各个指令的说明可以参照手册《riscv-spec-v2.2》中第19章节定义的操作码映射表,此处不再赘述。
对于RISC-V指令集,可以根据预留(reserved)的编码空间和预定义的自定义(custom)-0指令、自定义-1指令、自定义-2指令和自定义-3四个自定义指令,实现RISC-V指令的扩展。
本申请实施例对于实现RISC-V指令的扩展的方法不做限定,下面,以对自定义-0指令进行自定义指令设计,实现指令的扩展为例,对RISC-V指令的扩展进行说明。
示例性地,参见图6,示出了一种扩展后的自定义-0指令的结构示意图。扩展后的自定义-0指令的大小为32bit,包括0至31共32个bit位。扩展后的自定义-0指令包括7位功能(function7,funct7)字段、源操作数寄存器1(registers–source operand-1,rs1)字段,源操作数寄存器2(registers-source operand-2,rs2)字段、xd字段、xs1字段、xs2字段、目的寄存器(registers-destination,rd)和自定义-0指令的第0位至第6位的二进制编码字段。
funct7字段包括的内容为用于指示指令功能的操作码,rs1字段包括的内容为用于指示rs1在用于存储数据的寄存器中的地址,例如,在第一寄存器中的地址,rs2字段包括的内容用于指示rs2在用于存储数据的寄存器中的地址,rd字段包括的内容用于指示rd在用于存储数据的寄存器中的地址,xd包括的内容用于指示是否需要rd,xs1包括的内容用于指示是否需要rs1,xs2包括的内容用于指示是否需要rs2。
例如,参见图7,示出了本申请实施例提供的一种基于自定义-0指令扩展得到的多个指令与各字段包括的内容的对应关系的示意图。不同类型的指令所对应的funct7字段的内容不同。比如,运算模式设置指令的funct7字段所包括的内容为0,也即运算模式设置指令对应的用于指示指令功能的操作码为0,平方和累加运算指令的funct7字段所包括的内容为1,也即平方和累加运算指令对应的用于指示指令功能的操作码为1。
根据图7可以得知,xd为0则对应的指令功能中不需要rd,xd为1,则对应的指令功能中需要rd,xs1为0则对应的指令功能中不需要rs1,xs1为1则对应的指令功能中粗腰rs1,xs2为0则对应的指令功能中不需要rs2,xs2为1则对应的指令功能中需要rs2。
在本申请实施例中,指令译码模块能够对信号处理指令进行译码,得到第一译码结果,也即能够根据信号处理指令所对应的指令功能,将信号处理指令进行拆分,得到包括第一处理子指令和第二处理子指令的第一译码结果。
在一种可能的实现方式中,信号处理指令可以是图7中所示的平方和累加运算指令、乘积累加运算指令或乘和运算指令。平方和累加指令的funct7字段所包括的内容为1,xd字段所包括的内容为0,xs1字段所包括的内容为1,xs2字段所包括的内容为0,指令功能为将rs1对应的值的低16bit作为输入端a的数据。平方和累加运算指令的助记符可以为(sum of squares-accumulate rs1,sumsquacc rs1)。
乘积累加指令的funct7字段所包括的内容为2,xd字段所包括的内容为0,xs1字段所包括的内容为1,xs2字段所包括的内容为0,指令功能为将rs1对应的值的低16bit作为输入端a的数据,将rs1对应的值的高16bit作为输入端b的数据。乘积累加运算指令的助记符可以为(multiplication-accumulate rs1,mulacc rs1)。
乘和运算指令包括乘和运算1指令和乘和运算2指令。乘和运算1指令的funct7字段所包括的内容为5,xd字段所包括的内容为1,xs1字段所包括的内容为1,xs2字段所包括的内容为1,指令功能为将rs1对应的值的低16bit作为输入端a的数据,将rs1对应的值的高16bit作为输入端b的数据,将rs2对应的值的低16bit作为输入端c的数据,将rs2对应的值的高16bit作为输入端d的数据,将运算结果的高32bit放到rd对应的位置。乘和运算1指令的助记符可以为(multiplication sum high rd,rs1,rs2,mulsumh rd,rs1,rs2)。
乘和运算2指令的funct7字段所包括的内容为6,xd字段所包括的内容为1,xs1字段所包括的内容为1,xs2字段所包括的内容为1,指令功能为将rs1对应的值的低16bit作为输入端a的数据,将rs1对应的值的高16bit作为输入端b的数据,将rs2对应的值的低16bit作为输入端c的数据,将rs2对应的值的高16bit作为输入端d的数据,将运算结果的低32bit放到rd对应的位置。乘和运算1指令的助记符可以为(multiplication sum low rd,rs1,rs2,mulsuml rd,rs1,rs2)。
以信号处理指令为平方和累加运算指令为例,指令译码模块确定平方和累加运算指令对应的指令功能为将rs1对应的值的地16bit作为输入端a的数据,并对平方和累加运算指令进行拆分,得到需要由第一寄存器完成的第一处理子指令,第一处理子指令为确定rs1对应的值,并向多模式信号处理模块发送rs1对应的值,将需要由多模式信号处理模块完成的指令确定为第二处理子指令,第二处理子指令为将rs1对应的值的低16bit作为输入端a的数据。
在一种可能的实现方式中,在指令译码模块对信号处理指令进行译码之前,指令译码模块可以先获取信号处理指令。本申请实施例对于指令译码模块获取信号处理指令的方法不做限定。下面,将结合图8对指令译码模块获取信号处理指令的一种可能的实现过程进行说明。
图8示出了一种信号处理器的结构示意图。该信号处理器可以为RISC-V内核,支持32位整数指令集(32-bit integer instruction set,RV32I)的基本指令集和整型乘除法扩展(Integer multiplication and division extends the instruction set,M)扩展指令集。该信号处理器采用紧凑的三级流水线结构,第一级为取指单元,决定了后续执行指令顺序的正确性,取指单元包括程序计数器(Program Counter,PC)生成模块、PC寄存器、分支预测模块和指令寄存器。
第二级为指令译码单元,可以对来自取指单元的指令进行译码,以产生各种控制信号和操作数,为后一阶段提供必要的信息,指令译码单元包括指令译码模块和通用寄存器。本申请实施例中的第一寄存器可以是通用寄存器,第一寄存器可以包括多个寄存器,例如32个寄存器,多个寄存器均对应一个在第一寄存器中的地址,第一寄存器的多个寄存器中存储有各种控制信号和操作数。
第三级为执行访存单元,执行访存单元可以根据译码单元得到的指令信息和操作数来进行相应的运算,并控制流水线的状态,执行访存单元包括算术逻辑运算模块、乘除法运算模块、中断异常处理模块、信号处理运算加速模块、访存模块、总线接口,信号处理运算加速模块即为本申请实施例中的多模式信号处理模块。执行访存单元能够将指令执行、访存与写回三个部分结合在一起。此外,信号处理器还包括控制器、寄存器1、寄存器2和寄存器3。
指令译码模块所获取到的信号处理指令可以为PC寄存器或分支预测模块发送的信号处理指令。示例性地,PC生成模块会根据信号处理器当前状态计算出信号处理指令的地址,并利用该地址从指令寄存器中取出对应的信号处理指令,随后该地址与信号处理指令会被发送到指令译码模块。其中,如果信号处理指令为需要跳转的分支指令,分支预测模块(Branch Predicting Unit,BPU)可以提前获取信号处理指令的主要信息,如指令类型和跳转方向等,随后利用信号处理指令的主要信息决定是否进行跳转,并将信号处理指令发送至指令译码模块,以尽可能用较少的资源来最大地提升处理器性能,降低程序运行时分支指令造成的流水线冲刷的次数。如果信号处理指令为不需要跳转的指令,则信号处理指令可以由PC寄存器发送至指令译码模块,由此,则实现了指令译码模块对信号处理指令的获取。
S302,指令译码模块向第一寄存器发送第一处理子指令,向多模式信号处理模块发送第二处理子指令。
指令译码模块在确定出第一处理子指令和第二处理子指令之后,可以向多模式信号处理模块和第一寄存器发送第一处理子指令和第二处理子指令。基于前文所述,第一处理子指令可以是需要由第一寄存器执行的子指令,则指令译码模块可以向第一寄存器发送第一处理子指令,第二处理子指令可以是需要由多模式信号处理模块执行的子指令,则指令译码模块可以向多模式信号处理模块发送第二处理子指令。
S303,第一寄存器接收第一处理子指令,基于第一处理子指令确定输入信号,向多模式信号处理模块发送输入信号。
指令译码模块向第一寄存器发送第一处理子指令之后,第一寄存器可以接收到第一处理子指令,并根据第一处理子指令确定信号处理指令对应的输入信号。
示例性地,参见图7,如果信号处理指令为平方和累加运算指令,则第一处理子指令可以为确定rs1对应的值的低16bit的数据。第一寄存器可以在寄存器的多个寄存器中确定出rs1,进而将rs1存储的数据中的低16bit的数据确定为输入信号。
如果信号处理指令为乘积累加运算指令,则第一处理子指令可以为确定rs1对应的值的低16bit的数据和rs1对应的值的高16bit的数据。第一寄存器可以在第一寄存器包括的多个寄存器中确定出rs1,进而将rs1存储的数据中的低16bit的数据和rs1存储的数据中的高16bit的数据确定为输入信号。
如果信号处理指令为乘和运算指令,则第一处理子指令可以为确定rs1对应的值的低16bit的数据、rs1对应的值的高16bit的数据、rs2对应的值的低16bit的数据和rs2对应的值的高16bit的数据。第一寄存器可以在寄存器的多个寄存器中确定出rs1和rs2,进而将rs1存储的数据中的低16bit的数据、rs1存储的数据中的高16bit的数据、rs2存储的数据中的低16bit的数据和rs2存储的数据中的高16bit的数据确定为输入信号。
第一寄存器在确定出输入信号之后,可以向多模式信号处理模块发送输入信号。
S304,多模式信号处理模块接收第二处理子指令和输入信号,基于第二处理子指令和信号处理模式对输入信号进行处理,得到处理结果,信号处理模式为多模式信号处理模块在多种处理模式中选择的与信号处理指令对应的信号处理模式。
在第一寄存器向多模式信号处理模块发送输入信号,指令译码模块向多模式信号处理模块发送第二处理子指令之后,多模式信号处理模块可以接收到输入信号和第二处理子指令。
由于本申请实施例中的多模式信号处理模块具有多种处理模式,因此,在信号处理模式对输入信号进行处理之前,需要先确定信号处理模式,也即多模式信号处理模块需要先在多种处理模式中选择与信号处理指令对应的信号处理模式。在一种可能的实现方式中,多模式信号处理模块可以包括至少一个选择器,则信号处理模式可以基于模式设置指令和至少一个选择器的状态确定。
本申请实施例对于基于模式设置指令和至少一个选择器的状态确定信号处理模式的方法不做限定,示例性地,可以由指令译码模块对模式设置指令进行译码,得到第二译码结果,第二译码包括第一设置子指令和第二设置子指令,第一设置子指令指示确定参考数值,第二设置子指令指示根据参考数值设置信号处理模式,模式设置指令与信号处理指令对应。
指令译码模块获取模式设置指令的过程可以参照指令译码模块获取信号处理指令的过程,指令译码模块将模式设置指令译码为第二译码结果的过程也可以参照指令译码模块将信号处理指令译码为第一译码结果的过程,此处不再赘述。
可选地,模式设置指令可以是基于RISC-V指令扩展得到的指令。例如,模式设置指令可以是图7中的运算模式设置指令,运算模式设置指令的funct7字段包括的内容为0,xd字段包括的内容为0,xs1字段包括的字段为1,xs2包括的字段为0,运算模式设置指令的指令功能为根据rs1对应的值设置s1和s0,运算模式设置指令的助记符可以为设置模式(setmode)rs1其中,s1可以是如图3所示的第一选择器,s0可以是如图3所示的第二选择器。
指令译码模块根据运算模式设置指令的指令功能译码得到的第一设置子指令可以指示第一寄存器确定rs1对应的值,将rs1对应的值确定为参考数值,并向多模式信号处理模块发送参考数值。第二设置子指令可以指示多模式信号处理模块根据接收到的参考数值,设置s1和s0。
在指令译码模块确定出第一设置子指令和第二设置子指令之后,指令译码模块可以向第一寄存器发送第一设置子指令,向多模式信号处理模块发送第二设置子指令。
第一寄存器接收到第一设置子指令之后,基于第一设置子指令确定参考数值,向多模式信号处理模块发送参考数值。示例性地,第一设置子指令可以包括存储有参考数值的寄存器在第一寄存器中的地址。则第一寄存器可以根据该寄存器在第一寄存器中的地址,确定该寄存器的位置,并确定出该寄存器中存储的参考数值。例如,如果第一设置子指令为指令译码模块根据图7中的运算模式设置指令译码得到的子指令,则第一寄存器可以根据rs1的地址在第一寄存器中确定出rs1对应的值,将rs1对应的值确定为参考数值,并向多模式信号处理模块发送参考数值。
多模式信号处理模块接收到第二设置子指令和参考数值之后,基于第二设置子指令,确定参考数值对应的信号处理模式。在一种可能的实现方式中,至少一个选择器包括第一选择器(s1)和第二选择器(s0),多模式信号处理模块的处理模式基于第一选择器的状态和第二选择器的状态确定,第一选择器与第二选择器连接。在此种可能的实现方式中,多模式信号处理模块可以根据参考数值,设置第一选择器的状态和第二选择器的状态,并根据第一选择器的状态和第二选择器的状态,确定信号处理模式。在示例性实施例中,第一选择器可以基于不同的状态做出不同的选择,相应的,第二选择器也可以基于不同的状态做出不同的选择。
以模式设置指令为图7中的运算模式设置指令为例,多模式信号处理模块接收到的参考数值为rs1对应的值,接收到的第二处理子指令为根据rs1对应的值设置第一选择器(s1)和第二选择器(s0)。可选地,参考数值与第一选择器的状态、第二选择器的状态可以具有对应关系。
例如,如果参考数值为0,可以将第一选择器的状态设置为0,将第二选择器的状态设置为1,根据第一选择器的状态和第二选择器的状态,可以将信号处理模式确定为平方和累加运算模式。如果参考数值为1,则可以将第一选择器的状态设置为1,第二选择器的状态设置为0,根据第一选择器的状态和第二选择器的状态,可以将信号处理模式确定为乘和运算模式。如果参考数值为2,则可以将第一选择器的状态设置为0,将第二选择器的状态设置为1,根据第一选择器的状态和第二选择器的状态,可以将信号处理模式确定为乘积累加运算模式。
示例性地,参见图9,示出了一种多模式信号处理模块的电路示意图。除第一选择器(s1)和第二选择器(s0)之外,多模式信号处理模块还可以包括乘法器、加法器和第二寄存器,第二寄存器存储有针对历史处理指令的历史处理结果,乘法器分别与第一选择器连接、加法器连接,第二选择器与加法器连接,第二寄存器分别与加法器、第二选择器连接,第一选择器与第二选择通过乘法器和加法器连接。
基于图9所示的电路图,多模式信号处理模块基于第二处理子指令和信号处理模式对输入信号进行处理,得到处理结果的过程可以包括:第一选择器基于第一选择器的状态,根据输入信号确定乘法器的第一输入;第二选择器基于第二选择器的状态,根据历史处理结果和输入信号确定加法器的第一输入;乘法器将乘法器的第一输入与乘法器的第二输入相乘,得到乘法器的输出,乘法器的第二输入基于输入信号确定;加法器将加法器的第一输入与加法器的第二输入相加,得到处理结果,加法器的第二输入为乘法器的输出。
在本申请实施例中,可以根据第一选择器的状态、第二选择器的状态以及输入信号的不同,将多模式信号处理模块基于第二处理子指令和信号处理模式对输入信号进行处理,得到处理结果的过程分为多种不同的情况。下面,以图7和图9为例,通过情况A1、情况A2和情况A3三种不同的情况,对多模式信号处理模块基于第二处理子指令和信号处理模式对输入信号进行处理,得到处理结果的过程进行说明。
情况A1,信号处理指令为平方和累加运算指令。基于图7可知,多模式信号处理模块接收到的输入信号为rs1对应的值的低16bit的数据,接收到的第二子指令为将获取到的rs1对应的值的低16bit作为输入端a的数据,并根据输入端a的数据进行运算处理。
在此种情况下,第一选择器处于第一状态,第一状态指示第一选择器将输入信号确定为乘法器的第一输入,也即第一选择器将输入端a的数据确定为乘法器的第一输入。参见图9所示的电路图,第一选择器(s1)处于第一状态可以是将第一选择器的状态设置为0,则第一选择器(s1)与输入端a相连的电路连通,实现将输入端a的数据确定为乘法器的第一输入。乘法器的第二输入也为输入端a的数据,也即,乘法器的第二输入为输入信号。
第二选择器处于第二状态,第二状态指示第二选择器将历史处理结果确定为加法器的第一输入。参见图9所示的电路图,第二选择器(s0)处于第二状态可以是将第二选择器的状态设置为1,则第二选择器与第二寄存器相连的电路连通,实现将历史处理结果确定为加法器的第一输入。
当第一选择器处于第一状态,第二选择器处于第二状态时,多模式信号处理模块的信号处理模式为平方和累加运算指令对应的平方和累加运算模式,也即多模式信号处理模块计算的处理结果y为∑a2。
在平方和累加运算模式下,乘法器将乘法器的第一输入与乘法器的第二输入相乘,得到乘法器的第一输入与乘法器的第二输入的乘积,也即得到输入端a的数据的平方a2,将a2作为乘法器的输出。加法器将加法器的第一输入与加法器的第二输入相加,得到加法器的第一输入与加法器的第二输入的和,也即a2与历史处理结果的和,将a2与历史处理结果的和作为处理结果y。其中,历史处理结果可以是平方和累加运算模式下的历史运算结果。
情况A2,输入信号包括第一子信号和第二子信号,信号处理指令为乘积累加运算指令。基于图7可知,多模式信号处理模块接收到的输入信号为rs1对应的值的低16bit的数据和rs1对应的值的高16bit的数据,接收到的第二子指令为将获取到的rs1对应的值的低16bit作为输入端a的数据,将获取到的rs1对应的值的高16bit作为输入端b的数据,并根据输入端a的数据和输入端b的数据进行运算处理,其中,rs1对应的值的低16bit为第一子信号,rs1对应的值的高16bit为第二子信号。
在此种情况下,第一选择器处于第三状态,第三状态指示第一选择器将第二子信号确定为乘法器的第一输入,也即第一选择器将输入端b的数据确定为乘法器的第一输入。参见图9所示的电路图,第一选择器(s1)处于第三状态可以是将第一选择器的状态设置为1,则第一选择器(s1)与输入端b相连的电路连通,实现将输入端b的数据确定为乘法器的第一输入。乘法器的第二输入为输入端a的数据,也即乘法器的第二输入为第一子信号。
第二选择器处于第二状态,第二状态指示第二选择器将历史处理结果确定为加法器的第一输入。参见图9所示的电路图,第二选择器(s0)处于第二状态可以是将第二选择器的状态设置为1,则第二选择器与第二寄存器相连的电路连通,实现将历史处理结果确定为加法器的第一输入。
当第一选择器处于第三状态,第二选择器处于第二状态时,多模式信号处理模块的信号处理模式为乘积累加运算指令对应的乘积累加运算模式,也即多模式信号处理模块计算的处理结果y为∑ab。
在乘积累加运算模式下,乘法器将乘法器的第一输入与乘法器的第二输入相乘,得到乘法器的第一输入与乘法器的第二输入的乘积,也即得到输入端a的数据与输入端b的数据的乘积ab,将ab作为乘法器的输出。加法器将加法器的第一输入与加法器的第二输入相加,得到加法器的第一输入与加法器的第二输入的和,也即ab与历史处理结果的和,将ab与历史处理结果的和作为处理结果y。其中,历史处理结果可以是乘积累加运算模式下的历史运算结果。
情况A1和情况A2均为需要进行累加的运算,因此,在加法器将加法器的第一输入与加法器的第二输入相加,得到处理结果之后,多模式信号处理模块可以将处理结果覆盖历史处理结果,实现历史处理结果的迭代。
示例性地,参见图9,得到处理结果之后,加法器可以将处理结果发送至第二寄存器,第二寄存器将原有的历史处理结果删除,将处理结果存储至第二寄存器中,作为下一次运算所引用的历史处理结果。
在一种可能的实现方式中,在情况A1与情况A2中,基于第二处理子指令和信号处理模式对输入信号进行处理,得到处理结果之后,指令译码模块还可以向多模式信号处理模块发送处理结果的输出指令。其中,输出指令可以为基于RISC-V指令扩展得到的指令。
例如,参见图7,输出指令可以是运算结果输出1指令和运算结果输出2指令。运算结果输出1指令的funct7字段所包括的内容为3,xd字段所包括的内容为1,xs1字段所包括的内容为0,xs2字段所包括的内容为0,运算结果输出1指令的指令功能为将运算结果的高32bit放到rd对应的位置,运算结果即为处理结果。运算结果输出1指令的助记符可以为(get result high rd,getresh rd)。
运算结果输出2指令的funct7字段所包括的内容为4,xd字段所包括的内容为1,xs1字段所包括的内容为0,xs2字段所包括的内容为0,运算结果输出2指令的指令功能为将运算结果的低32bit放到rd对应的位置,运算结果即为处理结果。运算结果输出2指令的助记符可以为(get result low rd,getresl rd)。
指令译码模块获取到处理结果的输出指令之后,可以向多模式信号处理模块发送输出指令。多模式信号处理模块接收输出指令,基于输出指令向第一寄存器发送处理结果。
以输出指令为运算结果输出1指令和运算结果输出2指令为例,多模式信号处理模块在接收到运算结果输出1指令和运算结果输出2指令之后,可以停止累加运算,将最新得到的处理结果y作为输出向第一寄存器发送。第一寄存器可以将处理结果的高32bit放到rd对应的寄存器中,将处理结果的低32bit放到rd对应的寄存器中,本申请实施例对于第一寄存器存储处理结果的高32bit与存储处理结果的低32bit的前后顺序不做限定。
情况A3,输入信号包括第三子信号、第四子信号、第五子信号和第六子信号,信号处理指令为乘和运算指令。基于图7可知,多模式信号处理模块接收到的输入信号为rs1对应的值的低16bit的数据、rs1对应的值的高16bit的数据、rs2对应的值的低16bit的数据和rs2对应的值的高16bit的数据。接收到的第二子指令为将获取到的rs1对应的值的低16bit作为输入端a的数据,将获取到的rs1对应的值的高16bit作为输入端b的数据,将获取到的rs2对应的值的低16bit作为输入端c的数据,将获取到的rs2对应的值的高16bit作为输入端d的数据,并根据输入端a的数据、输入端b的数据、输入端c的数据和输入端d的数据进行运算处理。
其中,rs1对应的值的低16bit为第三子信号,rs1对应的值的高16bit为第四子信号,rs2对应的值的低16bit为第五子信号,rs2对应的值的高16bit为第六子信号。
在此种情况下,第一选择器处于第三状态,第三状态指示第一选择器将第四子信号确定为乘法器的第一输入,也即第一选择器将输入端b的数据确定为乘法器的第一输入。参见图9所示的电路图,第一选择器(s1)处于第三状态可以是将第一选择器的状态设置为1,则第一选择器(s1)与输入端b相连的电路连通,实现将输入端b的数据确定为乘法器的第一输入。乘法器的第二输入为输入端a的数据,也即乘法器的第二输入为第三子信号。
第二选择器处于第四状态,第四状态指示第二选择器将第五子信号与第六子信号的乘积确定为加法器的第一输入。参见图9所示的电路图,另一乘法器的两个输入分别为第五子信号和第六子信号,另一乘法器的输出cd也即第五子信号与第六子信号的乘积。第二选择器(s0)处于第四状态可以是将第二选择器的状态设置为0,则第二选择器与另一乘法器相连的电路连通,第二选择器将另一乘法器的输出cd确定为加法器的第一输入。
当第一选择器处于第三状态,第二选择器处于第二状态时,多模式信号处理模块的信号处理模式为乘和运算指令对应的乘和运算模式,也即多模式信号处理模块计算的处理结果y为ab+cd。
在乘和运算模式下,乘法器将乘法器的第一输入与乘法器的第二输入相乘,得到乘法器的第一输入与乘法器的第二输入的乘积,也即得到输入端a的数据与输入端b的数据的乘积ab,将ab作为乘法器的输出。加法器将加法器的第一输入与加法器的第二输入相加,得到加法器的第一输入与加法器的第二输入的和,也即得到输入端c的数据与输入端d的数据的乘积cd与ab的和,将ab与cd的和作为处理结果y。
在一种可能的实现方式中,第一译码结果还包括第三处理子指令,第三处理子指令指示输出处理结果。示例性地,参见图7,信号处理指令为乘和运算1指令和乘和运算2指令,乘和运算1指令的指令功能和乘和运算2指令的指令功能除了将rs1对应的值的低16bit作为输入端a的数据,高16bit作为输入端b的数据,将rs2对应的值的低16bit作为输入端c的数据,高16bit作为输入端d的数据之外,还包括将运算结果的高32bit放到rd对应的位置以及将运算结果的低32bit放到rd对应的位置。因此,根据此种信号处理指令译码得到的第一译码结果还可以包括用于指示输出处理结果的第三处理子指令。
在多模式信号处理模块基于第二处理子指令和信号处理模式对输入信号进行处理,得到处理结果之后,指令译码模块可以向多模式信号处理模块发送第三处理子指令,多模式信号处理模块接收到第三处理子指令之后,基于第三处理子指令向第一寄存器发送处理结果。
以信号处理指令为乘和运算1指令为例,乘和运算1指令对应的第三处理子指令可以为将处理结果y的低32bit作为输出向第一寄存器发送。第一寄存器在接收到处理结果的高32bit之后,将处理结果的高32bit放到rd对应的寄存器中。
参见图10,示出了一种指令数与运算数据量的关系示意图。白色为矩形为本申请实施例提供的信号处理器的运算数据量与指令数之间的关系,黑色矩形为相关技术中通用处理器的运算数据量与指令数之间的关系。无论是本申请实施例提供的信号处理器还是相关技术中的通用处理器,随着运算数据量的增加,指令数也随着增加。但是,对于同样的运算数据量,本申请实施例提供的信号处理器进行运算处理所需的指令数少于通用处理器进行运算处理时所需的指令数,且运算数据量越多,信号处理器所需的指令数与通用处理器所需的指令数之间的差距越明显。数字信号处理需要大量的数据运算,由于对于同样的运算数据量,所需的指令数越少,运算的速度越快,因此,本申请实施例所提供的信号处理器以及相应的扩展指令配合使用,能够提高运算速度和效率,实现加速运算。
综上所述,本申请实施例中的信号处理器能够根据不同的处理模式实现不同的信号处理的方法,更具灵活性。
此外,本申请实施例通过归纳提取数字信号处理的主要运算,设计了信号处理运算加速模块电路,从硬件底层改变处理器的结构,提供一种基于RISC-V指令扩展的数字信号处理加速内核,实现专用运算单元的添加。并通过采用多模式信号处理模块对应的自定义扩展指令和定制多模式信号处理模块配合使用的方法,能够实现运算的加速,在保持较高的运算性能的同时,所需的功耗较低,使得能耗比较高,且能够减少硬件资源的浪费。使得信号处理器的应用场景更具广泛性,比如,由于信号处理器所需的电路较少,信号处理器的体积较小,使得信号处理器能够更好地在可穿戴设备上应用。
本申请实施例还提供了一种信号处理器,如图3所示,信号处理器200包括指令译码模块201、第一寄存器202和多模式信号处理模块203,多模式信号处理模块203包括至少一个选择器,至少一个选择器用于切换多模式信号处理模块203的处理模式,多模式信号处理模块203、指令译码模块201与第一寄存器202互相连接;指令译码模块201,用于对信号处理指令进行译码,得到第一译码结果,第一译码结果包括第一处理子指令和第二处理子指令,第一处理子指令指示确定输入信号,第二处理子指令指示对输入信号进行处理;指令译码模块201,用于向第一寄存器202发送第一处理子指令,向多模式信号处理模块203发送第二处理子指令;第一寄存器202,用于接收第一处理子指令,基于第一处理子指令确定输入信号,向多模式信号处理模块203发送输入信号;多模式信号处理模块203,用于在多种处理模式中选择与信号处理指令对应的信号处理模式,以及用于接收第二处理子指令和输入信号,并基于第二处理子指令和信号处理指令对应的信号处理模式,对输入信号进行处理,得到处理结果。
在一种可能的实现方式中,多模式信号处理模块203包括至少一个选择器,信号处理模式基于模式设置指令和至少一个选择器的状态确定;指令译码模块201,还用于对模式设置指令进行译码,得到第二译码结果,第二译码包括第一设置子指令和第二设置子指令,第一设置子指令指示确定参考数值,第二设置子指令指示根据参考数值设置信号处理模式,模式设置指令与信号处理指令对应;指令译码模块201,还用于向第一寄存器202发送第一设置子指令,向多模式信号处理模块203发送第二设置子指令;第一寄存器202,还用于接收第一设置子指令,基于第一设置子指令确定参考数值,向多模式信号处理模块203发送参考数值;多模式信号处理模块203,还用于接收第二设置子指令和参考数值,基于第二设置子指令,确定参考数值对应的至少一个选择器的状态;多模式信号处理模块203,还用于基于至少一个选择器的状态确定信号处理模式。
在一种可能的实现方式中,至少一个选择器包括第一选择器2031和第二选择器2035,多模式信号处理模块203还包括乘法器2032、加法器2033和第二寄存器2034,第二寄存器2034存储有针对历史处理指令的历史处理结果,乘法器2032分别与第一选择器2031连接、加法器2033连接,第二选择器2035与加法器2033连接,第二寄存器2034分别与加法器2033、第二选择器2035连接,第一选择器2031与第二选择通过乘法器2032和加法器2033连接;第一选择器2031,用于基于第一选择器2031的状态,根据输入信号确定乘法器2032的第一输入;第二选择器2035,用于基于第二选择器2035的状态,根据历史处理结果和输入信号确定加法器2033的第一输入;乘法器2032,用于将乘法器2032的第一输入与乘法器2032的第二输入相乘,得到乘法器2032的输出,乘法器2032的第二输入基于输入信号确定;加法器2033,用于将加法器2033的第一输入与加法器2033的第二输入相加,得到处理结果,加法器2033的第二输入为乘法器2032的输出。
在一种可能的实现方式中,信号处理指令为平方和累加运算指令,第一选择器2031处于第一状态,第二选择器2035处于第二状态,乘法器2032的第二输入为输入信号,信号处理模式为平方和累加运算指令对应的平方和累加运算模式;第一状态指示第一选择器2031将输入信号确定为乘法器2032的第一输入,第二状态指示第二选择器2035将历史处理结果确定为加法器2033的第一输入。
在一种可能的实现方式中,输入信号包括第一子信号和第二子信号,信号处理指令为乘积累加运算指令,第一选择器2031处于第三状态,第二选择器2035处于第二状态,乘法器2032的第二输入为第一子信号,信号处理模式为乘积累加运算指令对应的乘积累加运算模式;第三状态指示第一选择器2031将第二子信号确定为乘法器2032的第一输入,第二状态指示第二选择器2035将历史处理结果确定为加法器2033的第一输入。
在一种可能的实现方式中,多模式信号处理模块203,还用于将处理结果覆盖历史处理结果。
在一种可能的实现方式中,指令译码模块201,还用于向多模式信号处理模块203发送处理结果的输出指令;多模式信号处理模块203,还用于接收输出指令,基于输出指令向第一寄存器202发送处理结果。
在一种可能的实现方式中,输入信号包括第三子信号、第四子信号、第五子信号和第六子信号,信号处理指令为乘和运算指令,第一选择器2031处于第三状态,第二选择器2035处于第四状态,乘法器2032的第二输入为第三子信号,信号处理模式为乘和运算指令对应的乘和运算模式;第三状态指示第一选择器2031将第四子信号确定为乘法器2032的第一输入,第四状态指示第二选择器2035将第五子信号与第六子信号的乘积确定为加法器2033的第一输入。
在一种可能的实现方式中,第一译码结果还包括第三处理子指令,第三处理子指令指示输出处理结果;指令译码模块201,还用于向多模式信号处理模块203发送第三处理子指令;多模式信号处理模块203,还用于接收第三处理子指令,基于第三处理子指令向第一寄存器202发送处理结果。
在一种可能的实现方式中,信号处理指令、模式设置指令、输出指令、平方和累加运算指令、乘积累加运算指令以及乘和运算指令为基于RISC-V指令扩展得到的指令。
在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条计算机程序。该至少一条计算机程序由一个或者一个以上处理器加载并执行,以使该计算机设备实现上述任一种信号处理的方法。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由计算机设备的处理器加载并执行,以使计算机实现上述任一种信号处理的方法。
在一种可能实现方式中,上述计算机可读存储介质可以是只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact DiscRead-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种信号处理的方法。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的指令都是在充分授权的情况下获取的。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请的说明书和权利要求书中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种信号处理器,所述信号处理器包括指令译码模块、第一寄存器和多模式信号处理模块,所述多模式信号处理模块、所述指令译码模块与所述第一寄存器互相连接;
所述指令译码模块,用于对信号处理指令进行译码,得到第一译码结果,所述第一译码结果包括第一处理子指令和第二处理子指令,所述第一处理子指令指示确定输入信号,所述第二处理子指令指示对所述输入信号进行处理;
所述指令译码模块,用于向所述第一寄存器发送所述第一处理子指令,向所述多模式信号处理模块发送所述第二处理子指令;
所述第一寄存器,用于接收所述第一处理子指令,基于所述第一处理子指令确定所述输入信号,向所述多模式信号处理模块发送所述输入信号;
所述多模式信号处理模块,用于在多种处理模式中选择与所述信号处理指令对应的信号处理模式,以及用于接收所述第二处理子指令和所述输入信号,并基于所述第二处理子指令和所述信号处理指令对应的信号处理模式,对所述输入信号进行处理,得到处理结果。
2.根据权利要求1所述的信号处理器,其特征在于,所述多模式信号处理模块包括至少一个选择器,所述信号处理模式基于模式设置指令和所述至少一个选择器的状态确定;
所述指令译码模块,还用于对所述模式设置指令进行译码,得到第二译码结果,所述第二译码结果包括第一设置子指令和第二设置子指令,所述第一设置子指令指示确定参考数值,所述第二设置子指令指示根据所述参考数值设置所述信号处理模式,所述模式设置指令与所述信号处理指令对应;
所述指令译码模块,还用于向所述第一寄存器发送所述第一设置子指令,向所述多模式信号处理模块发送所述第二设置子指令;
所述第一寄存器,还用于接收所述第一设置子指令,基于所述第一设置子指令确定所述参考数值,向所述多模式信号处理模块发送所述参考数值;
所述多模式信号处理模块,还用于接收所述第二设置子指令和所述参考数值,基于所述第二设置子指令,确定所述参考数值对应的所述至少一个选择器的状态;
所述多模式信号处理模块,还用于基于所述至少一个选择器的状态确定所述信号处理模式。
3.根据权利要求2所述的信号处理器,其特征在于,所述至少一个选择器包括第一选择器和第二选择器,所述多模式信号处理模块还包括乘法器、加法器和第二寄存器,所述第二寄存器存储有针对历史处理指令的历史处理结果,所述乘法器分别与所述第一选择器连接、所述加法器连接,所述第二选择器与所述加法器连接,所述第二寄存器分别与所述加法器、所述第二选择器连接,所述第一选择器与所述第二选择通过所述乘法器和所述加法器连接;
所述第一选择器,用于基于所述第一选择器的状态,根据所述输入信号确定所述乘法器的第一输入;
所述第二选择器,用于基于所述第二选择器的状态,根据所述历史处理结果和所述输入信号确定所述加法器的第一输入;
所述乘法器,用于将所述乘法器的第一输入与所述乘法器的第二输入相乘,得到所述乘法器的输出,所述乘法器的第二输入基于所述输入信号确定;
所述加法器,用于将所述加法器的第一输入与所述加法器的第二输入相加,得到所述处理结果,所述加法器的第二输入为所述乘法器的输出。
4.根据权利要求3所述的信号处理器,其特征在于,所述信号处理指令为平方和累加运算指令,所述第一选择器处于第一状态,所述第二选择器处于第二状态,所述乘法器的第二输入为所述输入信号,所述信号处理模式为所述平方和累加运算指令对应的平方和累加运算模式;
所述第一状态指示所述第一选择器将所述输入信号确定为所述乘法器的第一输入,所述第二状态指示所述第二选择器将所述历史处理结果确定为所述加法器的第一输入。
5.根据权利要求3所述的信号处理器,其特征在于,所述输入信号包括第一子信号和第二子信号,所述信号处理指令为乘积累加运算指令,所述第一选择器处于第三状态,所述第二选择器处于第二状态,所述乘法器的第二输入为所述第一子信号,所述信号处理模式为所述乘积累加运算指令对应的乘积累加运算模式;
所述第三状态指示所述第一选择器将所述第二子信号确定为所述乘法器的第一输入,所述第二状态指示所述第二选择器将所述历史处理结果确定为所述加法器的第一输入。
6.根据权利要求3-5任一项所述的信号处理器,其特征在于,所述多模式信号处理模块,还用于将所述处理结果覆盖所述历史处理结果。
7.根据权利要求3所述的信号处理器,其特征在于,所述输入信号包括第三子信号、第四子信号、第五子信号和第六子信号,所述信号处理指令为乘和运算指令,所述第一选择器处于第三状态,所述第二选择器处于第四状态,所述乘法器的第二输入为所述第三子信号,所述信号处理模式为所述乘和运算指令对应的乘和运算模式;
所述第三状态指示所述第一选择器将所述第四子信号确定为所述乘法器的第一输入,所述第四状态指示所述第二选择器将所述第五子信号与所述第六子信号的乘积确定为所述加法器的第一输入。
8.根据权利要求7所述的信号处理器,其特征在于,所述第一译码结果还包括第三处理子指令,所述第三处理子指令指示输出所述处理结果;
所述指令译码模块,还用于向所述多模式信号处理模块发送所述第三处理子指令;
所述多模式信号处理模块,还用于接收所述第三处理子指令,基于所述第三处理子指令向所述第一寄存器发送所述处理结果。
9.根据权利要求1-5、7-8任一项所述的信号处理器,其特征在于,所述信号处理指令、所述模式设置指令、平方和累加运算指令、乘积累加运算指令以及乘和运算指令为基于第五代精简指令集计算机RISC-V指令扩展得到的指令。
10.一种信号处理的方法,其特征在于,所述方法应用于信号处理器,所述信号处理器包括指令译码模块、第一寄存器和多模式信号处理模块,所述多模式信号处理模块、所述指令译码模块与所述第一寄存器互相连接,所述方法包括:
所述指令译码模块对信号处理指令进行译码,得到第一译码结果,所述第一译码结果包括第一处理子指令和第二处理子指令,所述第一处理子指令指示确定输入信号,所述第二处理子指令指示对所述输入信号进行处理;
所述指令译码模块向所述第一寄存器发送所述第一处理子指令,向所述多模式信号处理模块发送所述第二处理子指令;
所述第一寄存器接收所述第一处理子指令,基于所述第一处理子指令确定所述输入信号,向所述多模式信号处理模块发送所述输入信号;
所述多模式信号处理模块接收所述第二处理子指令和所述输入信号,基于所述第二处理子指令和信号处理模式对所述输入信号进行处理,得到处理结果,所述信号处理模式为所述多模式信号处理模块在多种处理模式中选择的与所述信号处理指令对应的所述信号处理模式。
11.根据权利要求10所述的方法,其特征在于,所述多模式信号处理模块包括至少一个选择器,所述信号处理模式基于模式设置指令和所述至少一个选择器的状态确定,所述基于所述第二处理子指令和信号处理模式对所述输入信号进行处理,得到处理结果之前,还包括:
所述指令译码模块对所述模式设置指令进行译码,得到第二译码结果,所述第二译码结果包括第一设置子指令和第二设置子指令,所述第一设置子指令指示确定参考数值,所述第二设置子指令指示根据所述参考数值设置所述信号处理模式,所述模式设置指令与所述信号处理指令对应;
所述指令译码模块向所述第一寄存器发送所述第一设置子指令,向所述多模式信号处理模块发送所述第二设置子指令;
所述第一寄存器接收所述第一设置子指令,基于所述第一设置子指令确定所述参考数值,向所述多模式信号处理模块发送所述参考数值;
所述多模式信号处理模块接收所述第二设置子指令和所述参考数值,基于所述第二设置子指令,确定所述参考数值对应的所述至少一个选择器的状态;
所述多模式信号处理模块基于所述至少一个选择器的状态确定所述信号处理模式。
12.根据权利要求11所述的方法,其特征在于,所述至少一个选择器包括第一选择器和第二选择器,所述多模式信号处理模块还包括乘法器、加法器和第二寄存器,所述第二寄存器存储有针对历史处理指令的历史处理结果,所述乘法器分别与所述第一选择器连接、所述加法器连接,所述第二选择器与所述加法器连接,所述第二寄存器分别与所述加法器、所述第二选择器连接,所述第一选择器与所述第二选择通过所述乘法器和所述加法器连接;
所述基于所述第二处理子指令和信号处理模式对所述输入信号进行处理,得到处理结果,包括:
所述第一选择器基于所述第一选择器的状态,根据所述输入信号确定所述乘法器的第一输入;
所述第二选择器基于所述第二选择器的状态,根据所述历史处理结果和所述输入信号确定所述加法器的第一输入;
所述乘法器将所述乘法器的第一输入与所述乘法器的第二输入相乘,得到所述乘法器的输出,所述乘法器的第二输入基于所述输入信号确定;
所述加法器将所述加法器的第一输入与所述加法器的第二输入相加,得到所述处理结果,所述加法器的第二输入为所述乘法器的输出。
13.根据权利要求12所述的方法,其特征在于,所述信号处理指令为平方和累加运算指令,所述第一选择器处于第一状态,所述第二选择器处于第二状态,所述乘法器的第二输入为所述输入信号,所述信号处理模式为所述平方和累加运算指令对应的平方和累加运算模式;
所述第一状态指示所述第一选择器将所述输入信号确定为所述乘法器的第一输入,所述第二状态指示所述第二选择器将所述历史处理结果确定为所述加法器的第一输入。
14.根据权利要求12所述的方法,其特征在于,所述输入信号包括第一子信号和第二子信号,所述信号处理指令为乘积累加运算指令,所述第一选择器处于第三状态,所述第二选择器处于第二状态,所述乘法器的第二输入为所述第一子信号,所述信号处理模式为所述乘积累加运算指令对应的乘积累加运算模式;
所述第三状态指示所述第一选择器将所述第二子信号确定为所述乘法器的第一输入,所述第二状态指示所述第二选择器将所述历史处理结果确定为所述加法器的第一输入。
15.根据权利要求12-14任一项所述的方法,其特征在于,所述加法器将所述加法器的第一输入与所述加法器的第二输入相加,得到所述处理结果之后,还包括:
所述多模式信号处理模块将所述处理结果覆盖所述历史处理结果。
16.根据权利要求12所述的方法,其特征在于,所述输入信号包括第三子信号、第四子信号、第五子信号和第六子信号,所述信号处理指令为乘和运算指令,所述第一选择器处于第三状态,所述第二选择器处于第四状态,所述乘法器的第二输入为所述第三子信号,所述信号处理模式为所述乘和运算指令对应的乘和运算模式;
所述第三状态指示所述第一选择器将所述第四子信号确定为所述乘法器的第一输入,所述第四状态指示所述第二选择器将所述第五子信号与所述第六子信号的乘积确定为所述加法器的第一输入。
17.根据权利要求16所述的方法,其特征在于,所述第一译码结果还包括第三处理子指令,所述第三处理子指令指示输出所述处理结果;
所述基于所述第二处理子指令和信号处理模式对所述输入信号进行处理,得到处理结果之后,还包括:
所述指令译码模块向所述多模式信号处理模块发送所述第三处理子指令;
所述多模式信号处理模块接收所述第三处理子指令,基于所述第三处理子指令向所述第一寄存器发送所述处理结果。
18.根据权利要求10-14、16-17任一项所述的方法,其特征在于,所述信号处理指令、所述模式设置指令、平方和累加运算指令、乘积累加运算指令以及乘和运算指令为基于第五代精简指令集计算机RISC-V指令扩展得到的指令。
19.一种存储介质,其特征在于,所述存储介质中存储有至少一条程序或指令,所述至少一条程序或指令由所述信号处理器加载并执行,以实现如权利要求10至18任一项所述的信号处理的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311028958.7A CN117149271A (zh) | 2023-08-15 | 2023-08-15 | 信号处理器和信号处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311028958.7A CN117149271A (zh) | 2023-08-15 | 2023-08-15 | 信号处理器和信号处理的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117149271A true CN117149271A (zh) | 2023-12-01 |
Family
ID=88907142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311028958.7A Pending CN117149271A (zh) | 2023-08-15 | 2023-08-15 | 信号处理器和信号处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149271A (zh) |
-
2023
- 2023-08-15 CN CN202311028958.7A patent/CN117149271A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9792118B2 (en) | Vector processing engines (VPEs) employing a tapped-delay line(s) for providing precision filter vector processing operations with reduced sample re-fetching and power consumption, and related vector processor systems and methods | |
CN1246771C (zh) | 用于具有二元数字信号处理指令的指令集结构的方法和装置 | |
US7949696B2 (en) | Floating-point number arithmetic circuit for handling immediate values | |
JP4477279B2 (ja) | 結合された積和演算器を備えたデジタル信号プロセッサ | |
US20150143077A1 (en) | VECTOR PROCESSING ENGINES (VPEs) EMPLOYING MERGING CIRCUITRY IN DATA FLOW PATHS BETWEEN EXECUTION UNITS AND VECTOR DATA MEMORY TO PROVIDE IN-FLIGHT MERGING OF OUTPUT VECTOR DATA STORED TO VECTOR DATA MEMORY, AND RELATED VECTOR PROCESSING INSTRUCTIONS, SYSTEMS, AND METHODS | |
US20030167460A1 (en) | Processor instruction set simulation power estimation method | |
US20150143076A1 (en) | VECTOR PROCESSING ENGINES (VPEs) EMPLOYING DESPREADING CIRCUITRY IN DATA FLOW PATHS BETWEEN EXECUTION UNITS AND VECTOR DATA MEMORY TO PROVIDE IN-FLIGHT DESPREADING OF SPREAD-SPECTRUM SEQUENCES, AND RELATED VECTOR PROCESSING INSTRUCTIONS, SYSTEMS, AND METHODS | |
GB2464178A (en) | SIMD processor with iterative multiply/accumulate instruction for finite impulse response filters | |
KR20140092852A (ko) | Fir 필터링을 위한 벡터 콘볼루션 함수와 함께 명령어 집합을 갖는 벡터 프로세서 | |
JP2001256038A (ja) | 柔軟な乗算ユニットを有するデータ・プロセッサ | |
JP2006107463A (ja) | パック・データの乗加算演算を実行する装置 | |
US6000835A (en) | Method and system for performing an L11 norm operation | |
Tan et al. | DSP architectures: past, present and futures | |
WO2015040060A1 (en) | Instruction class for digital signal processors | |
CN117149271A (zh) | 信号处理器和信号处理的方法 | |
US7219117B2 (en) | Methods and systems for computing floating-point intervals | |
KR19980041758A (ko) | 축소 데이타 경로 폭을 갖는 2-비트 부스 곱셈기 | |
US5936871A (en) | Method and system for performing an L2 norm operation | |
JP2003533765A (ja) | 剰余計算の方法およびデバイス | |
Kim et al. | MDSP-II: A 16-bit DSP with mobile communication accelerator | |
US6725360B1 (en) | Selectively processing different size data in multiplier and ALU paths in parallel | |
CN219179915U (zh) | 多项式运算电路和信号处理装置 | |
KR20140105547A (ko) | 디지털 신호 프로세서 벡터 실행유닛 | |
KR100580255B1 (ko) | 복수 개의 동일한 부분곱 계산 모듈을 포함하는 다중곱셈기 및 다중 곱셈 방법 | |
KR20060044102A (ko) | 복수 개의 동일한 부분곱 계산 모듈을 포함하는 다중곱셈기 및 다중 곱셈 방법 |
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 |