CN108108187A - 运算方法及装置 - Google Patents

运算方法及装置 Download PDF

Info

Publication number
CN108108187A
CN108108187A CN201711378468.4A CN201711378468A CN108108187A CN 108108187 A CN108108187 A CN 108108187A CN 201711378468 A CN201711378468 A CN 201711378468A CN 108108187 A CN108108187 A CN 108108187A
Authority
CN
China
Prior art keywords
operational order
time
module
computing module
computing
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
Application number
CN201711378468.4A
Other languages
English (en)
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.)
Beijing Yunzhisheng Information Technology Co Ltd
Original Assignee
Beijing Yunzhisheng Information 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 Beijing Yunzhisheng Information Technology Co Ltd filed Critical Beijing Yunzhisheng Information Technology Co Ltd
Priority to CN201711378468.4A priority Critical patent/CN108108187A/zh
Publication of CN108108187A publication Critical patent/CN108108187A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Advance Control (AREA)

Abstract

本公开是关于运算方法及装置,对于不同复杂程度的运算,根据每条运算指令的执行时间及其前一条运算指令的剩余执行时间,来确定在哪个时刻输入该运算指令,使得先输入的运算指令先出结果,后输入的运算指令后出结果。这样,保证不同运算按照输入顺序输出结果,提高运算的准确性。另外,无需等待前一条运算指令执行完毕就可以执行后一条运算指令,也提高整个运算装置的运算效率,节约运算时间。

Description

