历史上的今天
返回首页

历史上的今天

今天是:2024年10月24日(星期四)

正在发生

2019年10月24日 | 软浮点 技术使用--GCC

2019-10-24 来源:eefocus

目前大多数主流CPU都支持浮点运算单元,或者具备浮点运算功能的辅助运算单元,比如PowerPC e500的SPE APU。在这样的机器上,浮点操作一般被编译成硬浮点指令,但是有的时候为了调试方便,或者由于fpu工作不正常而需要关闭硬浮点,就需要使用软浮点指令来模拟浮点操作。


在Linux下,一般有两种软浮点方式:
1。由kernel来模拟软浮点,应用程序仍然使用硬浮点来编译。在运行的时候,碰到浮点指令或者使用了浮点运算单元的CPU,硬件会产生相应的中断异常,kernel处理这个中断异常,然后根据指令内容进行软浮点操作,将结果保存好之后再恢复原来的执行。

这样的方式好处在于应用程序不需要重新编译,只需要在kernel中把浮点模拟的开关打开即可,所以使用起来非常方便。但是缺点也很明显,每次浮点操作都要触发中断异常,执行过程就要慢很多。另外在有些CPU上,并非所有的浮点指令都会触发中断异常,那么这些指令就没办法用这种方式进行模拟。

2。另一种方式是使用软浮点重新编译所有应用程序,这样可以避免上述问题,而且使用gcc的浮点模拟性能上也会好一些。但缺点是因为使用了不同的编译选项,使用的ABI可能就发生了变化,如果某个库或者应用没有使用同样的编译选项(ABI不同),系统运行时会出现意想不到的情况,甚至造成崩溃。

推荐阅读

史海拾趣

Emerson公司的发展小趣事

1954年至1973年,Emerson在总裁帕森斯的领导下,开始实施多元化战略。公司通过一系列并购活动,成功收购了包括威诺、美国电气电机、里奇工具等在内的36家公司,进一步拓宽了业务范围。同时,Emerson还注重研发和创新,通过不断推出新产品和技术,巩固了其在电气行业的领先地位。在此期间,公司的规模迅速扩大,从最初的2家工厂、4000名员工和5600万美元产值发展到82家工厂、31000名员工和8亿美元产值。

FOTEK公司的发展小趣事

面对数字化时代的到来,福禄克积极拥抱变革,推动企业的数字化转型。公司不仅升级了内部管理系统,实现了生产、销售、服务等各个环节的数字化协同,还推出了多款基于大数据和人工智能技术的智能测试工具。这些智能工具不仅提高了测试效率和准确性,还为用户提供了更加便捷和个性化的服务体验。福禄克的数字化转型战略不仅增强了其市场竞争力,还为整个电子行业的数字化转型树立了标杆。

ETEQ Microsystems Inc公司的发展小趣事

为了进一步扩大市场份额,ETEQ Microsystems Inc开始实施全球化战略。公司在亚洲、欧洲和北美等地设立了研发中心和销售办事处,并与多家国际知名企业建立了战略合作关系。这些举措不仅增强了公司的品牌影响力,还为公司带来了更多的商业机会。

敦泰(FOCALTECH)公司的发展小趣事
调节冰箱温度时,应根据季节和存放食物的需求进行调整。一般来说,冷藏室的温度应设置在2-8℃之间,冷冻室的温度应设置在-18℃以下。可以通过冰箱上的温度调节按钮或触摸屏进行设置。同时,注意避免将温度设置过低或过高,以免影响食物的保鲜效果和冰箱的能耗。
ECM [ECM Electronics Limited.]公司的发展小趣事

企业文化是企业发展的灵魂。ECM Electronics Limited.注重企业文化的建设,倡导“诚信、创新、协作、共赢”的价值观。公司注重员工的培训和发展,为员工提供良好的工作环境和职业发展机会。通过团队建设活动,增强员工的凝聚力和归属感。正是这些积极向上的企业文化和优秀的团队,为ECM Electronics Limited.的持续发展提供了源源不断的动力。

AMSCO [Austria micro systems AG]公司的发展小趣事

在竞争激烈的电子行业中,品质是企业生存和发展的关键。ECM Electronics Limited.深知这一点,始终将产品质量放在首位。公司建立了严格的质量管理体系,从原材料采购到产品生产、检测、包装等各个环节都严格把关,确保每一件产品都符合高标准的质量要求。正是凭借过硬的产品品质,ECM赢得了客户的信赖和市场的认可。

问答坊 | AI 解惑

收集的电子DIY

                        收集的电子DIY                                       ...…

查看全部问答>

大侠们指导下 PT2262与单片机接口的用法?急!

大侠们指导下 PT2262与单片机接口的用法?  谢谢...…

查看全部问答>

cec文件与dir或者sources之间的关系!

看起来,Platform Builder对于kernel image的生成过程中。 CEC文件除了描述item在catalog中的位置关系外,主要是使用环境环境变量来控制是否需要将相应的dll通过mkimage置入nk中。 而source和dir决定了那些东西会被编译。 也就是说,无论某些ite ...…

查看全部问答>

NANDFLASH的操作思路

我开发用了一个nandflash做数据存储。但是nandflash只能是页擦写。部分数据需要重复重复擦写,请问这部分操作的逻辑,应该是什么样的呢…

查看全部问答>

请教达人:芯片研发 和 驱动开发 哪个更有前/钱途?

芯片研发 和 驱动开发 哪个更有前/钱途?   如果想从事芯片研发方面的工作,应该怎么学?   如果想从事驱动开发方面的工作,又应该怎么学? …

查看全部问答>

我想用F2812做一个音频信号采集、处理、回放系统

我想用F2812做一个音频信号采集、处理、回放系统 我想用F2812做一个音频信号采集、处理、回放系统。不知哪位大侠帮忙介绍一下外围电路和程序设计》 …

查看全部问答>

芯达stm32入门系列教程~~欢迎下载!!!

花了点时间,写了一个STM32的入门系列教程,希望大家喜欢!该入门教程,从stm32的必备软件安装开始,一直到最后的编程上手,都给了详细的讲述,图文并茂。 …

查看全部问答>

又有问题了

各位,一个MONO AUDIO POWER AMPLIFIER芯片,在它的输出端要实现:插上耳机喇叭就不能用,拔了耳机喇叭就可用,有没有什么好的办法?? 虽然有着方面的芯片,但不满足我的要求,而且也贵,所以选了这个让我麻烦的芯片。 多谢各位帮忙了。…

查看全部问答>

【嵌入式培训】凌阳爱普培训资料大放送之---网络编程、C++、QT编程、数据结构与算法

凌阳爱普培训资料大放送之---网络编程、C++、QT编程、数据结构与算法 …

查看全部问答>

飞猪四轴测试视频

做的太仓促了,板子有一些问题,同时对四轴理解的还不够深入,小四轴目前还没有飞起来,给大家看看我的测试视频吧。 …

查看全部问答>