CN110321163A - 输出值生成电路及方法、处理器以及计算机可读介质 - Google Patents

输出值生成电路及方法、处理器以及计算机可读介质 Download PDF

Info

Publication number
CN110321163A
CN110321163A CN201910246968.5A CN201910246968A CN110321163A CN 110321163 A CN110321163 A CN 110321163A CN 201910246968 A CN201910246968 A CN 201910246968A CN 110321163 A CN110321163 A CN 110321163A
Authority
CN
China
Prior art keywords
output valve
mantissa
input value
value
generative circuit
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.)
Withdrawn
Application number
CN201910246968.5A
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management 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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of CN110321163A publication Critical patent/CN110321163A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4876Multiplying
    • 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49915Mantissa overflow or underflow in handling floating-point numbers
    • 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/544Methods 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/548Trigonometric functions; Co-ordinate transformations
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5356Via reciprocal, i.e. calculate reciprocal only, or calculate reciprocal first and then the quotient from the reciprocal and the numerator

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本公开的目的在于提供一种能够抑制输出值的精度的下降的输出值生成电路及方法、处理器以及计算机可读介质。输出值生成电路(10)具有输出部(11),所述输出部(11)生成将对输入值(D1)进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部(D11)和指数部(D12),并将尾数部(D11)和指数部(D12)分别单独地输出。

Description

