网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 ARM嵌入式系统编程与优化
分类 人文社科-社会科学-语言文字
作者 (美)詹森D.巴克斯(Jason D. Bakos) 著;梁元宇 译
出版社 机械工业出版社
下载
简介
内容推荐
本书结合ARM架构和Linux工具,关注以性能为导向的嵌入式编程,深入讲解如何通过对数据、算法和存储等层面的优化,终实现性能的显著提升。本书先讲解ARM架构和嵌入式系统的基础知识,然后结合图像变换、分形生成和计算机视觉等应用案例,详细说明不同的优化方法。读者可在RaspberryPi等平台上动手运行并比较不同算法,掌握实践技巧。本书适合作为本科或研究生嵌入式系统课程的教材,也适合从事相关开发工作的程序员参考。
作者简介
(美)詹森D.巴克斯(Jason D. Bakos),美国南卡罗来纳大学计算机科学与工程系副教授,研究方向包括高性能计算、异构网络和嵌入式计算机系统等。拥有2项专利,发表了30余篇学术论文。2009年曾获得美国国家科学基金(NSF)事业奖,现为ACM会刊《可重构技术与系统》的副主编。
目录
出版者的话
译者序
前言
致谢
第1章Linux/ARM嵌入式平台
1.1以性能为导向的编程
1.2ARM技术
1.3ARM简史
1.4ARM编程
1.5ARM体系集架构
1.5.1ARM通用寄存器
1.5.2状态寄存器
1.5.3内存寻址模式
1.5.4GNUARM汇编
1.6汇编优化1:排序
1.6.1参考实现
1.6.2汇编实现
1.6.3结果验证
1.6.4分析编译器生成的代码
1.7汇编优化2:位操作
1.8代码优化目标
1.8.1减少执行指令数
1.8.2降低平均CPI
1.9使用性能计数器的运行时分析
1.9.1ARM性能监控单元
1.9.2LinuxPerf_Event
1.9.3性能计数器的基础架构
1.10检测存储器带宽
1.11性能测试结果
1.12性能界限
1.13基本指令集
1.13.1整型算术指令
1.13.2按位逻辑指令
1.13.3移位指令
1.13.4移动指令
1.13.5加载和存储指令
1.13.6比较指令
1.13.7分支指令
1.13.8浮点指令
1.14小结
习题
第2章多核和数据层优化:OpenMP和SIMD
2.1本书所涉及的优化技术
2.2阿姆达尔定律
2.3测试内核:多项式评估
2.4使用多核:OpenMP
2.4.1OpenMP指令
2.4.2范围
2.4.3其他OpenMP指令
2.4.4OpenMP同步
2.4.5调试OpenMP代码
2.4.6OpenMP并行循环编译指令
2.4.7OpenMP与性能计数器
2.4.8OpenMP支持霍纳内核
2.5性能界限
2.6性能分析
2.7GCC中的内联汇编语言
2.8优化1:降低每flop的指令数
2.9优化2:降低CPI
2.9.1软件流水线
2.9.2软件流水线的霍纳方法
2.10优化3:使用SIMD时的每指令多flop
2.10.1ARM11的VFP短向量指令
2.10.2ARMCortex的NEON指令
2.10.3NEON内联函数
2.11小结
习题
第3章算法优化和Linux帧缓冲
3.1Linux帧缓冲
3.2仿射图像变换
3.3双线性插值
3.4浮点图像变换
3.4.1加载图像
3.4.2渲染帧
3.5浮点性能分析
3.6定点运算
3.6.1定点与浮点:准确度
3.6.2定点与浮点:范围
3.6.3定点与浮点:精度
3.6.4使用定点
3.6.5高效定点加法
3.6.6高效定点乘法
3.6.7确定小数点的位置
3.6.8图像变换的范围和准确度要求
3.6.9将浮点值转换为定点值的运算
3.7定点性能
3.8实时分形生成
3.8.1像素着色
3.8.2放大
3.8.3范围和准确度要求
3.9小结
习题
第4章存储优化和视频处理
4.1模板循环
4.2模板案例:均值滤波器
4.3可分离滤波器
4.3.1高斯模糊
4.3.2Sobel滤波器
4.3.3Harris角点检测器
4.3.4Lucas—Kanade光流
4.4二维滤波器的存储访问行为
4.4.1二维数据展示
4.4.2按行滤波
4.4.3按列滤波
4.5循环分块
4.6分块和模板晕区
4.7二维滤波实现案例
4.8视频帧的捕获和转换
4.8.1YUV和色度抽样
4.8.2将分块导出到帧缓冲区
4.9Video4Linux驱动和API
4.10使用二维分块滤波器
4.11应用可分离的二维分块滤波器
4.12顶层循环
4.13性能结果
4.14小结
习题
第5章利用OpenCL进行嵌入式异构编程
5.1GPU微体系结构
5.2OpenCL
5.3OpenCL编程模型、语法及摘要
5.3.1主机/设备编程模型
5.3.2错误检查
5.3.3平台层:初始化平台
5.3.4平台层:初始化设备
5.3.5平台层:初始化上下文
5.3.6平台层:内核控制
5.3.7平台层:内核编译
5.3.8平台层:设备存储分配
5.4内核工作负荷分配
5.4.1设备存储区
5.4.2内核参数
5.4.3内核向量化
5.4.4霍纳内核的参数空间
5.4.5内核属性
5.4.6内核调度
5.5霍纳方法的OpenCL实现:设备码
5.6性能结果
5.6.1参数探索
5.6.2工作组数
5.6.3工作组大小
5.6.4向量大小
5.7小结
习题
附录A为RaspberryPi1的Raspbian系统添加PMU支持
附录BNEON内联函数指令
附录COpenCL参考
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/1/31 19:46:57