运算方法及装置
技术领域
本公开涉及数字处理技术领域,尤其涉及运算方法及装置。
背景技术
目前,随着计算机技术的快速发展,在系统应用中,算法越来越复杂,计算量越来越大,因此,集成的运算单元也越来越多。由于每种运算因其复杂度不同,运算所需时间也不同。对于不同复杂度的运算,后输入的运算指令可能由于计算复杂度较低,计算时间较短,反而比先输入的运算指令先执行完毕,导致后输入的运算指令的执行结果先输出,从而造成后续运算错误。
发明内容
本公开实施例提供运算方法及装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种运算装置,包括:控制模块、至少两个不同的运算模块及选择模块;
所述控制模块与每个运算模块的输入端连接,所述选择模块与每个运算模块的输出端连接;
所述控制模块根据接收到的第一运算指令的执行时间以及所述第一运算指令前一条的第二运算指令的剩余执行时间,控制将所述第一运算指令输入到对应的运算模块;
所述选择模块,在每个时钟选择所述运算模块输出的有效的运算结果进行输出。
可选的,所述控制模块包括:
计时子模块,用于获取所述第一运算指令前一条的第二运算指令的剩余执行时间;
比较子模块,用于比较所述第一运算指令的执行时间与所述第二运算指令的剩余执行时间;
控制子模块,用于当所述第一运算指令的执行时间大于所述第二运算指令的剩余执行时间时,确定所述第一运算指令对应的运算模块,控制将所述第一运算指令输入到所述运算模块。
可选的,当所述第一运算指令的执行时间为n个时钟,其中n为大于或等于1的整数;
所述计时子模块,用于当所述第一运算指令被输入所述运算模块时,每过一个时钟,将所述第一运算指令的执行时间减1,得到所述第一运算指令的剩余执行时间。
可选的,所述控制子模块包括与所述运算模块连接的开关;
当所述第一运算指令的执行时间大于所述第二运算指令的剩余执行时间时,所述开关闭合,使得所述第一运算指令输入到所述运算模块。
可选的,所述选择模块,在每个时钟,从其中一个运算模块获取一个有效运算结果,从其他运算模块获取到的结果为0,对所述有效运算结果和0执行或运算,输出所述有效运算结果。
根据本公开实施例的第二方面,提供一种运算方法,应用于包括至少两个不同的运算模块的运算装置,所述方法包括:
接收第一运算指令;
根据所述第一预算指令的执行时间以及所述第一运算指令前一条的第二运算指令的剩余执行时间,控制将所述第一运算指令输入到对应的运算模块;
在每个时钟选择所述至少两个不同的运算模块输出的有效的运算结果进行输出。
可选的,所述根据所述第一预算指令的执行时间以及所述第一运算指令前一条的第二运算指令的剩余执行时间,控制将所述第一运算指令输入到对应的运算模块,包括:
获取所述第一运算指令前一条的第二运算指令的剩余执行时间;
比较所述第一运算指令的执行时间与所述第二运算指令的剩余执行时间;
当所述第一运算指令的执行时间大于所述第二运算指令的剩余执行时间时,确定所述第一运算指令对应的运算模块,控制将所述第一运算指令输入到所述运算模块。
可选的,当所述第一运算指令的执行时间为n个时钟,其中n为大于或等于1的整数;
所述获取所述第一运算指令前一条的第二运算指令的剩余执行时间,包括:
当所述第一运算指令被输入所述运算模块时,每过一个时钟,将所述第一运算指令的执行时间减1,得到所述第一运算指令的剩余执行时间。
可选的,所述运算装置包括与所述运算模块连接的开关;所述控制将所述第一运算指令输入到所述运算模块,包括:
闭合所述开关,使得所述第一运算指令输入到所述运算模块。
可选的,所述在每个时钟选择所述至少两个不同的运算模块输出的有效的运算结果进行输出,包括:
在每个时钟,从其中一个运算模块获取一个有效运算结果,从其他运算模块获取到的结果为0,对所述有效运算结果和0执行或运算,输出所述有效运算结果。
本公开的实施例提供的技术方案可以包括以下有益效果:对于不同复杂程度的运算,根据每条运算指令的执行时间及其前一条运算指令的剩余执行时间,来确定在哪个时刻输入该运算指令,使得先输入的运算指令先出结果,后输入的运算指令后出结果。这样,保证不同运算按照输入顺序输出结果,提高运算的准确性。另外,无需等待前一条运算指令执行完毕就可以执行后一条运算指令,也提高整个运算装置的运算效率,节约运算时间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的运算装置的框图。
图2是根据一示例性实施例示出的控制模块的框图。
图3是根据另一示例性实施例示出的运算装置的框图。
图4是根据一示例性实施例示出的运算方法的流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的运算装置的框图,如图1所示,该装置包括:控制模块11、至少两个不同的运算模块12a、12b、……及选择模块13。
控制模块11与每个运算模块12a、12b、……的输入端连接,选择模块13与每个运算模块的输出端连接;
控制模块11根据接收到的第一运算指令的执行时间以及第一运算指令前一条的第二运算指令的剩余执行时间,控制将第一运算指令输入到对应的运算模块;
选择模块13,在每个时钟选择运算模块输出的有效的运算结果进行输出。
本实施例中,对于不同复杂程度的运算,根据每条运算指令的执行时间及其前一条运算指令的剩余执行时间,来确定在哪个时刻输入该运算指令,使得先输入的运算指令先出结果,后输入的运算指令后出结果。这样,保证不同运算按照输入顺序输出结果,提高运算的准确性。
图2是根据一示例性实施例示出的控制模块的框图,如图2所示,控制模块11包括:
计时子模块21,用于获取所述第一运算指令前一条的第二运算指令的剩余执行时间;
比较子模块22,用于比较所述第一运算指令的执行时间与所述第二运算指令的剩余执行时间;
控制子模块23,用于当所述第一运算指令的执行时间大于所述第二运算指令的剩余执行时间时,确定所述第一运算指令对应的运算模块,控制将所述第一运算指令输入到所述运算模块。
本实施例中,当前一条运算指令的剩余执行时间小于后一条运算指令的执行时间时,输入该后一条运算指令,无需等待前一条运算指令执行完毕就可以执行后一条运算指令。这样,在保证前一条运算指令的结果先于后一条运算指令的结果输入,提高运算的准确性的同时,也提高整个运算装置的运算效率,节约运算时间。
其中,当所述第一运算指令的执行时间为n个时钟,其中n为大于或等于1的整数;计时子模块21,用于当所述第一运算指令被输入所述运算模块时,每过一个时钟,将所述第一运算指令的执行时间减1,得到所述第一运算指令的剩余执行时间。
在另一实施例中,控制子模块包括与所述运算模块连接的开关。当所述第一运算指令的执行时间大于所述第二运算指令的剩余执行时间时,所述开关闭合,使得所述第一运算指令输入到所述运算模块。
本实施例中,选择模块13,在每个时钟从其中一个运算模块获取一个有效运算结果,从其他运算模块获取到的结果为0,对所述有效运算结果和0执行或运算,输出所述有效运算结果。
以下以一个具体的实例对本发明的方法进行详细说明。
图3是根据另一示例性实施例示出的运算装置的框图,如图3所示,该运算装置包括三个运算模块,分别为乘积模块32a、累加模块32b和除法模块32c。控制模块31包括三个开关313a、313b和313c,分别与三个运算模块连接。选择模块33为一个执行或运算的模块。
控制模块31先后接收到两个运算指令:先接收到运算指令为乘法运算指令,执行需要4个时钟;后接收到的运算指令为加法运算指令,执行需要2个时钟。
乘法运算指令先执行,与乘积模块32a连接的开关313a闭合,将乘法运算指令发送到乘积模块32a。同时,控制模块31中的计时子模块311对开始计时,该乘法运算指令的剩余执行时间的初始值为4,每个时钟减1。
对于加法运算指令,由于其执行时间仅为2时钟,为了保证先输入的乘法运算指令的结果先输出,因此,需要等待乘法运算指令的剩余执行时间少于加法运算指令的执行时间时,才将加法运算指令输入到累加模块32b。
因此,控制模块31中的比较子模块312比较乘法运算指令的剩余执行时间和加法运算指令的执行时间。当乘法运算指令的剩余执行时间少于加法运算指令的执行时间时,即乘法运算指令的剩余执行时间为1时,与累加模块32b连接的开关313b闭合,将加法运算指令发送到累加模块32b。
同时,控制模块31中的计时子模块311开始计时,该加法运算指令的剩余执行时间的初始值为2,每个时钟减1。
对于选择模块33,在第四个时钟时,得到乘积模块32a输出的乘积结果R1,其他运算模块输出的结果为0,选择模块到33对R1,0,0三个结果执行或运算,可得到唯一的有效结果R1。在第五个时钟,选择模块33得到累加模块32b输出的累加结果R2,其他运算模块输出的结果为0,选择模块到33对R2,0,0三个结果执行或运算,可得到唯一的有效结果R2。
本实施例中,对于不同复杂程度的运算,根据每条运算指令的执行时间及其前一条运算指令的剩余执行时间,来确定在哪个时刻输入该运算指令,使得先输入的运算指令先出结果,后输入的运算指令后出结果。这样,保证不同运算按照输入顺序输出结果,提高运算的准确性。另外,无需等待前一条运算指令执行完毕就可以执行后一条运算指令,也提高整个运算装置的运算效率,节约运算时间。
图4是根据一示例性实施例示出的运算方法的流程图,如图2所示,该方法应用于包括至少两个不同的运算模块的运算装置,包括以下步骤:
S41,接收第一运算指令;
S42,根据第一预算指令的执行时间以及第一运算指令前一条的第二运算指令的剩余执行时间,控制将第一运算指令输入到对应的运算模块;
S43,在每个时钟选择至少两个不同的运算模块输出的有效的运算结果进行输出。
其中,步骤S42包括:
A1,获取第一运算指令前一条的第二运算指令的剩余执行时间;
A2,比较第一运算指令的执行时间与第二运算指令的剩余执行时间;
A3,当第一运算指令的执行时间大于第二运算指令的剩余执行时间时,确定第一运算指令对应的运算模块,控制将第一运算指令输入到运算模块。
可选的,当第一运算指令的执行时间为n个时钟,其中n为大于或等于1的整数,步骤A1包括:当第一运算指令被输入运算模块时,每过一个时钟,将第一运算指令的执行时间减1,得到第一运算指令的剩余执行时间。
可选的,步骤A3包括:闭合开关,使得第一运算指令输入到运算模块。
可选的,步骤S43包括:在每个时钟,从其中一个运算模块获取一个有效运算结果,从其他运算模块获取到的结果为0,对有效运算结果和0执行或运算,输出有效运算结果。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种运算装置,其特征在于,包括:控制模块、至少两个不同的运算模块及选择模块;
所述控制模块与每个运算模块的输入端连接,所述选择模块与每个运算模块的输出端连接;
所述控制模块根据接收到的第一运算指令的执行时间以及所述第一运算指令前一条的第二运算指令的剩余执行时间,控制将所述第一运算指令输入到对应的运算模块;
所述选择模块,在每个时钟选择所述运算模块输出的有效的运算结果进行输出。
2.根据权利要求1所述的装置,其特征在于,所述控制模块包括:
计时子模块,用于获取所述第一运算指令前一条的第二运算指令的剩余执行时间;
比较子模块,用于比较所述第一运算指令的执行时间与所述第二运算指令的剩余执行时间;
控制子模块,用于当所述第一运算指令的执行时间大于所述第二运算指令的剩余执行时间时,确定所述第一运算指令对应的运算模块,控制将所述第一运算指令输入到所述运算模块。
3.根据权利要求2所述的装置,其特征在于,当所述第一运算指令的执行时间为n个时钟,其中n为大于或等于1的整数;
所述计时子模块,用于当所述第一运算指令被输入所述运算模块时,每过一个时钟,将所述第一运算指令的执行时间减1,得到所述第一运算指令的剩余执行时间。
4.根据权利要求2所述的装置,其特征在于,所述控制子模块包括与所述运算模块连接的开关;
当所述第一运算指令的执行时间大于所述第二运算指令的剩余执行时间时,所述开关闭合,使得所述第一运算指令输入到所述运算模块。
5.根据权利要求1所述的装置,其特征在于,所述选择模块,在每个时钟,从其中一个运算模块获取一个有效运算结果,从其他运算模块获取到的结果为0,对所述有效运算结果和0执行或运算,输出所述有效运算结果。
6.一种运算方法,其特征在于,应用于包括至少两个不同的运算模块的运算装置,所述方法包括:
接收第一运算指令;
根据所述第一预算指令的执行时间以及所述第一运算指令前一条的第二运算指令的剩余执行时间,控制将所述第一运算指令输入到对应的运算模块;
在每个时钟选择所述至少两个不同的运算模块输出的有效的运算结果进行输出。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一预算指令的执行时间以及所述第一运算指令前一条的第二运算指令的剩余执行时间,控制将所述第一运算指令输入到对应的运算模块,包括:
获取所述第一运算指令前一条的第二运算指令的剩余执行时间;
比较所述第一运算指令的执行时间与所述第二运算指令的剩余执行时间;
当所述第一运算指令的执行时间大于所述第二运算指令的剩余执行时间时,确定所述第一运算指令对应的运算模块,控制将所述第一运算指令输入到所述运算模块。
8.根据权利要求7所述的方法,其特征在于,当所述第一运算指令的执行时间为n个时钟,其中n为大于或等于1的整数;
所述获取所述第一运算指令前一条的第二运算指令的剩余执行时间,包括:
当所述第一运算指令被输入所述运算模块时,每过一个时钟,将所述第一运算指令的执行时间减1,得到所述第一运算指令的剩余执行时间。
9.根据权利要求7所述的方法,其特征在于,所述运算装置包括与所述运算模块连接的开关;所述控制将所述第一运算指令输入到所述运算模块,包括:
闭合所述开关,使得所述第一运算指令输入到所述运算模块。
10.根据权利要求6所述的方法,其特征在于,所述在每个时钟选择所述至少两个不同的运算模块输出的有效的运算结果进行输出,包括:
在每个时钟,从其中一个运算模块获取一个有效运算结果,从其他运算模块获取到的结果为0,对所述有效运算结果和0执行或运算,输出所述有效运算结果。
CN201711378468.4A 2017-12-19 2017-12-19 运算方法及装置 Pending CN108108187A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711378468.4A CN108108187A (zh) 2017-12-19 2017-12-19 运算方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711378468.4A CN108108187A (zh) 2017-12-19 2017-12-19 运算方法及装置

