[发明专利]一种非线性函数运算装置及方法有效
申请号: | 201610245348.6 | 申请日: | 2016-04-19 |
公开(公告)号: | CN107305484B | 公开(公告)日: | 2021-11-05 |
发明(设计)人: | 兰慧盈;郭崎;陈云霁;陈天石;李尚应;李震 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06F7/57 | 分类号: | G06F7/57 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 非线性 函数 运算 装置 方法 | ||
本公开提供了一种非线性函数运算装置及方法,装置包括查表部和线性拟合部,查表部存储有多个线性函数的斜率值和截距值,并根据浮点数获取相应的斜率值k和截距值b;线性拟合部根据查表得到的斜率值k和截距值b,得到相应的线性函数y=k×x+b,并将浮点数代入线性函数,得到线性函数的函数值,以作为浮点数在非线性函数中的函数值。本公开将非线性函数拟合为多个线性函数,只需针对不同的自变量选择相应的线性函数,故在运算时只需要进行简单的加法和乘法运算,因此简化硬件设计,并提高运算速度,同时降低芯片功耗和面积。
技术领域
本公开属于计算机领域,尤其涉及一种非线性函数运算装置及方法。
背景技术
算术逻辑单元(arithmetic logic unit,缩写ALU)是进行整数运算的结构。在计算机中,算术逻辑单元(ALU)是专门执行算术和逻辑运算的数字电路。ALU是计算机中央处理器的最重要组成部分,甚至连最小的微处理器也包含ALU作计数功能。在现代CPU(Central Processing Unit,中央处理器)和GPU(Graphics Processing Unit,图形处理器)中已含有功能强大和复杂的ALU;一个单一的元件也可能含有ALU。大部分ALU都可以完成以下运算:整数算术运算(加、减,有时还包括乘和除,不过成本较高),位逻辑运算(与、或、非、异或),移位运算(将数据向左或向右移位或浮动特定位),移位可被认为是乘以2或除以2。算数逻辑单元通常只含有线性运算部件,当算数逻辑单元进行复杂的幂运算等操作时,通常需要好几个运算周期。
为了加快处理器的运算速度,CPU和GPU中通常会集成FPU(Floating-Point Unit,浮点运算单元)。FPU是专门用于浮点运算的处理器,并且可能支持一些超越函数的计算,例如log2x。
现有技术在计算非线性函数时,通常是将复杂的运算拆解成简单的运算,再经过几个运算周期后才能得到结果。这使得运算速度慢,运算装置面积大,功耗高。
发明内容
(一)要解决的技术问题
本公开的目的在于,提供一种非线性函数运算装置及方法,解决现有技术在计算线性函数时运算速度慢、运算装置面积大、功耗高等问题。
(二)技术方案
本公开提供一种非线性函数运算装置,装置包括:
查表部,其存储有多个线性函数的斜率值和截距值,其中,多个线性函数由非线性函数分段线性拟合而得到,并且,查表部用于根据输入的浮点数获取相应的斜率值k和截距值b;
线性拟合部,用于根据查表得到的斜率值k和截距值b,得到相应的线性函数y=k×x+b,并将浮点数代入线性函数,得到线性函数的函数值,以作为浮点数在非线性函数中的函数值。
本公开还提供一种非线性函数运算方法,方法包括:
根据浮点数从多个线性函数中获取一个线性函数的斜率值k和截距值b,其中,多个线性函数由非线性函数分段线性拟合而得到;
根据得到的斜率值k和截距值b,得到相应的线性函数y=k×x+b,并将输入的浮点数代入所述线性函数,得到线性函数的函数值,以作为浮点数在非线性函数中的函数值。
(三)有益效果
本公开将非线性函数拟合为多个线性函数,只需针对不同的自变量选择相应的线性函数,故在运算时只需要进行简单的加法和乘法运算,因此简化硬件设计,并提高运算速度,同时降低芯片功耗和面积。
附图说明
图1是本公开实施例提供的非线性函数运算装置的结构图。
图2是本公开实施例提供的非线性函数运算装置的内部结构图。
图3是本公开实施例中线性拟合部的内部结构图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610245348.6/2.html,转载请声明来源钻瓜专利网。