输出值生成电路及方法、处理器以及计算机可读介质
技术领域
本公开涉及一种输出值生成电路、处理器、输出值生成方法以及计算机可读介质。更详细地说,本公开涉及一种生成对输入值进行转换而得到的输出值的输出值生成电路、处理器、输出值生成方法以及计算机可读介质。
背景技术
以往,存在一种当被输入整数时从表中读出整数的倒数并且输出该倒数的表读出电路(例如参照日本专利申请公开号平成1年263812(以下称作“文献1”))。
发明内容
发明要解决的问题
在专利文献1所公开的表读出电路中存在以下问题:由于输出是定点数,因此,随着输入的整数值变大,输出值的精度会下降。
本公开的目的在于提供一种能够抑制输出值的精度的下降的输出值生成电路、处理器、输出值生成方法以及计算机可读介质。
用于解决问题的方案
本公开的一个方式的输出值生成电路具有输出部。所述输出部生成将对输入值进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部和指数部,并将所述尾数部和所述指数部分别单独地输出。
本公开的一个方式的处理器包括所述输出值生成电路,所述处理器使所述输出值生成电路执行以下处理:当受理了输入值时,生成将对所述输入值进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部和指数部;以及将所述尾数部和所述指数部分别单独地输出。
本公开的一个方式的输出值生成方法包括以下处理:生成将对输入值进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部和指数部;以及将所述尾数部和所述指数部分别单独地输出。
本公开的一个方式的计算机可读介质包括保存在所述介质中的命令组,所述命令组在被处理器执行时,执行以下的步骤来作为输出处理:生成以浮点数的形式来表现、且对输入值进行转换而得到的输出值的尾数部和指数部;以及将所述尾数部和所述指数部分别单独地输出。
发明的效果
根据本公开,能够提供一种能够抑制输出值的精度的下降的输出值生成电路、处理器、输出值生成方法以及计算机可读介质。
附图说明
图1是包括本公开的输出值生成电路的处理器的框图。
图2是上述输出值生成电路的框图。
图3的(A)是由上述输出值生成电路进行的地址生成处理的说明图。
图3的(B)是由上述输出值生成电路进行的地址生成处理的说明图。
图3的(C)是由上述输出值生成电路进行的地址生成处理的说明图。
图4是表示上述输出值生成电路的动作的流程图。
附图标记说明
1:处理器;10:输出值生成电路;11:倒数输出部(输出部);12:运算部;D1:输入值;D10:中间运算值;D11:尾数部;D12:指数部。
具体实施方式
(实施方式)
(1)概要
如图1所示,本实施方式的输出值生成电路10具有输出部(倒数输出部11)。如图2所示,输出部(倒数输出部11)生成将对输入值D1进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部D11和指数部D12,并将尾数部D11和指数部D12分别单独地输出。
本实施方式的处理器1包括输出值生成电路10。处理器1当被输入输入值D1时,使输出值生成电路10执行将尾数部D11和指数部D12分别单独地输出的处理。
在此,对输入值D1进行转换而得到输出值是指:例如基于表示输入值D1与输出值的对应关系的函数来将输入值D1转换为输出值。表示输入值D1与输出值的对应关系的函数例如存在:输出输入值的倒数的函数、输出输入值的平方根的函数、输出输入值的平方根的倒数的函数、三角函数、反三角函数等。另外,输出值不需要与使用规定的函数对输入值进行转换而得到的值完全相同,也可以是在容许的误差(例如-0.1%以上且0.1%以下的误差)的范围内与使用规定的函数对输入值进行转换而得到的值相近似的近似值。
在本实施方式的输出值生成电路10和处理器1中,无需使用浮点数运算器,而能够将以浮点数的形式来表现对输入值进行转换而得到的输出值的情况下的尾数部D11和指数部D12分别单独地输出。由于输出值生成电路10将以浮点数的形式来表现输出值的情况下的尾数部D11和指数部D12分别单独地输出,因此具有如下的优点:能够得到与尾数部D11的位数相应的精度的输出,能够抑制输出值的精度的下降。
(2)详细情况
本实施方式的输出值生成电路10例如用于对由照相机拍摄到的数字图像进行图像处理时的运算处理。例如,在进行从搭载于汽车的照相机的数字图像检测人、车道等物体的图像处理的情况下,有时对数字图像实施微分滤波等滤波处理,以从数字图像检测边缘图案、色调等特征量。在滤波处理中,有时进行将数字图像的各像素的像素值除以规定的值的运算,在这样的除法运算中使用本实施方式的输出值生成电路10。即,在进行将某个数(被除数)除以除数而得到数(商)的除法运算的情况下,输出值生成电路10不是直接进行将被除数除以除数的除法运算,而是通过求出除数的倒数并使除数的倒数与被除数相乘,来求出将被除数除以除数而得到的值。由此,在进行将数字图像的各像素的像素值除以相同值(除数)的运算处理的情况下,输出值生成电路10首先求出除数的倒数,并使该倒数与各像素的像素值相乘,由此能够求出将各像素的像素值除以除数而得到的值。因而,在求出将各像素的像素值除以除数而得到的值的情况下,求出除数的倒数的运算只进行一次即可,能够降低运算处理的处理成本。
以下对本实施方式的输出值生成电路10和包括输出值生成电路10的处理器1进行说明。
(2.1)结构
如图1所示,处理器1具备输出值生成电路10、控制电路20以及接口(I/F)30。
接口(I/F)30经由总线3在输出值生成电路10及控制电路20与存储器2等之间交换数据。
存储器2存储由处理器1执行的程序(例如用于图像处理的程序)。在存储器2中存储有将根据输入值D1生成的中间运算值(例如0至255的整数)D10的倒数以浮点数的形式来表现的情况下的尾数部D11和指数D121(参照图2)。在一个具体例中,存储器2存储尾数表和指数表。尾数表包括集合数据(数据集),它们各自包括针对不同的多个输入值D1的各个输入值D1基于所生成的中间运算值D10决定的地址和对应的尾数部D11。在此,该地址的比特数例如与中间运算值D10的比特数(例如8比特)相同。指数表包括集合数据(数据集),它们各自包括针对不同的多个输入值D1的各个输入值D1基于所生成的中间运算值D10决定的地址和对应的指数D121。在此,该地址的比特数例如与中间运算值D10的比特数(例如8比特)相同。
控制电路20经由接口30从存储器2获取运算命令,按照运算命令来控制输出值生成电路10的处理。
输出值生成电路10生成将对输入值进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部和指数部,并将尾数部和指数部分别单独地输出。在此,输入值D1与输出值的函数为规定的函数。在本实施方式中,规定的函数为输出输入值D1的倒数的函数,输出值为输入值D1的倒数。
输出值生成电路10具备倒数输出部11和运算部12。
倒数输出部11生成将作为输入值D1的倒数的输出值以浮点数的形式来表现的情况下的尾数部D11和指数部D12,并将尾数部D11和指数部D12分别单独地输出。如图2所示,倒数输出部11具备地址生成部110、第一输出部111、第二输出部112以及指数部运算部113。
地址生成部110基于输入值D1来决定分别参照指数表和尾数表的地址。地址生成部110生成存储有基于输入值D1生成的中间运算值D10的倒数的尾数部D11的尾数表的地址。另外,地址生成部110生成存储有基于输入值D1生成的中间运算值D10的倒数的指数D121的指数表的地址。
在此,参照图3的(A)~图3的(C)来说明由地址生成部110进行的地址生成处理。如图3的(A)所示,在向倒数输出部11例如输入了16比特的输入值D1的情况下,地址生成部110对从输入值D1的最高位比特起连续的“0”的个数N1进行计数。在图3的(A)的例子中,从输入值D1的最高位比特起有四个“0”连续。地址生成部110对从最高位比特起连续的“0”的个数N1(例如四个)进行计数。地址生成部110进行左移(例如算术左移)等移位(例如比特),使输入值D1左移(例如算术左移)N1比特来删除“0”(参照图3的(B)),求出作为高位8比特的数据的中间运算值D10(参照图3的(C))。在此,关于中间运算值D10的比特(位)数,例如是预先决定的,或者根据通过除法命令指定的输出值的尾数部D11的比特(位)数(例如8比特)来决定。此外,本实施方式不限于此,由于中间运算值D10的比特数与尾数部D11的比特数相同,因此也可以通过除法命令来指定中间运算值D10的比特数。换言之,地址生成部110在使输入值D1左移N1比特来删除“0”之后,为了生成8比特的中间运算值D10而进行右移(例如算术右移)等移位(例如比特),使剩余的比特向右移N2比特。地址生成部110将中间运算值D10决定为分别参照指数表和尾数表的地址,将地址的数据(中间运算值D10的值)分别输出至第一输出部111和第二输出部112。地址生成部110根据16比特的输入值D1生成8比特的中间运算值D10,将该中间运算值D10作为分别参照指数表和尾数表的地址。因此,相比于将不同的多个输入值D1分配为各自的地址(16比特地址)的、分别包括多个尾数部和多个指数部的尾数表和指数表,能够削减分别包括多个尾数部D11和多个指数D121的尾数表和指数表的数据量。此外,在本实施方式中,输入值D1为16比特的正整数,但输入值D1可以为8比特也可以为32比特,输入值D1和中间运算值D10的比特数能够根据运算处理的内容来适当地进行变更。另外,在本实施方式中,中间运算值D10为8比特的正整数,但中间运算值D10不限定为8比特的整数,只要是比特数比输入值D1少的整数值即可。
第一输出部111使用由地址生成部110生成的地址,来访问存储器2的尾数表,由此获取(生成)中间运算值D10的倒数的尾数部D11,并使所生成的尾数部D11的值存储在堆栈存储器中。关于堆栈存储器,例如由存储器2的堆栈区域来实现。像这样,第一输出部111(倒数输出部11)基于分配给根据输入值D1决定的地址的值(D11)来产生(输出)尾数部D11。详细地说,第一输出部111基于由地址生成部110生成的地址,从尾数表读出其对应的尾数部D11,产生(输出)该尾数部D11。
第二输出部112使用由地址生成部110生成的地址,来访问存储器2的指数表,由此获取(生成)中间运算值D10的倒数的指数D121,并将所生成的指数D121输出至指数部运算部113。
从第二输出部112向指数部运算部113输入指数D121。另外,从地址生成部110向指数部运算部113输入输入值D1和中间运算值D10的比特数的数据以及个数N1的数据。指数部运算部113基于输入值D1和中间运算值D10的比特数的数据以及个数N1的数据来计算中间运算值D10的右移数N2。指数部运算部113从输入值D1的比特数减去个数N1和中间运算值D10的比特数,由此,通过计算求出右移数N2。然后,指数部运算部113从由第二输出部112输入来的指数D121减去右移数N2,由此,求出将输入值D1的倒数(1/D1)以浮点数的形式来表现的情况下的指数部D12,并使指数部D12的值存储在堆栈存储器中。
也就是说,构成倒数输出部11的第二输出部112和指数部运算部113基于分配给根据输入值D1决定的地址的值(D121),来产生(输出)指数部D12。进一步地说,在本实施方式中,地址生成部110基于通过对输入值D1进行比特移位(例如左移)等移位运算而求出的中间运算值D10来决定地址。而且,基于中间运算值D10的右移数N2、将中间运算值D10以浮点数的形式来表现的情况下的指数D121来决定指数部D12。换言之,倒数输出部11基于由地址生成部110生成的地址,来从指数表读出对应的指数D121。另外,倒数输出部11基于输入值D1的比特数、中间运算值D10的比特数以及个数N1来计算右移数N2。接着,倒数输出部11通过从指数D121减去右移数N2来求出指数部D12。像这样,倒数输出部11基于由地址生成部110生成的地址,来产生(输出)指数部D12。
在此,当使用中间运算值D10以及中间运算值D10的右移数N2时,由下述的式[数1]来表示输入值D1。另外,当使用尾数部D11、指数D121以及指数部D12时,由下述的式[数2]来表示输入值D1的倒数。
[数1]
[数2]
接着,对运算部12进行说明。运算部12进行如下运算处理:使用从堆栈存储器读取的尾数部D11和指数部D12的值以及从存储器2经由接口30输入的被除数D2,来求出将被除数D2除以作为除数的输入值D1而得到的作为商的值D4。也就是说,输出值生成电路10还具备进行利用尾数部D11和指数部D12这两方的运算处理的运算部12。
运算部12具备乘法部13和移位运算部14。
乘法部13向移位运算部14输出使从堆栈存储器读取的尾数部D11与被除数D2相乘而得到的乘法结果D3。
移位运算部14通过使从乘法部13输出的乘法结果D3移位(例如左移)与从堆栈存储器读取的指数部D12相应的位数(例如指数部D12的比特(位)的数量),来求出将被除数D2除以作为除数的输入值D1而得到的值D4。然后,移位运算部14将运算结果的值D4经由接口30输出至存储器2等。在此,当使用被除数D2、尾数部D11以及指数部D12时,由下述的式[数3]来表示值D4。
[数3]
(2.2)动作
基于图4说明如下情况下的处理:处理器1按照存储器2中存储的程序来执行除法命令以将被除数D2除以作为除数的输入值D1来得到商。在此,说明执行将多个被除数D2除以相同值(输入值D1)来求出各个商的除法命令的情况下的处理。
处理器1的控制电路20当执行处理器1中安装的除法命令时,使输出值生成电路10执行以下说明的步骤S1~步骤S6的处理。
首先,倒数输出部11的地址生成部110对从输入值D1的最高位比特起连续的“0”的个数N1进行计数(S1)。
地址生成部110在使输入值D1左移N1比特来删除0之后,右移N2比特,来生成8比特的中间运算值D10。然后,地址生成部110基于中间运算值D10来生成用于访问尾数表和指数表的地址(S2)。地址生成部110将中间运算值D10的值本身作为用于访问尾数表的地址来输出至第一输出部111,将中间运算值D10的值本身作为用于访问指数表的地址来输出至第二输出部112。此外,在本实施方式中,用于访问尾数表的地址与用于访问指数表的地址相同,但用于访问尾数表的地址也可以与用于访问指数表的地址不同。
第一输出部111当从地址生成部110被输入地址时,使用该地址来访问尾数表,生成将中间运算值D10以浮点数的形式来表现的情况下的尾数部D11。另外,第二输出部112当从地址生成部110被输入地址时,使用该地址来访问指数表,生成将中间运算值D10以浮点数的形式来表现的情况下的指数D121(S3)。
第一输出部111将所生成的尾数部D11输出至堆栈存储器。第二输出部112将所生成的指数D121输出至指数部运算部113。指数部运算部113基于由地址生成部110输出的个数N1来求出右移数N2,并从由第二输出部112输出的指数D121减去右移数N2来求出指数部D12。也就是说,基于为了求出中间运算值D10而使输入值D1移位的位数即右移数N2以及将中间运算值D10以浮点数的形式来表现的情况下的指数D121,来决定将输入值D1的倒数以浮点数的形式来表现的情况下的指数部D12。然后,指数部运算部113将基于指数D121和右移数N2决定的指数部D12输出至堆栈存储器。由此,倒数输出部11将尾数部D11和指数部D12分别单独地输出(S4)。
然后,运算部12重复地执行使用堆栈存储器中存储的尾数部D11和指数部D12来求出将多个被除数D2除以相同值(输入值D1)而得到的值的步骤S5、S6的处理。
在步骤S5中,乘法部13使尾数部D11与被除数D2相乘。然后,在步骤S6中,移位运算部14通过基于指数部D12对乘法部13的乘法结果D3进行移位运算(例如左移),来求出将被除数D2除以作为除数的输入值D1而得到的值D4。
当对多个被除数D2分别执行了步骤S5、S6的处理时,处理器1结束求出将多个被除数D2除以输入值D1而得到的值的除法处理。
像这样,在本实施方式的处理器1中,为了进行将被除数D2除以作为除数的输入值D1的除法运算,而求出将作为除数的输入值D1的倒数以浮点数的形式来表现的情况下的尾数部D11和指数部D12。处理器1的倒数输出部11求出将输入值D1的倒数(输出值)以浮点数的形式来表现的情况下的尾数部D11和指数部D12,并将尾数部D11和指数部D12分别单独地输出。因而,能够得到与尾数部D11的位数相应的精度的输出,因此能够抑制输出值的精度的下降,另外,即使不具备浮点数运算器也能够进行后级的运算处理(例如除法处理)。而且,处理器1使用该尾数部D11和指数部D12来求出将被除数D2除以输入值D1而得到的值。因而,如果事先求出将输入值D1的倒数以浮点数的形式来表现的情况下的尾数部D11和指数部D12并存储在堆栈存储器等中,则能够使用该尾数部D11和指数部D12来进行多次除法运算。由此,在进行多次将多个被除数D2除以相同的输入值D1的除法运算的情况下,能够降低运算处理的处理成本。
(3)变形例
上述实施方式只不过是本公开的各种实施方式之一。上述实施方式只要能够达到本公开的目的则能够根据设计等进行各种变更。另外,可以通过输出值生成方法、计算机程序或者记录有程序的非暂时性的记录介质等来将与输出值生成电路10相同的功能具体化。一个方式所涉及的输出值生成方法生成将对输入值D1进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部D11和指数部D12,并将尾数部D11和指数部D12分别单独地输出。一个方式所涉及的(计算机)程序是用于使计算机系统执行输出处理的程序。输出处理是如下处理:生成将对输入值D1进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部D11和指数部D12,并将尾数部D11和指数部D12分别单独地输出。在此,所谓程序例如包括安装于处理器1以使处理器1执行除法处理等算术处理的命令或命令组。另外,一个方式所涉及的处理器是安装有上述的程序的处理器,包括上述的输出值生成电路10。处理器当被输入输入值D1时,使输出值生成电路10执行将尾数部D11和指数部D12分别单独地输出的处理。
以下,列举上述的实施方式的变形例。以下说明的变形例能够适当地进行组合来应用。
本公开中的输出值生成电路10或输出值生成方法的执行主体包括计算机系统。计算机系统以作为硬件的处理器和存储器为主要结构。通过由处理器执行计算机系统的存储器中记录的程序,来实现作为本公开中的输出值生成电路10或输出值生成方法的执行主体的功能。程序可以预先记录在计算机系统的存储器中,但也可以通过电通信线路来提供,还可以通过记录在能够由计算机系统读取的非暂时性的记录介质中来提供。能够由计算机系统读取的非暂时性的记录介质为存储卡、光盘、硬盘驱动器等。计算机系统的处理器由包括半导体集成电路(IC)或大规模集成电路(LSI)的一个至多个电子电路构成。多个电子电路可以集成在一个芯片中,也可以分散地设置于多个芯片。多个芯片可以集成在一个装置中,也可以分散地设置于多个装置中。
在上述的实施方式中,输出值生成电路10具备将以浮点数的形式来表现作为输入值D1的倒数的输出值的情况下的尾数部D11和指数部D12分别输出的输出部(倒数输出部11),但输出部不限定于输出输入值D1的倒数。输入值D1与输出值的关系为规定的函数即可,例如可以是输出输入值D1的平方根的函数、输出输入值D1的平方根的倒数的函数、三角函数、反三角函数等函数。
在上述的实施方式中,输出值生成电路10具备使用从倒数输出部11输出的尾数部D11和指数部D12来进行规定的运算处理的运算部12,但运算部12也可以位于输出值生成电路10的外部。在该情况下,从倒数输出部11输出的尾数部D11和指数部D12存储在堆栈存储器等中,运算部12从堆栈存储器等读出尾数部D11和指数部D12来进行后级的运算处理。
在上述的实施方式中,在存储器2中存储有尾数表和指数表,但也可以在处理器1的内部存储器中存储有尾数表和指数表。
另外,输出值生成电路10使用基于输入值D1决定的地址,基于尾数表生成尾数部,基于指数表生成指数部,但不是必须具备尾数表和指数表。也就是说,将基于输入值D1决定的地址与尾数部相对应地存储在存储器2或内部存储器中即可,尾数表不是必须的。同样,将基于输入值D1决定的地址与指数部相对应地存储在存储器2或内部存储器中即可,指数表不是必须的。
另外,第二输出部112从指数表获取将中间运算值D10以浮点数的形式来表现的情况下的指数部,但也可以通过运算来求出指数部。
另外,输出值生成电路10将尾数部及指数部与基于通过对输入值D1进行移位运算而求出的中间运算值D10决定的地址对应地存储在存储器2中,相比于输入值D1的个数,削减了存储器2中存储的尾数部和指数部的个数。由此,能够削减存储器2的存储器容量,但不是必须生成中间运算值D10。也就是说,也可以在存储器2或内部存储器中存储尾数表,所述尾数表以输入值D1为地址,并且在该地址中保存有将输入值D1以浮点数的形式来表现的情况下的尾数部的数据。同样,也可以在存储器2或内部存储器中存储指数表,该指数表以输入值D1为地址,并且在该地址中保存有将输入值D1以浮点数的形式来表现的情况下的指数部的数据。在该情况下,不需要地址生成部110,第一输出部111以输入值D1为地址来从尾数表获取尾数部,第二输出部112以输入值D1为地址来从指数表获取指数部即可。
(总结)
如以上说明的那样,第一方式的输出值生成电路(10)具有输出部(11)。输出部(11)生成将对输入值(D1)进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部(D11)和指数部(D12),并将尾数部(D11)和指数部(D12)分别单独地输出。
根据该方式,由于将尾数部(D11)和指数部(D12)分别单独地输出,因此具有如下的优点:能够抑制输出值的精度的下降,即使在不具有浮点数运算器的电路或者处理器中也能够进行后级的处理。
第二方式的输出值生成电路(10)是:在第一方式中,输入值(D1)与输出值的关系为规定的函数。
根据该方式,能够抑制输出值的精度的下降。
第三方式的输出值生成电路(10)是:在第一方式中,输出值为输入值(D1)的倒数。
根据该方式,能够抑制输出值的精度的下降。
第四方式的输出值生成电路(10)是:在第一方式~第三方式中,输出部(11)作为与基于输入值(D1)决定的地址对应的值来生成尾数部(D11)。
根据该方式,不需要每次都运算尾数部(D11),能够降低运算处理的成本。
第五方式的输出值生成电路(10)是:在第一方式~第三方式中,输出部(11)作为与基于输入值(D1)决定的地址对应的值来生成指数部(D12)。
根据该方式,不需每次都运算指数部(D12),能够降低运算处理的成本。
第六方式的输出值生成电路(10)是:在第五方式中,基于对输入值(D1)进行移位运算而求出的中间运算值(D10)来决定地址。在输出值生成电路(10)中,基于为了求出中间运算值(D10)而使输入值(D1)移位(进行如比特移位(例如左移)那样的移位运算)的位数(N2)以及将中间运算值(D10)以浮点数的形式来表现的情况下的指数(D121),来决定指数部(D12)。
根据该方式,相比于以输入值(D1)本身为地址的情况,能够减少事先存储的指数(D121)的数量,能够减小存储指数(D121)所需的存储器的存储容量。
第七方式的输出值生成电路(10)是:在第一方式~第六方式中,还具备运算部(12),所述运算部(12)进行利用指数部(D12)和尾数部(D11)这两方的运算处理。
根据该方式,能够抑制输出值的精度的下降。
第八方式的处理器(1)包括输出值生成电路(10),所述处理器(1)使所述输出值生成电路(10)执行以下处理:当受理了输入值(D1)时,生成将对输入值(D1)进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部(D11)和指数部(D12);以及将尾数部(D11)和指数部(D12)分别单独地输出。
根据该方式,具有如下的优点:能够抑制输出值的精度的下降,即使在不具有浮点数运算器的电路或处理器中也能够进行后级的处理。
第九方式的输出值生成方法包括以下处理:生成将对输入值(D1)进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部(D11)和指数部(D12);以及将尾数部(D11)和指数部(D12)分别单独地输出。
根据该方式,具有如下的优点:能够抑制输出值的精度的下降,即使在不具有浮点数运算器的电路或处理器中也能够进行后级的处理。
第十方式的计算机可读介质包括保存在所述介质中的命令组,所述命令组在被处理器执行时,执行以下的步骤来作为输出处理:生成以浮点数的形式来表现、且对输入值进行转换而得到的输出值的尾数部和指数部;以及将所述尾数部和所述指数部分别单独地输出。
根据该方式,具有如下的优点:能够抑制输出值的精度的下降,即使在不具有浮点数运算器的电路或处理器中也能够进行后级的处理。
不限于上述方式,能够通过输出值生成方法、包括输出值生成电路(10)的处理器、(计算机)程序或记录有程序的非暂时性的记录介质等来将上述的实施方式所涉及的输出值生成电路(10)的各种结构(包括变形例)具体化。
关于第二方式~第七方式所涉及的结构,不是输出值生成电路(10)所必须的结构,能够适当地省略。

