arm neon/fpu/mfloat
neon官网介绍:
Arm Neon technology is an advanced Single Instruction Multiple Data (SIMD) architecture extension for the A-profile and R-profile processors.
Neon technology is a packed SIMD architecture. Neon registers are considered as vectors of elements of the same data type, with Neon instructions operating on multiple elements simultaneously. Multiple data types are supported by the technology, including floating-point and integer operations.
Neon technology is intended to improve the multimedia user experience by accelerating audio and video encoding and decoding, user interface, 2D and 3D graphics, and gaming. Neon can also accelerate signal processing algorithms and functions to speed up applications such as audio and video processing, voice and facial recognition, computer vision, and deep learning.
Armv7-A/Cortex-A7浮点支持介绍:
官网:
https://developer.arm.com/Processors/Cortex-A7
记录一下arm官网,方便日后学习:
SIMD,即 single instruction multiple data,单指令流多数据流,也就是说一次运算指令可以执行多个数据流,从而提高程序的运算速度,实质是通过 数据并行
来提高执行效
- ARM NEON 是 ARM 平台下的 SIMD 指令集,利用好这些指令可以使程序获得很大的速度提升。
- NEON intrinsic 指令,它是底层汇编指令的封装,不需要用户考虑底层寄存器的分配,但同时又可以达到原始汇编指令的性能。
- NEON 是一种 128 位的 SIMD 扩展指令集,由 ARMv7 引入,在 ARMv8 对其功能进行了扩展(支持向量化运算),支持包括加法、乘法、比较、移位、绝对值 、极大极小极值运算、保存和加载指令等运算
- ARM 架构下的下一代 SIMD 指令集为
SVE(Scalable Vector Extension,可扩展矢量指令)
,支持可变矢量长度编程,SVE 指令集的矢量寄存器的长度最小支持 128 位,最大可以支持 2048 位,以 128 位为增量
- ARM NEON 技术的核心是 NEON 单元,主要由四个模块组成:
NEON 寄存器文件、整型执行流水线、单精度浮点执行流水线和数据加载存储和重排流水线
- ARM 基本数据类型有三种:字节(
Byte,8bit
)、半字(Halfword,16bit
)、字(Word,32bit
) - 新的 Armv8a 架构有
32
个 128bit 向量寄存器,老的 ArmV7a 架构有32
个 64bit(可当作16
个128bit)向量寄存器,被用来存放向量数据,每个向量元素的类型必须相同,根据处理元素的大小可以划分为2/4/8/16
个通道
mfloat编译:
在 armv8 aarch64中,这个规范里面规定在函数调用过程中怎么传输入和输出参数,哪些寄存器需要调用者保护,哪些寄存器需要被调用者保护。
在Armv7的AAPCS32规范里,是怎么来传浮点数的函数输入输出参数的呢,我们实际上定义了两种传浮点数的方式:
softfp
hardfp
这两个的区别在于,softfp 是用整形的通用寄存器(r0-r3)来传浮点数参数的,比如
float fadd(float xx, float xxx)
xx和xxx实际上是通过r0,r1传入到被调函数的,结果也是通过r0传出的。
但如果使用hardfp,那么用浮点数寄存器来传参数,以上同样的例子,xx和xxx是通过s0, s1寄存器来传的,结果是通过s0传出的。
在GCC compiler里提供了以下选项来选择你编译的代码是使用哪个方式
-mfloat-abi=softfp/hard
因为使用不同的参数传递方式,所以你不能将一个使用softfp另外一个使用hardfp的库或目标文件链接起来。
neon指令类型:
NEON指令的函数名组成格式:v<mod><opname><shape><flags>_<type>
,逐元素进行操作
可以在 #include <arm_neon.h>头文件中查看:
比如如下的乘法指令:
int32x2_t vmul_s32 (int32x2_t __a, int32x2_t __b);// ri = ai * bi, 长指令, 为了防止溢出
int64x2_t vmull_s32 (int32x2_t __a, int32x2_t __b)// ri = ai * b,有标量参与向量运算
int32x2_t vmul_n_s32 (int32x2_t __a, int32_t __b);// ri = ai * b, 长指令, 为了防止溢出
平方根指令:
减法指令:
int32x4_t vsubq_s32(int32x4_t __a, int32x4_t __b);
加法指令:
int8x8_t vqadd_s8(int8x8_t a, int8x8_t b);
关键词说明:
ABI,application binary interface (ABI),应用程序二进制接口
FPU:(Floating-Point Unit),浮点运算单元
ASE:(Advanced SIMD Extension),“ASE”是“先进SIMD扩展”的英文首字母缩写
SIMD: 的全称是 Single Instruction Multiple Data,中文名“单指令多数据”
NEON:是用于ARMv7和ARMv8 Cortex-A与Cortex-R处理器的先进SIMD功能的产品名称
相关文章:
![](https://img-blog.csdnimg.cn/31c5909968a140d09a930982d08ae6f1.png)
arm neon/fpu/mfloat
neon官网介绍: Arm Neon technology is an advanced Single Instruction Multiple Data (SIMD) architecture extension for the A-profile and R-profile processors. Neon technology is a packed SIMD architecture. Neon registers are considered as vectors of elements …...
![](https://img-blog.csdnimg.cn/bf6cc9a90fe249a5b5bcd6a2367acf8d.png#pic_center)
Maven基础之项目创建、packaging
文章目录 创建 maven 项目流程骨架是浮云,packaging 是关键 创建 maven 项目流程 通过骨架(archetype)创建 maven 工程 第一步:选择 new → maven → Maven Project 第二步:New Maven Project 窗口不作任何设置&…...
![](https://www.ngui.cc/images/no-images.jpg)
c++ std::map 使用注意事项
1. std::map 如果在添加元素前,直接去取 key-value,会怎样 ? 先说答案,map 在添加元素前,直接使用会给 key 添加默认的 value! 2. 问题背景 某项目代码报出个严重的bug,具体现象是某个 map…...
![](https://www.ngui.cc/images/no-images.jpg)
Camera HAL/ISP 专业术语大全
不断更新,建议收藏,快速检索 SOC,System On Chip,片上系统 HAL,Hardware Abstraction Layer,硬件抽象层 ISP,Image Signal Processor,图像信号处理器 KMD,Kernel Mod…...
![](https://www.ngui.cc/images/no-images.jpg)
POI的简单入门
POI的简单入门 导入jar包将数据写入Excel文件读取Excel文件中的数据 导入jar包 Apache POI的maven坐标 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.17</version> </dependency>…...
![](https://s2.loli.net/2023/02/11/bNjf3qaFmCPTZpl.png)
如何将笔记本作为另一台电脑的副屏显示
背景说明 台式电脑一个显示器不够我使用,而手头又没有多的显示器。我的笔记本有屏幕,但是不能直接连HDMI线给台式拓展屏幕。研究一段时间后发现,利用spacedesk软件可以基本完美解决这个问题。 效果演示 软件下载与安装 官网下载最新版(需要…...
![](https://www.ngui.cc/images/no-images.jpg)
深入理解正则表达式:为什么它在Java中如此重要?
文章目录 一、正则表达式1.1 为什么引入正则表达式1.2 什么是正则表达式 二、正则表达式规则2.1 正则表达式的基本语法规则2.2 非贪婪匹配 三、正则表达式在java中的应用3.1 String3.2 java.util.regex 参考资料 一、正则表达式 1.1 为什么引入正则表达式 在实际编写程序的过…...
![](https://img-blog.csdnimg.cn/834fc3d411d84297af0b362558c8092d.png)
jmeter实现webservice接口测试
其实可以用jmeter两种sampler进行webservice的测试: 1、SOAP/XML-RPC Request(但是在jmeter3.2以后版本中已经取消了这个取样器) 2、HTTP请求 下面分别介绍两种方式 一、首先需要使用soupUI工具抓取webservice接口的部分需要的信息。 1、新建项目 2、新建成功的…...
![](https://www.ngui.cc/images/no-images.jpg)
js 四舍五入保留一位小数 求百分比
概览:一个数据占一组数据的比率,并且四舍五入保留一位小数。通过Math.round()四舍五入。 参考链接: mdn中文文档Math.round() 实现思路: Math.round(x) 函数返回一个数字四舍五入后最接近的整数。参数x是一个数值 实现代码&a…...
![](https://img-blog.csdnimg.cn/85f7cdd43cc2412282f194d1a4124fb9.png)
文件上传漏洞总结2
文件上传的大体都已经学习过了 这个假期在给他强化一下 什么是webshell webshell是web入侵的脚本攻击工具。webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些asp或php木马后门文件放置在网站服务器的web目录中,与正常…...
![](https://img-blog.csdnimg.cn/0c97fccfecd044e48edf6e97d226046a.png)
【组内工作】木马回联
文章目录 C2服务器安装和运行方法CrossC2运行方法sliver运行方法empire安装方法DeimosC2安装教程TrevorC2安装教程: C2服务器的流量特征CrossC21. 心跳包2. 命令3. ja3/ja3s Sliver1. http2. https empirehttphttps DeimosC2https TrevorC2 C2服务器安装和运行方法 …...
![](https://img-blog.csdnimg.cn/img_convert/05306c16b00d49ea8cda8930650882cb.jpeg)
未来将会有更多基于 Cortana 的设备
在前些日子的 Build 大会首日 Keynote 中,微软正式确认 HP 跟 Intel 也正在开发基于 Cortana 平台的联网家居产品,这是继推出 Invoke 喇叭的 Harman Kardon 后,又有知名大牌加入到 Cortana 的阵营当中,有这样的品牌资源背景&#…...
![](https://img-blog.csdnimg.cn/65752ddd1e844cd5af400d7f416f3e34.png)
嵌入式硬件系统的基本组成
嵌入式硬件系统的基本组成 嵌入式系统的硬件是以包含嵌入式微处理器的SOC为核心,主要由SOC、总线、存储器、输入/输出接口和设备组成。 嵌入式微处理器 每个嵌入式系统至少包含一个嵌入式微处理器 嵌入式微处理器体系结构可采用冯.诺依曼(Von Neumann&…...
![](https://www.ngui.cc/images/no-images.jpg)
def __init__(self, **kwargs):中的**kwargs是什么意思
**kwargs是什么意思 在Python中,**kwargs是一种特殊的参数形式,用于接收可变数量的关键字参数(Keyword Arguments)。kwargs是一个字典(dictionary),其中关键字是参数名,对应的值是传…...
![](https://www.ngui.cc/images/no-images.jpg)
web攻击面试|网络渗透面试(三)
Web攻击大纲 常见Web攻击类型: SQL注入攻击:介绍SQL注入攻击的概念、原理和常见的攻击方式,如基于错误消息的注入、基于布尔盲注的注入等。解释攻击者如何利用SQL注入漏洞获取敏感信息或者对数据库进行恶意操作,并提供防御措施&a…...
![](https://www.ngui.cc/images/no-images.jpg)
数据分析方法
常用的数据分析方法有:1、对比分析法;2、分组分析法;3、结构分析法;4、留存分析法;5、交叉分析法;6、漏斗分析法;7、矩阵分析法;8、象限分析法;9、趋势分析法;…...
![](https://www.ngui.cc/images/no-images.jpg)
Spring全家桶---白虎篇
其中包括:Spring、Spring6、Spring Data、Spring Cloud Alibaba、Spring Cloud、Spring Boot、Spring Security、SpringMVC。 👏作者简介:大家好,我是小童,Java开发工程师,CSDN博客博主,Java领域…...
![](https://www.ngui.cc/images/no-images.jpg)
深度优先搜索|79, 695,212
深度优先搜索|79. 单词搜索, 695. 岛屿的最大面积, 212. 单词搜索 II 单词搜索岛屿的最大面积单词搜索II 单词搜索 用的是深度优先搜索,这种判断类型的回溯我就一直不知道要怎么回退,然后勉强写了一个。 这里还有一个注意事项就是,走到最后一…...
![](https://www.ngui.cc/images/no-images.jpg)
论文阅读与管理方法论
文章目录 为什么读论文论文类型综述论文专题论文 论文质量角度关于如何找论文的小Tips如何整理论文读论文的困境如何读论文不同人群阅读差异读论文三部曲:泛读、精读、总结泛读:快速浏览,把握概要。泛读目标及效果自测 精读:选出精…...
![](https://www.ngui.cc/images/no-images.jpg)
基于OAI与Ueransim的5G网络切片平台构成简述
自定义多切片核心网构建 为了实现在同一台机器上同时对每一个切片启动一套单独的核心网,并且可以同时启动多套核心网,我们在官方提供的核心网模板的基础上进行适当的修改,扩展出其他可以正常运行的核心网,由此我们可以实现在同一…...
![](https://img-blog.csdnimg.cn/9ed0ce8e62fd467ea38b8ba44f04ab02.png)
论文笔记:Adjusting for Autocorrelated Errors in Neural Networks for Time Series
2021 NIPS 原来的时间序列预测任务是根据预测论文提出用一阶自回归误差预测 一阶差分,类似于ResNet的残差思路?记为pred,最终的预测结果...
![](https://img-blog.csdnimg.cn/eb0afdfc96304548ae0ff5957a023148.png)
DataEase开源BI工具安装_数据全量_增量同步_大屏拖拽自动生成_多数据源支持_数据血缘分析---大数据工作笔记0183
我这里用的是Centos7.9安装的 可以通过uname -p来查看一下我们的电脑架构,可以看到是x86_64架构的 我们下第一个,这个是x86架构的,第二个arm架构的 然后解压到/opt/module中 然后再去重命名一下文件夹. 推荐200G 本地模式的功能比较多 推荐100G...
![](https://www.ngui.cc/images/no-images.jpg)
如何提升程序员的软素质
目录 软素质包含哪些方面怎么做总结 软素质包含哪些方面 在项目研发迭代的过程中,确保一次上线顺利不难,难得是每次上线都顺利。对一个人或团队,只要有一次上线有问题,那在领导看来,你这个人或团队的工作是不靠谱的。…...
![](https://img-blog.csdnimg.cn/img_convert/6d7e10ddb411aa33c100d9589132cd83.png)
msvcp100.dll丢失怎么修复,这三个常用的修复方法可以解决
msvcp100.dll是一个动态链接库文件,它是Microsoft Visual C Redistributable软件包的一部分。这个文件的作用是提供在运行C程序时所需的函数和功能。msvcp100.dll是一个非常重要的文件,它为我们提供了许多关键的函数和类,使得我们能够更高效地…...
![](https://img-blog.csdnimg.cn/feb48fa22c324b928995f6d8a2103d18.png)
python实现递推算法解决分鱼问题
一、问题描述 A、B、C、D、E5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的树丛中找地方睡着了。第二天日上三竿时,A第一个醒来,他将鱼平分为5份,把多余的一条扔回河中,然后拿着自己的一份回家…...
![](https://img-blog.csdnimg.cn/img_convert/f4c4bb87ef12a99ac6f9f6b5cd5f3636.png)
【LeetCode】142.环形链表Ⅱ
题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部…...
![](https://img-blog.csdnimg.cn/img_convert/cc2de8fe7bfe240e1669331c88d03651.png?x-oss-process=image/watermark,image_bG9nby9jc2RuXzEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLGhfMTIy,g_se,x_0,y_0,t_100)
16.Netty源码之ChannelPipeline
highlight: arduino-light 服务编排层:ChannelPipeline协调ChannelHandlerHandler EventLoop可以说是 Netty 的调度中心,负责监听多种事件类型:I/O 事件、信号事件、定时事件等,然而实际的业务处理逻辑则是由 ChannelPipeline 中所定义的 Cha…...
![](https://www.ngui.cc/images/no-images.jpg)
“使用Spring Boot构建微服务应用的最佳实践“
标题:使用Spring Boot构建微服务应用的最佳实践 摘要:本文将介绍如何使用Spring Boot构建微服务应用的最佳实践。我们将讨论微服务架构的概念、Spring Boot的优势以及一些最佳实践,同时提供示例代码帮助读者更好地理解和实践。 正文&#x…...
![](https://img-blog.csdnimg.cn/e337b60ed4934656aba5dab2f40d169c.png)
redis高可用之主从复制,哨兵,集群
目录 前言 一、主从复制 1、主从复制的作用 2、主从复制流程 3、部署Redis 主从复制步骤 3.1 环境准备 3.3 修改Redis 配置文件(Master节点操作) 3.4 修改Redis 配置文件(Slave节点操作) 3.5 验证主从效果 二、哨兵 1、哨兵模式原理 2、哨兵模式…...
![](https://img-blog.csdnimg.cn/4d4c3ebff298452b90b5d16e23b8d011.png)
【Ajax】笔记-原生jsonp跨域请求案例
原生jsonp跨域请求 输入框:输入后,鼠标移开向服务端发送请求,返回用户不存在(直接返回不存在,不做判断) JS <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><me…...
![](http://c.biancheng.net/uploads/allimg/190507/5-1Z50G12024U7.jpg)
公司黄页什么意思/江苏网站seo设计
我们都知道对大规模数据进行复杂的数据分析通常需要耗费大量的时间,这时就需要我们的数据消减技术了。 数据消减技术的主要目的就是从原有巨大数据集中获得一个精简的数据集,并使这一精简数据集保持原有数据集的完整性。这样在精简数据集上进行数据挖掘…...
设计做网站/展示型网站有哪些
如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 下载了网易公开课的视频之后,发现它的中文和英文字母是分开的,用其他播放器打开的时候只能载入一个字幕,于是就想合并2个文件 思路…...
帮人做网站被派出所抓到徐州/阿里巴巴怎么优化关键词排名
1.要在andorid中实现网络图片查看,涉及到用户隐私问题,所以要在AndroidManifest.xml中添加访问网络权限 <uses-permission android:name"android.permission.INTERNET"/> 2.布局文件 <LinearLayout xmlns:android"http://schem…...
![](/images/no-images.jpg)
做网站 怎么做留言/百度新闻最新消息
package cn.TCP;import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket;/*** 模拟多个客户端登陆 双向* 1.指定端口 使用ServerSocket创建服务器* 2.阻塞式等待连接accept* 3.…...
![](/images/no-images.jpg)
做最最优秀的视频网站/交换友情链接的要求有
下面的简介网上到处都是,还是收一下,算是一个备忘: ICCV的全称是International Comference on Computer Vision,正如很多和他一样的名字的会议一行,这样最朴实的名字的会议,通常也是这方面最nb的会议。ICCV…...
![](/images/no-images.jpg)
linux下wordpress建站/软文营销是什么意思
大家好,这里是捷径手机宝典,我是阿轲iOS 12.4 在历经了 7个 beta测试版后,终于在今天凌晨发布了正式版,不出意外的话,这应该是iOS12系列的最后一个版本iOS12.4正式版更新内容包括修复图片重启BUG过滤未知发件人功能优化…...