[发明专利]计算超越函数的方法、装置、电子设备和存储介质在审
申请号: | 202211710810.7 | 申请日: | 2022-12-29 |
公开(公告)号: | CN116126526A | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 李佳伟;朱杨飞 | 申请(专利权)人: | 苏州华太电子技术股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54;G06F17/15 |
代理公司: | 北京科慧致远知识产权代理有限公司 11739 | 代理人: | 李瑞 |
地址: | 215000 江苏省苏州市苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算 超越 函数 方法 装置 电子设备 存储 介质 | ||
本申请实施例提供一种计算超越函数的方法、装置、电子设备和存储介质,该方法包括:判断每个线程的写入缓存中是否有待计算数据,若任意一个线程的写入缓存中有待计算数据,则从每个线程中确定目标线程;将目标线程的写入缓存中的待计算数据发送给算子;利用算子对待计算数据进行迭代计算;监控算子进行迭代的次数,若确定算子进行迭代计算的次数达到预定次数,则将迭代计算的计算结果写入目标线程的读取缓存。采用本申请实施例中提供的计算超越函数的方法,与支持多线程的处理器配合使用时,能够从多个线程中选取适用于使用算子计算超越函数的线程,因而能协调多个线程执行超越函数的计算,支持配合多线程处理器更高效地计算超越函数。
技术领域
本申请涉及计算机领域,特别涉及计算超越函数的方法、装置、电子设备和存储介质。
背景技术
超越函数是“超出”代数函数范围的函数,也就是说函数不能表示为有限次的加、减、乘、除、乘方和开方的运算。实际利用处理器进行计算时,只能通过代数函数进行无限逼近的方式来计算超越函数。超越函数计算在是工业控制算法中得到广泛的应用。如何利用更少的资源,实现更高精度地计算超越函数,是工业控制领域重要的课题之一。
超越函数的计算可以由软件实现,也可以由硬件实现。随着工业控制系统复杂度的提升,通过软件逼近算法计算超越函数会占用大量的处理器周期,压缩实时控制算法的计算资源,降低闭环控制的精度。通过硬件实现超越函数的计算,能够节省处理器资源,相对软件实现效果更好。
目前,通过硬件实现超越函数的计算的方案主要有:
(1)TI公司的C2000系列产品的TMU(Trigonometric Math Unit,三角数学单元)
TI公司的TMU是将计算超越函数的硬件集成在处理器中,缺点是该处理器的指令集不对其他厂商授权,无法形成通用的方案。
(2)采用ARM核心的MCU(Microcontroller Unit,微控制单元)架构的方案
通常是采购ARM处理器授权,再将加速器集成到总线上的方案,比如ST公司H7系列MCU。该方案的优点是通用性较强。ST公司的方案的缺点是多个线程之间互相确认超越函数计算状态,损失部分CPU周期、消耗更长的时间,挤占闭环实时控制算法的资源。
如何实现更高效地计算超越函数是本领域的待解决的技术问题之一。
发明内容
为了解决上述技术缺陷之一,本申请实施例中提供了计算超越函数的方法、装置、电子设备和存储介质。
根据本申请实施例的第一个方面,提供了一种计算超越函数的方法,包括:
判断每个线程的写入缓存中是否有待计算数据,若任意一个线程的写入缓存中有待计算数据,则从每个线程中确定目标线程;
将目标线程的写入缓存中的待计算数据发送给算子;
利用算子对待计算数据进行迭代计算;
监控算子进行迭代的次数,若确定算子进行迭代计算的次数达到预定次数,则将迭代计算的计算结果写入目标线程的读取缓存。
根据本申请实施例的第二个方面,提供了一种计算超越函数的装置,包括:
判断模块,用于判断每个线程的写入缓存中是否有待计算数据,若任意一个线程的写入缓存中有待计算数据,则从每个线程中确定目标线程;
发送模块,用于将目标线程的写入缓存中的待计算数据发送给算子;
计算模块,用于利用算子对待计算数据进行迭代计算;
监控模块,用于监控算子进行迭代的次数,若确定算子进行迭代计算的次数达到预定次数,则将迭代计算的计算结果写入目标线程的读取缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州华太电子技术股份有限公司,未经苏州华太电子技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211710810.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于沿途风险区域情况的停车方法、装置、设备和介质
- 下一篇:一种破包投料装置