Claims (10)

1.一种输出值生成电路,具有输出部,该输出部生成将对输入值进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部和指数部,并将所述尾数部和所述指数部分别单独地输出。
2.根据权利要求1所述的输出值生成电路,其特征在于,
所述输入值与所述输出值的关系为规定的函数。
3.根据权利要求1所述的输出值生成电路,其特征在于,
所述输出值为所述输入值的倒数。
4.根据权利要求1至3中的任一项所述的输出值生成电路,其特征在于,
所述输出部作为与基于所述输入值决定的地址对应的值来生成所述尾数部。
5.根据权利要求1至3中的任一项所述的输出值生成电路,其特征在于,
所述输出部作为与基于所述输入值决定的地址对应的值来生成所述指数部。
6.根据权利要求5所述的输出值生成电路,其特征在于,
基于对所述输入值进行移位运算而求出的中间运算值来决定所述地址,
基于为了求出所述中间运算值而使所述输入值移位的位数以及将所述中间运算值以浮点数的形式来表现的情况下的指数,来决定所述指数部。
7.根据权利要求1至3中的任一项所述的输出值生成电路,其特征在于,
还具备运算部,所述运算部进行利用所述指数部和所述尾数部这两方的运算处理。
8.一种处理器,包括输出值生成电路,所述处理器使所述输出值生成电路执行以下处理:
当受理了输入值时,生成将对所述输入值进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部和指数部;以及
将所述尾数部和所述指数部分别单独地输出。
9.一种输出值生成方法,包括以下处理:
生成将对输入值进行转换而得到的输出值以浮点数的形式来表现的情况下的尾数部和指数部;以及将所述尾数部和所述指数部分别单独地输出。
10.一种计算机可读介质,包括保存在所述介质中的命令组,所述命令组在被处理器执行时,执行以下的步骤来作为输出处理:
生成以浮点数的形式来表现、且对输入值进行转换而得到的输出值的尾数部和指数部;以及
将所述尾数部和所述指数部分别单独地输出。
CN201910246968.5A 2018-03-29 2019-03-29 输出值生成电路及方法、处理器以及计算机可读介质 Withdrawn CN110321163A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018063912A JP2019175225A (ja) 2018-03-29 2018-03-29 出力値生成回路、プロセッサ、出力値生成方法、及びプログラム
JP2018-063912 2018-03-29