Publications (1)

Publication Number Publication Date
CN108108187A true CN108108187A (zh) 2018-06-01

Family

ID=62210318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711378468.4A Pending CN108108187A (zh) 2017-12-19 2017-12-19 运算方法及装置

Country Status (1)

Country Link
CN (1) CN108108187A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025721A (zh) * 2006-02-22 2007-08-29 三星电子株式会社 根据优先级次序操作闪存的设备和方法
CN101030181A (zh) * 2006-02-28 2007-09-05 三星电子株式会社 按优先级的次序处理非易失性存储器的操作的设备和方法
CN104977860A (zh) * 2014-04-04 2015-10-14 发那科株式会社 使用多核心处理器执行顺序程序的控制装置
US9396088B2 (en) * 2013-03-08 2016-07-19 Sap Se Computer execution progress indicator
CN107046449A (zh) * 2016-02-06 2017-08-15 华为技术有限公司 用于时间同步的方法和时钟

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025721A (zh) * 2006-02-22 2007-08-29 三星电子株式会社 根据优先级次序操作闪存的设备和方法
CN101030181A (zh) * 2006-02-28 2007-09-05 三星电子株式会社 按优先级的次序处理非易失性存储器的操作的设备和方法
US9396088B2 (en) * 2013-03-08 2016-07-19 Sap Se Computer execution progress indicator
CN104977860A (zh) * 2014-04-04 2015-10-14 发那科株式会社 使用多核心处理器执行顺序程序的控制装置
CN107046449A (zh) * 2016-02-06 2017-08-15 华为技术有限公司 用于时间同步的方法和时钟

