CN113222132B - 乘法器、数据处理方法、芯片、计算机设备及存储介质 - Google Patents

乘法器、数据处理方法、芯片、计算机设备及存储介质 Download PDF

Info

Publication number
CN113222132B
CN113222132B CN202110561400.XA CN202110561400A CN113222132B CN 113222132 B CN113222132 B CN 113222132B CN 202110561400 A CN202110561400 A CN 202110561400A CN 113222132 B CN113222132 B CN 113222132B
Authority
CN
China
Prior art keywords
data
circuit
processed
control signal
multiplication
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
Application number
CN202110561400.XA
Other languages
English (en)
Other versions
CN113222132A (zh
Inventor
霍冠廷
王文强
徐宁仪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Power Tensors Intelligent Technology Co Ltd
Original Assignee
Shanghai Power Tensors Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Power Tensors Intelligent Technology Co Ltd filed Critical Shanghai Power Tensors Intelligent Technology Co Ltd
Priority to CN202110561400.XA priority Critical patent/CN113222132B/zh
Publication of CN113222132A publication Critical patent/CN113222132A/zh
Priority to PCT/CN2021/134297 priority patent/WO2022247194A1/zh
Application granted granted Critical
Publication of CN113222132B publication Critical patent/CN113222132B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/491Computations with decimal numbers radix 12 or 20.
    • G06F7/4915Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Advance Control (AREA)

Abstract

本公开提供了一种乘法器、数据处理方法、芯片、计算机设备及存储介质,其中乘法器,包括:控制电路、以及乘法运算电路;其中,所述控制电路,用于确定输入的至少两个第一待处理数据;响应于所述至少两个第一待处理数据中不存在预设数据,将所述至少两个第一待处理数据传输给所述乘法运算电路,并接收所述乘法运算电路传输的结果数据;输出所述结果数据;所述乘法运算电路,用于接收到所述控制电路传输的至少两个第一待处理数据时,对所述至少两个第一待处理数据进行乘法处理,得到所述结果数据,并将所述结果数据向所述控制电路传输。本公开提供的乘法器能够降低乘法处理过程中的功耗。

Description

乘法器、数据处理方法、芯片、计算机设备及存储介质
技术领域
本公开涉及集成电路技术领域,具体而言,涉及一种乘法器、数据处理方法、芯片、计算机设备及存储介质。
背景技术
人工智能作为新一轮科技革命和产业变革的核心驱动力,正快速催生新产品、新服务、新业态,重塑着经济社会运行模式,改变人类生产和生活方式。神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型,是由大量处理单元互联组成的非线性、自适应信息处理系统。神经网络的研究能促进或者加快人工智能的发展。
卷积计算是神经网络处理电路中需要实现的主要功能之一,乘法器是构成神经网络处理电路的基础单元,大量的卷积计算使得乘法器消耗的功耗成为神经网络处理电路所消耗的功耗的主要部分。如何减少乘法器在进行乘法处理时的功耗成为当前亟待解决的问题。
发明内容
本公开实施例至少提供一种乘法器、数据处理方法、芯片、计算机设备及存储介质。
第一方面,本公开实施例提供了一种乘法器,包括:控制电路、以及乘法运算电路;
其中,所述控制电路,用于确定输入的至少两个第一待处理数据;响应于所述至少两个第一待处理数据中不存在预设数据,将所述至少两个第一待处理数据传输给所述乘法运算电路,并接收所述乘法运算电路传输的结果数据;输出所述结果数据;
所述乘法运算电路,用于接收到所述控制电路传输的至少两个第一待处理数据时,对所述至少两个第一待处理数据进行乘法处理,得到所述结果数据,并将所述结果数据向所述控制电路传输。
本公开实施例通过控制电路对是否要将第一待处理数据传输给乘法运算电路进行控制,在第一待处理数据中未存在预设数据时,才会将第一待处理数据传输给乘法运算电路进行乘法处理;能够减少乘法运算电路20执行乘法处理时的功耗。
一种可能的实施方式中,所述控制电路,还用于:
响应于所述至少两个第一待处理数据中存在预设数据,将所述预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据。
这样,在至少两个待处理数据中存在预设数据时,会将预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据,从而不会将待处理数据传输给乘法电路,输入至乘法运算电路20的数据不变的情况下,乘法运算电路20内部便不会发生信号翻转,信号无翻转,则不会产生由于信号翻转带来的功耗,进而降低乘法处理的功耗。
一种可能的实施方式中,所述控制电路包括:控制信号生成电路、以及结果输出电路;
所述控制信号生成电路,用于在接收所述至少两个第一待处理数据后,确定所述至少两个第一待处理数据中是否存在所述预设数据;响应于所述至少两个第一待处理数据中存在所述预设数据时,生成第一控制信号,并向所述结果输出电路传输所述第一控制信号;
所述结果输出电路,用于响应于接收到所述第一控制信号,将所述预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据,并输出所述结果数据。
一种可能的实施方式中,所述控制信号生成电路,还用于响应于所述至少两个第一待处理数据中不存在所述预设数据,生成第二控制信号,并向所述结果输出电路传输所述第二控制信号;
所述结果输出电路,还用于响应于接收到所述第二控制信号,输出所述乘法运算电路传输的结果数据。
一种可能的实施方式中,所述控制信号生成电路,包括:与所述至少两个第一待处理数据分别对应的第一数据选择器、以及控制信号生成器;所述第一数据选择器的输出端与所述控制信号生成器的输入端连接;
所述第一数据选择器,用于响应于接收到对应第一待处理数据,基于所述对应第一待处理数据,向所述控制信号生成器发送指示信号;所述指示信号用于指示所述对应第一待处理数据是否为所述预设数据;
所述控制信号生成器,用于响应于接收到的指示信号中有至少一个指示信号指示所述对应第一待处理数据为预设数据,生成所述第一控制信号。
一种可能的实施方式中,所述控制信号生成器,还用于响应于接收到的所述指示信号均指示对应第一待处理数据并非预设数据,生成所述第二控制信号。
一种可能的实施方式中,所述控制信号生成器包括:与门电路、或者或门电路。
一种可能的实施方式中,所述结果输出电路包括:第二数据选择器;
所述第二数据选择器的控制信号输入端与所述控制信号生成电路的输出端连接;
所述第二数据选择器的第一输入接口与所述乘法运算电路的输出接口连接;
所述第二数据选择器的第二输入接口用于输入所述预设数据。
一种可能的实施方式中,所述控制电路,还包括:数据传输电路;
所述控制信号生成电路,还用于响应于在所述至少两个第一待处理数据中存在所述预设数据,向所述数据传输电路传输所述第一控制信号;
所述数据传输电路,还用于响应于接收到所述第一控制信号,向所述乘法运算电路屏蔽所述至少两个第一待处理数据。
一种可能的实施方式中,所述数据传输电路,还用于响应于接收到所述第一控制信号,向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据。
一种可能的实施方式中,所述控制信号生成电路,还用于响应于所述至少两个第一待处理数据中未存在所述预设数据,向所述数据传输电路传输所述第二控制信号;
所述数据传输电路,还用于响应于接收到所述第二控制信号,向所述乘法运算电路传输所述至少两个第一待处理数据。
一种可能的实施方式中,所述数据传输电路,包括:与所述至少两个第一待处理数据分别对应的第三数据选择器;
所述第三数据选择器的输出端与所述乘法运算电路的输入端连接;
所述第三数据选择器,用于接收对与所述第三数据选择器对应的第一待处理数据;响应于接收到所述控制信号生成电路传输的第一控制信号,向所述乘法运算电路传输与所述第三数据选择器对应的第一待处理数据。
一种可能的实施方式中,所述第三数据选择器,还用于响应于接收到所述控制信号生成电路传输的第二控制信号,向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据。
一种可能的实施方式中,所述数据传输电路中还包括:与各所述第三数据选择器对应的寄存器;
所述寄存器用于存储所述第二待处理数据;
所述第三数据选择器,在向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据时,用于从对应寄存器中读取所述第二待处理数据,并向所述乘法运算电路传输所述第二待处理数据。
一种可能的实施方式中,所述第三数据选择器,在向所述乘法运算电路传输与所述第三数据选择器对应的第一待处理数据时,还用于:向对应的寄存器传输所述第三数据选择器对应的第一待处理数据,控制对应寄存器中存储的所述第二待处理数据,更新为所述第三数据选择器对应的第一待处理数据。
第二方面,本公开实施例提供一种数据处理方法,应用于乘法器,所述乘法器包括:控制电路、以及乘法运算电路;
所述数据处理方法包括:
所述控制电路确定输入的至少两个第一待处理数据;响应于所述至少两个第一待处理数据中不存在预设数据,将所述至少两个第一待处理数据传输给所述乘法运算电路,并接收所述乘法运算电路传输的结果数据;输出所述结果数据;
所述乘法运算电路接收到所述控制电路传输的至少两个第一待处理数据时,对所述至少两个第一待处理数据进行乘法处理,得到所述结果数据,并将所述结果数据向所述控制电路传输。
一种可能的实施方式中,还包括:所述控制电路响应于所述至少两个第一待处理数据中存在预设数据,将所述预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据。
一种可能的实施方式中,所述控制电路包括:控制信号生成电路、以及结果输出电路;
所述控制电路确定输入的至少两个第一待处理数据中是否存在预设数据;若存在,将所述预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据,包括:
所述控制信号生成电路在接收所述至少两个第一待处理数据后,确定所述至少两个第一待处理数据中是否存在所述预设数据;响应于所述至少两个第一待处理数据中存在所述预设数据时,生成第一控制信号,并向所述结果输出电路传输所述第一控制信号;
所述结果输出电路响应于接收到所述第一控制信号,将所述预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据,并输出所述结果数据。
一种可能的实施方式中,还包括:所述控制信号生成电路响应于所述至少两个第一待处理数据中不存在所述预设数据,生成第二控制信号,并向所述结果输出电路传输所述第二控制信号;
所述结果输出电路响应于接收到所述第二控制信号,输出所述乘法运算电路传输的结果数据。
一种可能的实施方式中,所述控制信号生成电路,包括:与所述至少两个第一待处理数据分别对应的第一数据选择器、以及控制信号生成器;所述第一数据选择器的输出端与所述控制信号生成器的输入端连接;
所述控制信号生成电路响应于接收到对应第一待处理数据,基于所述对应第一待处理数据,向所述控制信号生成器发送指示信号;所述指示信号用于指示所述对应第一待处理数据是否为所述预设数据;
所述控制信号生成器响应于接收到的指示信号中有至少一个指示信号指示所述对应第一待处理数据为预设数据,生成所述第一控制信号。
一种可能的实施方式中,所述生成第二控制信号,包括:所述控制信号生成器响应于接收到的所述指示信号均指示对应第一待处理数据并非预设数据,生成所述第二控制信号。
一种可能的实施方式中,所述控制信号生成器包括:与门电路、或者或门电路。
一种可能的实施方式中,所述结果输出电路包括:第二数据选择器;所述第二数据选择器的控制信号输入端与所述控制信号生成电路的输出端连接;所述第二数据选择器的第一输入接口与所述乘法运算电路的输出接口连接;所述第二数据选择器的第二输入接口用于输入所述预设数据。
一种可能的实施方式中,所述控制电路,还包括:数据传输电路;
所述数据处理方法还包括:所述控制信号生成电路响应于在所述至少两个第一待处理数据中存在所述预设数据,向所述数据传输电路传输所述第一控制信号;
所述数据传输电路响应于接收到所述第一控制信号,向所述乘法运算电路屏蔽所述至少两个第一待处理数据。
一种可能的实施方式中,还包括:所述数据传输电路响应于接收到所述第一控制信号,向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据。
一种可能的实施方式中,还包括:所述控制信号生成电路响应于所述至少两个第一待处理数据中未存在所述预设数据,向所述数据传输电路传输所述第二控制信号;
所述数据传输电路响应于接收到所述第二控制信号,向所述乘法运算电路传输所述至少两个第一待处理数据。
一种可能的实施方式中,所述数据传输电路,包括:与所述至少两个第一待处理数据分别对应的第三数据选择器;第三数据选择器的输出端与所述乘法运算电路的输入端连接;
将所述至少两个第一待处理数据传输给所述乘法运算电路,包括:
所述第三数据选择器接收对与所述第三数据选择器对应的第一待处理数据;响应于接收到所述控制信号生成电路传输的第一控制信号,向所述乘法运算电路传输与所述第三数据选择器对应的第一待处理数据。
一种可能的实施方式中,还包括:所述第三数据选择器响应于接收到所述控制信号生成电路传输的第二控制信号,向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据。
一种可能的实施方式中,还包括:数据传输电路中还包括:与各所述第三数据选择器对应的寄存器;所述寄存器用于存储所述第二待处理数据;
还包括:所述第三数据选择器向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据,包括:从对应寄存器中读取所述第二待处理数据,并向所述乘法运算电路传输所述第二待处理数据。
一种可能的实施方式中,还包括:所述第三数据选择器向所述乘法运算电路传输与所述第三数据选择器对应的第一待处理数据,包括:向对应的寄存器传输所述第三数据选择器对应的第一待处理数据,控制对应寄存器中存储的所述第二待处理数据,更新为所述第三数据选择器对应的第一待处理数据。
第三方面,本公开实施例提供一种芯片,包括:如第一方面任一项所述的乘法器。
第四方面,本公开实施例提供一种计算机设备,包括:处理器、存储器,及如第一方面任一项所述的乘法器,或者包括如第三方面所述的芯片。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如第二方面任一项所述的数据处理方法的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种乘法器的结构示意图;
图2示出了本公开实施例所提供的另一种乘法器的结构示意图;
图3示出了本公开实施例所提供的另一种乘法器的结构示意图;
图4示出了本公开实施例所提供的一种数据处理方法的流程图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,卷积计算是神经网络处理电路中需要实现的主要功能之一,而卷积计算中存在大量的乘法运算,而乘法器则是构成神经网络处理电路的基础单元,用实现卷积运算过程中的乘法运算。乘法器在对第一待处理数据进行乘法处理的时候,输入至乘法器的数据每变化一次,乘法器内部都会产生大量的信号翻转,以实现对第一待处理数据的乘法处理;而信号翻转,则会带来功耗的增加。神经网络中卷积层的数量越多,所带来的卷积处理运算量也越多,一个深度学习模型通常包含数以百万计甚至千万计的参数和十几层甚至几十层的网络,带来了巨量的计算开销。例如在当前神经网络中,很多网络层中存在有激活函数,如激活函数Relu,在利用Relu对特征图进行处理后,导致网络层输出的结果中会存在大量特征点的特征值为0的情况;上述情况导致后续卷积层的计算中,出现大量的乘数或者被乘数为0,而当一个输入为0,另一个输入不为0时,虽然结果为0,但由于输入给乘法器的数据发生了变化,就会导致乘法器内部会出现大量信号翻转,造成乘法器功耗的巨增。因此,降低乘法运算过程中的功耗已经成为当前亟待解决的问题。
基于上述研究,本公开提供了一种乘法器,通过控制电路控制第一待处理数据是否要传输给乘法运算电路进行乘法运算,在第一待处理数据中未存在预设数据时,才会将第一待处理数据传输给乘法运算电路进行乘法处理,从而能够减少乘法运算电路执行乘法处理时的功耗。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种乘法器进行详细介绍,本公开实施例提供的乘法器可以应用于计算机设备中,计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。乘法器还可以用于芯片中,如神经网络处理芯片、人工智能芯片等。该乘法器能够在卷积处理过程中进行乘法运算,也能够用于其他数据的乘法运算。
下面本公开实施例提供的乘法器加以说明。
参见图1所示,为本公开实施例提供的乘法器的示意图,包括:控制电路10、以及乘法运算电路20;
其中,所述控制电路10,用于确定输入的至少两个第一待处理数据;响应于所述至少两个第一待处理数据中不存在预设数据,将所述至少两个第一待处理数据传输给所述乘法运算电路,并接收所述乘法运算电路传输的结果数据;输出所述结果数据;
所述乘法运算电路20,用于接收到所述控制电路10传输的至少两个第一待处理数据时,对所述至少两个第一待处理数据进行乘法处理,得到所述结果数据,并将所述结果数据向所述控制电路10传输。
在本公开另一实施例中,所述控制电路10,还用于:
响应于所述至少两个第一待处理数据中存在预设数据,将所述预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据。
本公开实施例通过控制电路10对是否要将第一待处理数据传输给乘法运算电路20进行控制,在第一待处理数据中未存在预设数据时,才会将第一待处理数据传输给乘法运算电路20进行乘法处理;能够减少乘法运算电路20执行乘法处理时的功耗。
本公开另一实施例中,在至少两个待处理数据中存在预设数据时,会将预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据,从而不会将待处理数据传输给乘法电路,输入至乘法运算电路20的数据不变的情况下,乘法运算电路20内部便不会发生信号翻转,信号无翻转,则不会产生由于信号翻转带来的功耗,进而降低乘法处理的功耗。
下面对本公开实施例提供的乘法器加以详细说明。
本公开各实施例中,预设数据例如为:多个比特位均为0的数据。由于输入至乘法器中的第一待处理数据一旦发生变换,就会造成乘法运算电路20内部发生信号翻转,但当至少两个第一待处理数据中的任一第一待处理数据为0时,乘法器所输出的结果均为0,因此,可以在第一待处理数据中存在0数据的情况下,通过控制电路10屏蔽将第一待处理数据传输给乘法运算电路20,并能够通过控制电路10输出正确的乘法处理结果,以使得在第一待处理数据存在0数据的情况下,乘法运算电路20的内部不会发生信号翻转,从而降低乘法运算电路20在执行乘法处理过程中的功耗。
参见图2所示,本公开实施例提供一种控制电路10的具体结构的示例,包括:控制信号生成电路11以及结果输出电路12。
所述控制信号生成电路11,用于在接收所述至少两个第一待处理数据后,确定所述至少两个第一待处理数据中是否存在所述预设数据;响应于所述至少两个第一待处理数据中存在所述预设数据,生成第一控制信号,并向所述结果输出电路12传输所述第一控制信号;
所述结果输出电路12,用于响应于接收到所述第一控制信号,将所述预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据,并输出所述结果数据。
再具体实施中,控制信号生成电路11,还用于响应于所述至少两个第一待处理数据中不存在所述预设数据,生成第二控制信号,并向所述结果输出电路12传输所述第二控制信号;
所述结果输出电路12,还用于响应于接收到所述第二控制信号,输出所述乘法运算电路20传输的结果数据。
参见图3所示,本公开实施例还提供一种乘法器的具体结构示例,在该实例中,控制信号生成电路11包括:与所述至少两个第一待处理数据分别对应的第一数据选择器111、以及控制信号生成器112;所述第一数据选择器111的输出端与所述控制信号生成器112的输入端连接;
所述第一数据选择器111,用于响应于接收到对应第一待处理数据,基于所述对应第一待处理数据,向所述控制信号生成器112发送指示信号;所述指示信号用于指示所述对应第一待处理数据是否为所述预设数据;
所述控制信号生成器112,用于响应于接收到的指示信号中有至少一个指示信号指示所述对应第一待处理数据为预设数据,生成所述第一控制信号。
此处,第一数据选择器111的数量与要处理的第一待处理数据的最大数量相同;例如,若在乘法器使用过程中,最多将5个第一待处理数据进行相乘处理,则第一数据选择器111的数量为5个;若最多将3个第一待处理数据进行相乘处理,则第一数据选择器111的数量为3个。而在实际使用的过程中,在不同处理周期,所输入的第一待处理数据的数量可以相同,也可以不同;在某个处理周期输入的第一待处理数据的数量少于第一数据选择器111的数量的情况下,则仅有待处理输入的第一数据选择器111有效,其他无第一待处理数据输入的第一数据选择器111可以被置为无效状态,以实现无第一待处理数据输入的第一数据选择器111的处理。
在图3对应的示例中,以第一待处理数据有2个,2个第一待处理数据分别为:data_a以及data_b,data_a以及data_b分别输入至两个第一数据选择器111-1,且data_a以及data_b分别作为两个第一数据选择器111的控制信号,以控制两个第一数据选择器111能够输出各自对应的指示信号。
示例性的,指示信号的取值可以为0或者为1,当某个第一数据选择器111输出的指示信号的取值为0时,表征输入至该第一数据选择器111的第一待处理数据为预设数据。当该第一数据选择器111输出的指示信号的取值为1时,表征输入至该第一数据选择器111的第一待处理数据并非预设数据。或者,当某个第一数据选择器111输出的指示信号的取值为1时,表征输入至该第一数据选择器111的第一待处理数据为预设数据。当该第一数据选择器111输出的指示信号的取值为0时,表征输入至该第一数据选择器111的第一待处理数据并非预设数据。在另一实施例中,也可以为指示信号设置其他的取值,例如取值为11或00,通过11和00来表征指示信号表征含义的不同情况,具体的可以根据实际的需要来进行设定,本公开实施例中不做限定。
第一数据选择器111的指示信号传输给控制信号生成器112后,判断接收到的指示信号中是否存在指示对应第一待处理数据为预设数据的指示信号。若存在,则生成第一控制信号。
在本公开另一实施例中,控制信号生成器112,还用于响应于收到的所述指示信号均指示对应第一待处理数据并非预设数据,生成所述第二控制信号。
此处,控制信号生成器112例如是通过逻辑门电路构成的一电路,例如与门电路、或者或门电路。
其中,在控制信号生成器112为与门电路的情况下,由于与门电路的逻辑为:输入信号所有均为高电平信号才输出1,若输入信号中有任一为低电平,则输出为0,因此可以在指示信号的取值为1的时候,指示对应的第一待处理数据并非预设数据;在指示信号的取值为0的时候,指示对应的第一待处理数据为预设数据;若第一待处理数据中有任一第一待处理数据为预设数据,则与该第一待处理数据对应的指示信号的取值为0,与门电路的输出结果为0,将0作为第一控制信号,用于指示将预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据。反之,若第一待处理数据中不存在预设数据,则与第一待处理数据对应的指示信号取值均为1,与门电路的输出结果为1,将1作为第二控制信号,用于指示将第一待处理数据传输给乘法运算电路20进行乘法处理,得到结果数据。
另外,在控制信号生成器112为或门电路的情况下,由于或门电路的逻辑为:输入信号只要存在高电平,则会输出1,若输入信号均为低电平信号,则输出为0,因此,可以在指示信号的取值为0的时候,指示对应的第一待处理数据为预设数据,在指示信号的取值为1的时候,指示对应的第一待处理数据并非预设数据;若第一待处理数据中有任一第一待处理数据为预设数据,则与该第一待处理数据对应的指示信号的取值为1,或门电路的输出结果为1,将1作为第一控制信号,用于指示将预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据。反之,若第一待处理数据中不存在预设数据,则与第一待处理数据对应的指示信号取值均为0,或门电路的输出结果为0,将0作为第二控制信号,用于指示将第一待处理数据传输给乘法运算电路20进行乘法处理,得到结果数据。
另外,控制信号生成器112还可以通过其他的逻辑门器件构成,信号取值的表征含义可以根据具体的情况来确定,本公开实施例中不做限定。
控制信号生成器112在生成第一控制信号后,向结果输出电路12传输第一控制信号。结果输出电路12在接收到第一控制信号后,将预设数据作为结果数据输出。
其中,参见图3所示,结果输出电路12例如包括:第二数据选择器121。该第二数据选择器121的控制信号输入端与控制信号生成电路11的输出端连接;
所述第二数据选择器121的第一输入接口与所述乘法运算电路20的输出接口连接;所述第二数据选择器121的第二输入接口用于输入所述预设数据。
这样,当传输给结果输出电路12的信号为第一控制信号的情况下,第二数据选择器121连通第二输入接口、和第二数据选择器121的输出接口之间的输出通路,从而向外界直接传输预设数据。
当传输给结果输出电路12的信号为第二控制信号的情况下,第二数据选择器121选通第一输入接口、和第二数据选择器121的输出接口之间的输出通路,从而向外界传输有乘法运算电路20传输的结果数据。
本公开另一实施例中,参见图2所示,控制电路10中还包括:数据传输电路13。
所述控制信号生成电路11,还用于响应于所述至少两个第一待处理数据中存在所述预设数据,向所述数据传输电路13传输所述第一控制信号;
所述数据传输电路13,还用于响应于接收到所述第一控制信号,向所述乘法运算电路屏蔽所述至少两个第一待处理数据。
在该种情况下,数据传输电路13将传输给乘法运算电路20的第一待处理数据屏蔽掉,从而使得乘法运算电路20不对第一待处理数据进行乘法处理,也就避免了乘法运算电路20对第一待处理数据进行处理而发生的信号翻转,也就不需要对第一待处理数据进行处理而产生功耗,因而降低了乘法处理过程中的功耗。
在另一实施例中,所述数据传输电路13,还用于响应于接收到所述第一控制信号,向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据。
在具体实施中,乘法运算电路20的输入端口不能悬空,若乘法运算电路20的输入端口为空,则可能导致电路击穿或者环境原因导致的错误输入,因此本公开示例中,数据传输电路13在接收到第一控制信号后,还会乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据,使得乘法运算电路20执行一次前一次乘法处理对应的处理。此处,由于当前处理周期和前一次输入至乘法运算电路20中的数据未发生变化,因而也就不会造成乘法运算电路20中发生信号翻转,因此即使乘法运算电路20在本周期执行了与前一次对应的乘法处理,也不会产生由于信号翻转而造成的功耗,同时也能够避免由于乘法运算电路20的输入端悬空导致的电路击穿或者环境原因导致的错误输入。
本公开另一实施例中,控制信号生成电路11,还用于响应于所述至少两个第一待处理数据中未存在所述预设数据,向所述数据传输电路13传输所述第二控制信号;
所述数据传输电路13,还用于在接收到所述第二控制信号后,向所述乘法运算电路20传输所述至少两个第一待处理数据。
这样,控制信号生成电路11在第一待处理数据中为存在预设数据的情况下,向数据传输电路13传输第二控制信号,数据传输电路13在接收到第二控制信号后,向乘法运算电路20传输第一待处理数据,以使得乘法运算电路20能够对第一待处理数据进行乘法处理,得到乘法处理的结果数据。
参见图3所示,本公开实施例还提供了一种数据传输电路13的具体结构,包括:与所述至少两个第一待处理数据分别对应的第三数据选择器131;
所述第三数据选择器131的输出端与所述乘法运算电路20的输入端连接;
所述第三数据选择器131,用于接收对与所述第三数据选择器131对应的第一待处理数据;在接收到所述控制信号生成电路11传输的第一控制信号后,向所述乘法运算电路20传输与所述第三数据选择器131对应的第一待处理数据。
在该实施例中,控制信号生成电路11的输出端与第三数据选择器131的控制信号输入端连接;第三数据选择器131的第一输入端用于外界输入第一待处理数据;第三数据选择器131在接收到第一控制信号后,选通第三数据选择器131的第一输入端和第三数据选择器131的数据输出端之间的数据通路,以将外界输入的对应待第一处理数据传输给乘法运算电路20。
在另一实施例中,所述第三数据选择器131,还用于在接收到所述控制信号生成电路11传输的第二控制信号后,向所述乘法运算电路20传输前一次向所述乘法运算电路传输的第二待处理数据。
在该种情况下,第三数据选择器的第二输入端用于输入前一次向所述乘法运算电路传输的第二待处理数据。当第三数据选择器131接收到第二控制信号后,选通第二输入端和第三数据选择器131的数据输出端之间的数据通路,以将第二待处理数据传输给乘法运算电路20。
在另一实施例中,与各所述第三数据选择器131对应的寄存器132;
所述寄存器132用于存储所述第二待处理数据;
所述第三数据选择器131,在向所述乘法运算电路20传输前一次向乘法运算电路传输的第二待处理数据时,用于从对应寄存器132中读取所述第二待处理数据,并向所述乘法运算电路20传输所述第二待处理数据。
另外,所述第三数据选择器131,在向所述乘法运算电路20传输与所述第三数据选择器131对应的第一待处理数据时,还用于:向对应的寄存器132传输所述第三数据选择器131对应的第一待处理数据,控制对应寄存器132中存储的所述第二待处理数据,更新为所述第三数据选择器131对应的第一待处理数据。
这样,在多个处理周期中,若当前处理周期对应的待处理数据中不存在为0的数据,则更新寄存器132中存储的数据,以在当前处理周期的下一处理周期出现为0的输入时,能够利用当前处理周期的待处理数据作为乘法运算电路20的输入,避免乘法运算电路20的输入悬空导致的电路击穿或者环境原因导致的错误输入。
在图3对应的示例中,以第一待处理数据有2个,2个第一待处理数据分别为:data_a以及data_b,data_a以及data_b分别输入至两个第三数据选择器131;其中,两个第三数据选择器131分别连接有寄存器132。
以其中一个第三数据选择器131为例,data_a输入至第三数据选择器131;当接收到控制信号生成电路传输的第一控制信号后,第三数据选择器131选通连接有寄存器132的输入端、和信号输出端,将寄存器132中存储的第二待处理数据作为当前处理周期要进行乘法运算的数据multi_a,传输给乘法器电路。
当接收到控制信号生成电路传输的第一控制信号后,第三数据选择器131选通连用于输入data_a的输入端、和信号输出端,将第一待处理数据data_a作为当前处理周期要进行乘法运算的数据multi_a,传输给乘法器电路。
本领域技术人员可以理解,在具体实施方式的上述乘法器中,各部件的连接关系和各自的功能并不对本公开实施例提供的乘法器的结构构成任何限定,乘法器的具体电路结构应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与乘法器对应的数据处理方法,由于本公开实施例中的方法解决问题的原理与本公开实施例上述乘法器相似,因此方法的实施可以参见乘法器的实施,重复之处不再赘述。
参照图4所示,为本公开实施例提供的一种数据处理方法的流程图,应用于乘法器,所述乘法器包括:控制电路、以及乘法运算电路;
所述数据处理方法包括:
S401:所述控制电路确定输入的至少两个第一待处理数据;响应于所述至少两个第一待处理数据中不存在预设数据,将所述至少两个第一待处理数据传输给所述乘法运算电路,并接收所述乘法运算电路传输的结果数据;
S402:所述乘法运算电路接收到所述控制电路传输的至少两个第一待处理数据时,对所述至少两个第一待处理数据进行乘法处理,得到所述结果数据,并将所述结果数据向所述控制电路传输;
S403:输出所述结果数据。
一种可能的实施方式中,所述控制电路包括:控制信号生成电路、以及结果输出电路;
所述控制电路确定输入的至少两个第一待处理数据中是否存在预设数据;若存在,将所述预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据,包括:
所述控制信号生成电路在接收所述至少两个第一待处理数据后,确定所述至少两个第一待处理数据中是否存在所述预设数据;响应于所述至少两个第一待处理数据中存在所述预设数据时,生成第一控制信号,并向所述结果输出电路传输所述第一控制信号;
所述结果输出电路响应于接收到所述第一控制信号,将所述预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据,并输出所述结果数据。
一种可能的实施方式中,还包括:所述控制信号生成电路响应于所述至少两个第一待处理数据中不存在所述预设数据,生成第二控制信号,并向所述结果输出电路传输所述第二控制信号;
所述结果输出电路响应于接收到所述第二控制信号,输出所述乘法运算电路传输的结果数据。
一种可能的实施方式中,所述控制信号生成电路,包括:与所述至少两个第一待处理数据分别对应的第一数据选择器、以及控制信号生成器;所述第一数据选择器的输出端与所述控制信号生成器的输入端连接;
所述控制信号生成电路响应于接收到对应第一待处理数据,基于所述对应第一待处理数据,向所述控制信号生成器发送指示信号;所述指示信号用于指示所述对应第一待处理数据是否为所述预设数据;
所述控制信号生成器响应于接收到的指示信号中有至少一个指示信号指示所述对应第一待处理数据为预设数据,生成所述第一控制信号。
一种可能的实施方式中,所述生成第二控制信号,包括:所述控制信号生成器响应于接收到的所述指示信号均指示对应第一待处理数据并非预设数据,生成所述第二控制信号。
一种可能的实施方式中,所述控制信号生成器包括:与门电路、或者或门电路。
一种可能的实施方式中,所述结果输出电路包括:第二数据选择器;所述第二数据选择器的控制信号输入端与所述控制信号生成电路的输出端连接;所述第二数据选择器的第一输入接口与所述乘法运算电路的输出接口连接;所述第二数据选择器的第二输入接口用于输入所述预设数据。
一种可能的实施方式中,所述控制电路,还包括:数据传输电路;
所述数据处理方法还包括:所述控制信号生成电路响应于在所述至少两个第一待处理数据中存在所述预设数据,向所述数据传输电路传输所述第一控制信号;
所述数据传输电路响应于接收到所述第一控制信号,向所述乘法运算电路屏蔽所述至少两个第一待处理数据。
一种可能的实施方式中,还包括:所述数据传输电路响应于接收到所述第一控制信号,向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据。
一种可能的实施方式中,还包括:所述控制信号生成电路响应于所述至少两个第一待处理数据中未存在所述预设数据,向所述数据传输电路传输所述第二控制信号;
所述数据传输电路响应于接收到所述第二控制信号,向所述乘法运算电路传输所述至少两个第一待处理数据。
一种可能的实施方式中,所述数据传输电路,包括:与所述至少两个第一待处理数据分别对应的第三数据选择器;第三数据选择器的输出端与所述乘法运算电路的输入端连接;
将所述至少两个第一待处理数据传输给所述乘法运算电路,包括:
所述第三数据选择器接收对与所述第三数据选择器对应的第一待处理数据;响应于接收到所述控制信号生成电路传输的第一控制信号,向所述乘法运算电路传输与所述第三数据选择器对应的第一待处理数据。
一种可能的实施方式中,还包括:所述第三数据选择器响应于接收到所述控制信号生成电路传输的第二控制信号,向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据。
一种可能的实施方式中,还包括:数据传输电路中还包括:与各所述第三数据选择器对应的寄存器;所述寄存器用于存储所述第二待处理数据;
还包括:所述第三数据选择器向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据,包括:从对应寄存器中读取所述第二待处理数据,并向所述乘法运算电路传输所述第二待处理数据。
一种可能的实施方式中,还包括:所述第三数据选择器向所述乘法运算电路传输与所述第三数据选择器对应的第一待处理数据,包括:向对应的寄存器传输所述第三数据选择器对应的第一待处理数据,控制对应寄存器中存储的所述第二待处理数据,更新为所述第三数据选择器对应的第一待处理数据。
本公开实施例还提供一种芯片,包括如第一方面任一项所述的乘法器。
本公开实施例还提供一种计算机设备,包括:处理器、存储器,及如本公开任一实施例所述的乘法器,或者包括如本公开实施例提供的芯片。
本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行本公开任一实施例提供的数据处理方法的步骤。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据处理的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (17)

1.一种乘法器,其特征在于,包括:控制电路、以及乘法运算电路;
其中,所述控制电路,用于确定输入的至少两个第一待处理数据;响应于所述至少两个第一待处理数据中不存在预设数据,将所述至少两个第一待处理数据传输给所述乘法运算电路,并接收所述乘法运算电路传输的结果数据;输出所述结果数据;
所述乘法运算电路,用于接收到所述控制电路传输的至少两个第一待处理数据时,对所述至少两个第一待处理数据进行乘法处理,得到所述结果数据,并将所述结果数据向所述控制电路传输;
其中,所述控制电路包括数据传输电路,所述数据传输电路包括与所述至少两个第一待处理数据分别对应的第三数据选择器;所述第三数据选择器的输出端与所述乘法运算电路的输入端连接;所述第三数据选择器用于在所述数据传输电路接收到第一控制信号时避免乘法运算电路的输入端悬空;
所述控制电路还包括控制信号生成电路、以及结果输出电路;所述结果输出电路包括:第二数据选择器;
所述控制信号生成电路,用于在接收所述至少两个第一待处理数据后,确定所述至少两个第一待处理数据中是否存在所述预设数据;响应于所述至少两个第一待处理数据中存在所述预设数据时,生成第一控制信号,并向所述结果输出电路传输所述第一控制信号;
所述结果输出电路,用于响应于接收到所述第一控制信号,将所述预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据,并输出所述结果数据;
所述第二数据选择器的控制信号输入端与所述控制信号生成电路的输出端连接;所述第二数据选择器的第一输入接口与所述乘法运算电路的输出接口连接;所述第二数据选择器的第二输入接口用于输入所述预设数据。
2.根据权利要求1所述的乘法器,其特征在于,所述控制电路,还用于:
响应于所述至少两个第一待处理数据中存在预设数据,将所述预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据。
3.根据权利要求1所述的乘法器,其特征在于,所述控制信号生成电路,还用于响应于所述至少两个第一待处理数据中不存在所述预设数据,生成第二控制信号,并向所述结果输出电路传输所述第二控制信号;
所述结果输出电路,还用于响应于接收到所述第二控制信号,输出所述乘法运算电路传输的结果数据。
4.根据权利要求1-3任一项所述的乘法器,其特征在于,所述控制信号生成电路,包括:与所述至少两个第一待处理数据分别对应的第一数据选择器、以及控制信号生成器;所述第一数据选择器的输出端与所述控制信号生成器的输入端连接;
所述第一数据选择器,用于响应于接收到对应第一待处理数据,基于所述对应第一待处理数据,向所述控制信号生成器发送指示信号;所述指示信号用于指示所述对应第一待处理数据是否为所述预设数据;
所述控制信号生成器,用于响应于接收到的指示信号中有至少一个指示信号指示所述对应第一待处理数据为预设数据,生成所述第一控制信号。
5.根据权利要求4所述的乘法器,其特征在于,所述控制信号生成器,还用于响应于接收到的所述指示信号均指示对应第一待处理数据并非预设数据,生成第二控制信号。
6.根据权利要求4所述的乘法器,其特征在于,所述控制信号生成器包括:与门电路、或者或门电路。
7.根据权利要求1-3任一项所述的乘法器,其特征在于,所述控制电路,还包括:数据传输电路;
所述控制信号生成电路,还用于响应于在所述至少两个第一待处理数据中存在所述预设数据,向所述数据传输电路传输所述第一控制信号;
所述数据传输电路,还用于响应于接收到所述第一控制信号,向所述乘法运算电路屏蔽所述至少两个第一待处理数据。
8.根据权利要求7所述的乘法器,其特征在于,所述数据传输电路,还用于响应于接收到所述第一控制信号,向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据。
9.根据权利要求7所述的乘法器,其特征在于,所述控制信号生成电路,还用于响应于所述至少两个第一待处理数据中未存在所述预设数据,向所述数据传输电路传输第二控制信号;
所述数据传输电路,还用于响应于接收到第二控制信号,向所述乘法运算电路传输所述至少两个第一待处理数据。
10.根据权利要求7所述的乘法器,其特征在于,包括:
所述第三数据选择器,用于接收对与所述第三数据选择器对应的第一待处理数据;响应于接收到所述控制信号生成电路传输的第一控制信号,向所述乘法运算电路传输与所述第三数据选择器对应的第一待处理数据。
11.根据权利要求10所述的乘法器,其特征在与,所述第三数据选择器,还用于响应于接收到所述控制信号生成电路传输的第二控制信号,向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据。
12.根据权利要求11所述的乘法器,其特征在于,所述数据传输电路中还包括:与各所述第三数据选择器对应的寄存器;
所述寄存器用于存储所述第二待处理数据;
所述第三数据选择器,在向所述乘法运算电路传输前一次向所述乘法运算电路传输的第二待处理数据时,用于从对应寄存器中读取所述第二待处理数据,并向所述乘法运算电路传输所述第二待处理数据。
13.根据权利要求11所述的乘法器,其特征在于,所述第三数据选择器,在向所述乘法运算电路传输与所述第三数据选择器对应的第一待处理数据时,还用于:向对应的寄存器传输所述第三数据选择器对应的第一待处理数据,控制对应寄存器中存储的所述第二待处理数据,更新为所述第三数据选择器对应的第一待处理数据。
14.一种数据处理方法,其特征在于,应用于乘法器,所述乘法器包括:控制电路、以及乘法运算电路;
所述数据处理方法包括:
所述控制电路,用于确定输入的至少两个第一待处理数据;响应于所述至少两个第一待处理数据中不存在预设数据,将所述至少两个第一待处理数据传输给所述乘法运算电路,并接收所述乘法运算电路传输的结果数据;输出所述结果数据;
所述乘法运算电路,用于接收到所述控制电路传输的至少两个第一待处理数据时,对所述至少两个第一待处理数据进行乘法处理,得到所述结果数据,并将所述结果数据向所述控制电路传输;
其中,所述控制电路包括数据传输电路,所述数据传输电路包括与所述至少两个第一待处理数据分别对应的第三数据选择器;所述第三数据选择器的输出端与所述乘法运算电路的输入端连接;所述第三数据选择器用于在所述数据传输电路接收到第一控制信号时避免乘法运算电路的输入端悬空;
所述控制电路还包括控制信号生成电路、以及结果输出电路;所述结果输出电路包括:第二数据选择器;
所述控制信号生成电路,用于在接收所述至少两个第一待处理数据后,确定所述至少两个第一待处理数据中是否存在所述预设数据;响应于所述至少两个第一待处理数据中存在所述预设数据时,生成第一控制信号,并向所述结果输出电路传输所述第一控制信号;
所述结果输出电路,用于响应于接收到所述第一控制信号,将所述预设数据作为对所述至少两个第一待处理数据进行乘法处理的结果数据,并输出所述结果数据;
所述第二数据选择器的控制信号输入端与所述控制信号生成电路的输出端连接;所述第二数据选择器的第一输入接口与所述乘法运算电路的输出接口连接;所述第二数据选择器的第二输入接口用于输入所述预设数据。
15.一种芯片,其特征在于,包括:如权利要求1-13任一项所述的乘法器。
16.一种计算机设备,其特征在于,包括:处理器、存储器,及如权利要求1-13任一项所述的乘法器,或者包括如权利要求15所述的芯片。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求14所述的数据处理方法的步骤。
CN202110561400.XA 2021-05-22 2021-05-22 乘法器、数据处理方法、芯片、计算机设备及存储介质 Active CN113222132B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110561400.XA CN113222132B (zh) 2021-05-22 2021-05-22 乘法器、数据处理方法、芯片、计算机设备及存储介质
PCT/CN2021/134297 WO2022247194A1 (zh) 2021-05-22 2021-11-30 乘法器、数据处理方法、芯片、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110561400.XA CN113222132B (zh) 2021-05-22 2021-05-22 乘法器、数据处理方法、芯片、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN113222132A CN113222132A (zh) 2021-08-06
CN113222132B true CN113222132B (zh) 2023-04-18

Family

ID=77097845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110561400.XA Active CN113222132B (zh) 2021-05-22 2021-05-22 乘法器、数据处理方法、芯片、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN113222132B (zh)
WO (1) WO2022247194A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113222132B (zh) * 2021-05-22 2023-04-18 上海阵量智能科技有限公司 乘法器、数据处理方法、芯片、计算机设备及存储介质
CN113254072B (zh) * 2021-05-27 2023-04-07 上海阵量智能科技有限公司 数据处理器、数据处理方法、芯片、计算机设备及介质
CN114329330A (zh) * 2021-12-31 2022-04-12 上海阵量智能科技有限公司 数据处理装置、方法、芯片、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185714A (en) * 1989-09-19 1993-02-09 Canon Kabushiki Kaisha Arithmetic operation processing apparatus
JP2006338215A (ja) * 2005-06-01 2006-12-14 Nec Computertechno Ltd ベクトル積和演算回路
CN110688087A (zh) * 2019-09-24 2020-01-14 上海寒武纪信息科技有限公司 数据处理器、方法、芯片及电子设备
CN111260043A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 数据选择器、数据处理方法、芯片及电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722352B (zh) * 2012-05-21 2015-06-03 华南理工大学 一种Booth乘法器
CN103853524B (zh) * 2012-11-30 2017-02-08 安凯(广州)微电子技术有限公司 一种乘法器装置和实现乘法运算的方法
CN107527090A (zh) * 2017-08-24 2017-12-29 中国科学院计算技术研究所 应用于稀疏神经网络的处理器和处理方法
CN108363559B (zh) * 2018-02-13 2022-09-27 北京旷视科技有限公司 神经网络的乘法处理方法、设备和计算机可读介质
CN110058840B (zh) * 2019-03-27 2022-11-25 西安理工大学 一种基于4-Booth编码的低功耗乘法器
CN110221808B (zh) * 2019-06-03 2020-10-09 深圳芯英科技有限公司 向量乘加运算的预处理方法、乘加器及计算机可读介质
CN110515589B (zh) * 2019-08-30 2024-04-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN113222132B (zh) * 2021-05-22 2023-04-18 上海阵量智能科技有限公司 乘法器、数据处理方法、芯片、计算机设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185714A (en) * 1989-09-19 1993-02-09 Canon Kabushiki Kaisha Arithmetic operation processing apparatus
JP2006338215A (ja) * 2005-06-01 2006-12-14 Nec Computertechno Ltd ベクトル積和演算回路
CN111260043A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 数据选择器、数据处理方法、芯片及电子设备
CN110688087A (zh) * 2019-09-24 2020-01-14 上海寒武纪信息科技有限公司 数据处理器、方法、芯片及电子设备

Also Published As

Publication number Publication date
CN113222132A (zh) 2021-08-06
WO2022247194A1 (zh) 2022-12-01

Similar Documents

Publication Publication Date Title
CN113222132B (zh) 乘法器、数据处理方法、芯片、计算机设备及存储介质
CN112114776B (zh) 一种量子乘法运算方法、装置、电子装置及存储介质
CN113703840A (zh) 数据处理装置、方法、芯片、计算机设备及存储介质
CN111563598B (zh) 预估量子计算模拟时间的方法、系统
US11651198B2 (en) Data processing method and apparatus for neural network
CN113222161B (zh) 一种自定义量子逻辑门的实现方法、装置
CN113222156B (zh) 一种待执行操作的量子模拟方法、装置
CN112214200B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
WO2023124371A1 (zh) 数据处理装置、方法、芯片、计算机设备及存储介质
Anumandla et al. Field programmable gate arrays‐based differential evolution coprocessor: a case study of spectrum allocation in cognitive radio network
CN117540668A (zh) 数字电路的仿真方法及装置
CN115809707A (zh) 量子比较运算方法、装置、电子装置及基础算术组件
CN115713122B (zh) 一种量子数据与经典数据的大小关系的确定方法及装置
RU220305U1 (ru) Устройство для моделирования вероятностных характеристик
CN115879557B (zh) 基于量子线路的数据大小比较方法、装置及量子计算机
CN115879560B (zh) 一种量子数据与经典数据的等值关系判断方法及装置
CN115809042B (zh) 量子模数加法运算方法、装置、电子装置及模数算术组件
CN115879558B (zh) 一种多个量子态之间的大小比较方法及装置
CN115879552B (zh) 量子模数乘逆运算方法、装置、电子装置及模数算术组件
CN115879555B (zh) 量子模数快速乘法运算方法、装置及模数算术组件
CN115879554B (zh) 量子模数平方运算方法、装置、电子装置及模数算术组件
CN111047023B (zh) 一种计算装置及相关产品
CN113821321A (zh) 任务处理芯片、方法、装置、计算机设备及存储介质
CN108549930A (zh) 基于脉冲神经膜系统的有符号整数求和方法和终端设备
CN112162725A (zh) 一种量子除法运算方法、装置、电子装置及存储介质

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40049953

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant