[發明專利]一種非線性函數運算裝置及方法有效
| 申請號: | 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.szxzyx.cn/pat/books/201610245348.6/2.html,轉載請聲明來源鉆瓜專利網。





