NEON
文章平均质量分 81
sean_xyz
问渠那得清如许,为有源头活水来
展开
-
Coding for NEON - Part 1: load and stores
ARM 的 NEON技术是一种64/128位的混合 SIMD (single instruction multi-data, 多数据操作单指令)构架,是为多媒体和信号处理应用而设计,包括视频编解码,3D图像,语音和图像处理。 本系列帖子是关于如何编写汇编语言的SIMD代码来使用NEON技术,这是本系列的第一篇。本系列的内容包括如何开始使用NEON,如何高效地使用它,以及成为该方面有经验程序员的翻译 2013-10-10 10:04:03 · 2593 阅读 · 0 评论 -
SIMD简介
本文总结本人工作中所接触到的SIMD资料。SIMD: single instruction multiply data, 单指令多数据。根据本人的熟悉程度分别为:1、NEON:ARM cortex-A 系列2、MMX、SSE、AVX: PC机3、GPU:opecl 框架下4、CEVA:DSP1、NEON《Using the GNU Compiler Coll原创 2015-03-10 09:39:00 · 8923 阅读 · 0 评论 -
GNU ARM汇编伪操作(Directives) 命令集
本文链接:http://blog.sina.com.cn/s/blog_574d08530100hzie.html1.符号定义伪操作操作符 语法格式 说明.equ .equ symbol,expr 将symbol定义为expr.set .set symbol,expr 和equ相同(.set=.eq转载 2014-05-15 17:11:48 · 809 阅读 · 0 评论 -
neon汇编代码的乱序优化
本人使用的汇编代码乱序优化工具是:原创 2014-04-18 13:53:43 · 1861 阅读 · 0 评论 -
neon s16 8x8 系数矩阵转置
/* step 0 : load data /* Q4 - Q11 */vld1.16 {q4,q5}, [r1]!vld1.16 {q6,q7}, [r1]!vld1.16 {q8,q9}, [r1]!vld1.16 {q10,q11}, [r1]!/* step 1 : transpoese 8X8 matrix */VTRN.16 q8, q9VTRN.原创 2014-04-18 14:10:42 · 3914 阅读 · 0 评论 -
GUN ARM 汇编语法
DS-5 用于仿真 ARM 汇编指令可以参考文件real view 的《汇编器指南》 或 《arm compiler toolchain -- assembler reference》当汇编文件用于项目当中时,需要使用gun 的gcc 编译器进行项目编译和链接,本文简单介绍一下常用的 gun 下汇编语法。代码段:.text .end.arm原创 2014-02-13 19:25:10 · 2811 阅读 · 0 评论 -
GUN汇编格式以及与ARM汇编的转换
GNU汇编语言结构 主要包括三个常用的段: data 数据段 声明带有初始值的元素 bss 数据段 声明使用0或者null初始化的元素 text 正文段 包含的指令, 每个汇编程序都必须包含此段 使用.secti转载 2013-10-15 18:40:45 · 2982 阅读 · 0 评论 -
汇编调试技巧:调用C语言函数printf()
调试程序的痛苦莫过于调试汇编语言了~ 实际上对于一个嵌入式软件工程师来说,汇编语言的调试跟C语言的调试如出一辙。当然 ,也有些软件可以用来仿真,例如real view, DS-5等等,但更为普通的情况是啥都没有,接下来,本贴将介绍汇编语言的打印调试。本帖主要内容有:1.如何调用C语言的printf() 函数2.ARM汇编调试案例1.如何调用C语言的printf() 函数2.原创 2014-02-13 19:15:18 · 5502 阅读 · 0 评论 -
如何提高汇编代码的可读性
汇编语言相对C语言和C++,在执行速度上有着不错的优势,尤其在一些数据量巨大的处理场合。所以不难理解很多DSP、ARM程序员需要使用汇编来优化代码。本人从事视频编解码工作,在工作中也遇到了一些需要汇编优化的情况,发现汇编代码的可读性是可以通过一些方式提高的,在此与大家分享一下。本文所使用的为ARM 汇编,ARM v5 指令集以上。以下是本贴内容:1、如何使用汇编2、如何提高汇编的可读性原创 2013-10-12 16:46:01 · 2344 阅读 · 0 评论 -
NOEO滤波器优化设计
滤波函数: p[i] = w0 * p[i] + w1 * p[i +1] + w2 * p[i +2] + w3 * p[i +3] 水平滤波方案: 使用多次 load 数据来减少乘法运算滤波函数: p[i] = w0 * p[i] + w1 * p[i +width] + w2 * p[i +width] + w3 * p[i +width], width 为矩阵宽原创 2014-04-18 15:18:29 · 1096 阅读 · 0 评论