Publications (1)

Publication Number Publication Date
CN110321163A true CN110321163A (zh) 2019-10-11

Family

ID=67910195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910246968.5A Withdrawn CN110321163A (zh) 2018-03-29 2019-03-29 输出值生成电路及方法、处理器以及计算机可读介质

Country Status (4)

Country Link
US (1) US20190303102A1 (zh)
JP (1) JP2019175225A (zh)
CN (1) CN110321163A (zh)
DE (1) DE102019107303A1 (zh)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01263812A (ja) 1988-04-15 1989-10-20 Nec Corp テーブル読み出し回路

Also Published As

Publication number Publication date
JP2019175225A (ja) 2019-10-10
US20190303102A1 (en) 2019-10-03
DE102019107303A1 (de) 2019-10-02

Similar Documents

Publication Publication Date Title
CN106951211B (zh) 一种可重构定浮点通用乘法器
CN110033079B (zh) 深度神经网络的硬件实现的端到端数据格式选择
CN111723904A (zh) 实现神经网络卷积转置层的方法和系统
CN107305484B (zh) 一种非线性函数运算装置及方法
CN108021537A (zh) 一种基于硬件平台的softmax实现方式
GB2568084A (en) Error allocation format selection for hardware implementation of deep neutral network
CN105955706A (zh) 一种除法器及除法运算方法
CN109521994A (zh) 乘法硬件电路、片上系统及电子设备
CN104679719B (zh) 一种基于fpga的浮点运算方法
JPS6182271A (ja) データ相関決定装置
CN103180820A (zh) 用于执行浮点除法的方法和装置
CN108205580A (zh) 一种图像检索方法、装置及计算机可读存储介质
JP6652659B2 (ja) 保険契約書種別状態情報集計方法及び端末機器
JPH04307B2 (zh)
US7725522B2 (en) High-speed integer multiplier unit handling signed and unsigned operands and occupying a small area
EP2940576B1 (en) Approximating functions
CN112667024A (zh) 延时计算电路、芯片运行频率获取方法、装置及电子设备
CN104679721B (zh) 一种fft处理器的运算方法
CN102314215B (zh) 集成电路系统中小数乘法器的低功耗优化方法
CN111931441B (zh) Fpga快速进位链时序模型的建立方法、装置以及介质
CN104169866B (zh) 运算处理装置以及运算处理装置的控制方法
CN110321163A (zh) 输出值生成电路及方法、处理器以及计算机可读介质
US20110022646A1 (en) Processor, control method of processor, and computer readable storage medium storing processing program
CN109558109B (zh) 数据运算装置及相关产品
CN109583581B (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20191011