Similar Documents

Publication Publication Date Title
US20210150685A1 (en) Information processing method and terminal device
CN107609652B (zh) 执行机器学习的分布式系统及其方法
CN107704267B (zh) 一种卷积神经网络运算指令及其方法
CN109376861B (zh) 一种用于执行全连接层神经网络训练的装置和方法
US20170103314A1 (en) Prefetching weights for use in a neural network processor
CN111310904A (zh) 一种用于执行卷积神经网络训练的装置和方法
US8869123B2 (en) System and method for applying a sequence of operations code to program configurable logic circuitry
CN108021528A (zh) Slam运算装置和方法
CN108096833B (zh) 基于级联神经网络的体感游戏控制方法及装置、计算设备
CN111523283B (zh) 一种验证处理器的方法、装置、电子设备及存储介质
US20080307029A1 (en) Arithmetic device and arithmetic method
JP2009271724A (ja) ハードウェアエンジン制御装置
CN107430586A (zh) 自适应芯片和配置方法
US11205066B2 (en) Pose recognition method and device
CN109213581B (zh) 一种数据处理装置和方法
CN102214157A (zh) 一种动态可重构阵列时序控制的方法
CN108052927B (zh) 基于视频数据的手势处理方法及装置、计算设备
CN108108187A (zh) 运算方法及装置
US10963775B2 (en) Neural network device and method of operating neural network device
JP2002149402A (ja) データ処理装置およびその制御方法
Note et al. Definition and assignment of complex data-paths suited for high throughput applications.
CN111179175B (zh) 基于卷积神经网络的图像处理方法、装置及存储介质
CN110807244B (zh) 一种电力电子开关的电磁暂态仿真方法及装置
Milik et al. Hardware mapping strategies of PLC programs in FPGAs
Shimizu et al. Extending distributed control for high-level synthesis beyond borders of basic blocks

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

Effective date of abandoning: 20220614

AD01 Patent right deemed abandoned