计算机科学丛书 ARM嵌入式系统编程与优化PDF格式文档图书下载
- 购买点数:10 点
- 作 者:(美)詹森 D.巴克斯著 梁元宇译
- 出 版 社:北京:机械工业出版社
- 出版年份:2017
- ISBN:9787111578031
- 标注页数:204 页
- PDF页数:217 页
第1章 Linux/ARM嵌入式平台 1
1.1 以性能为导向的编程 2
1.2 ARM技术 3
1.3 ARM简史 4
1.4 ARM编程 4
1.5 ARM体系集架构 5
1.5.1 ARM通用寄存器 5
1.5.2 状态寄存器 6
1.5.3 内存寻址模式 7
1.5.4 GNU ARM汇编 8
1.6 汇编优化1:排序 8
1.6.1 参考实现 8
1.6.2 汇编实现 9
1.6.3 结果验证 11
1.6.4 分析编译器生成的代码 13
1.7 汇编优化2:位操作 15
1.8 代码优化目标 16
1.8.1 减少执行指令数 16
1.8.2 降低平均CPI 16
1.9 使用性能计数器的运行时分析 18
1.9.1 ARM性能监控单元 18
1.9.2 Linux Perf_Event 18
1.9.3 性能计数器的基础架构 19
1.10 检测存储器带宽 22
1.11 性能测试结果 25
1.12 性能界限 25
1.13 基本指令集 26
1.13.1 整型算术指令 26
1.13.2 按位逻辑指令 26
1.13.3 移位指令 27
1.13.4 移动指令 27
1.13.5 加载和存储指令 28
1.13.6 比较指令 28
1.13.7 分支指令 29
1.13.8 浮点指令 29
1.14 小结 30
习题 31
第2章 多核和数据层优化:OpenMP和SIMD 33
2.1 本书所涉及的优化技术 33
2.2 阿姆达尔定律 34
2.3 测试内核:多项式评估 35
2.4 使用多核:OpenMP 37
2.4.1 OpenMP指令 37
2.4.2 范围 39
2.4.3 其他OpenMP指令 42
2.4.4 OpenMP同步 42
2.4.5 调试OpenMP代码 44
2.4.6 OpenMP并行循环编译指令 46
2.4.7 OpenMP与性能计数器 48
2.4.8 OpenMP支持霍纳内核 48
2.5 性能界限 48
2.6 性能分析 49
2.7 GCC中的内联汇编语言 50
2.8 优化1:降低每flop的指令数 51
2.9 优化2:降低CPI 54
2.9.1 软件流水线 54
2.9.2 软件流水线的霍纳方法 57
2.10 优化3:使用SIMD时的每指令多flop 63
2.10.1 ARM11的VFP短向量指令 65
2.10.2 ARM Cortex的NEON指令 67
2.10.3 NEON内联函数 69
2.11 小结 70
习题 71
第3章 算法优化和Linux帧缓冲 72
3.1 Linux帧缓冲 72
3.2 仿射图像变换 74
3.3 双线性插值 74
3.4 浮点图像变换 75
3.4.1 加载图像 76
3.4.2 渲染帧 78
3.5 浮点性能分析 82
3.6 定点运算 82
3.6.1 定点与浮点:准确度 83
3.6.2 定点与浮点:范围 83
3.6.3 定点与浮点:精度 83
3.6.4 使用定点 84
3.6.5 高效定点加法 84
3.6.6 高效定点乘法 87
3.6.7 确定小数点的位置 89
3.6.8 图像变换的范围和准确度要求 90
3.6.9 将浮点值转换为定点值的运算 90
3.7 定点性能 92
3.8 实时分形生成 92
3.8.1 像素着色 94
3.8.2 放大 94
3.8.3 范围和准确度要求 95
3.9 小结 96
习题 96
第4章 存储优化和视频处理 99
4.1 模板循环 99
4.2 模板案例:均值滤波器 100
4.3 可分离滤波器 100
4.3.1 高斯模糊 101
4.3.2 Sobel滤波器 103
4.3.3 Harris角点检测器 104
4.3.4 Lucas-Kanade光流 106
4.4 二维滤波器的存储访问行为 108
4.4.1 二维数据展示 108
4.4.2 按行滤波 108
4.4.3 按列滤波 109
4.5 循环分块 110
4.6 分块和模板晕区 112
4.7 二维滤波实现案例 112
4.8 视频帧的捕获和转换 116
4.8.1 YUV和色度抽样 116
4.8.2 将分块导出到帧缓冲区 118
4.9 Video4Linux驱动和API 119
4.10 使用二维分块滤波器 122
4.11 应用可分离的二维分块滤波器 123
4.12 顶层循环 124
4.13 性能结果 124
4.14 小结 124
习题 125
第5章 利用OpenCL进行嵌入式异构编程 127
5.1 GPU微体系结构 128
5.2 OpenCL 128
5.3 OpenCL编程模型、语法及摘要 129
5.3.1 主机/设备编程模型 129
5.3.2 错误检查 130
5.3.3 平台层:初始化平台 131
5.3.4 平台层:初始化设备 133
5.3.5 平台层:初始化上下文 135
5.3.6 平台层:内核控制 136
5.3.7 平台层:内核编译 137
5.3.8 平台层:设备存储分配 140
5.4 内核工作负荷分配 141
5.4.1 设备存储区 142
5.4.2 内核参数 143
5.4.3 内核向量化 145
5.4.4 霍纳内核的参数空间 146
5.4.5 内核属性 147
5.4.6 内核调度 147
5.5 霍纳方法的OpenCL实现:设备码 152
5.6 性能结果 156
5.6.1 参数探索 156
5.6.2 工作组数 156
5.6.3 工作组大小 157
5.6.4 向量大小 157
5.7 小结 158
习题 158
附录A 为Raspberry Pi 1的Raspbian系统添加PMU支持 160
附录B NEON内联函数指令 163
附录C OpenCL参考 175
- 《计算机科学丛书 嵌入式C编程 PIC单片机和C编程技术与应用》(美)马克·西格斯蒙德著;王文峰,袁洪艳译 2017
- 《计算机科学丛书 ARM嵌入式系统编程与优化》(美)詹森 D.巴克斯著;梁元宇译 2017
- 《高质量嵌入式Linux C编程》梁庚,陈明,马小陆编著 2015
- 《国外计算机科学经典教材 嵌入式系统 体系结构、编程与设计 第3版》(印)RajKamal著;郭俊凤译 2017
- 《C嵌入式编程设计模式》(美)道格拉斯著;刘旭东译 2012
- 《电子与嵌入式系统设计丛书 PROCESSING与ARDUINO互动编程》黄文恺,吴羽编著 2016
- 《高技能人才培训丛书 嵌入式系统设计 LabVIEW编程及应用实例》李长虹主编 2016
- 《OSEK/VDX汽车电子嵌入式软件编程技术》(美)Joseph Lemieux著;罗克露等译 2004
- 《嵌入式系统应用开发实践教程》杨斌著 2014
- 《ARM嵌入式Linux应用开发入门》汪明虎,欧文盛编著 2008
- 《北京志 工业卷 机械工业志 农机工业志》北京市地方志编纂委员会编 2001
- 《机械工业和机械图书的出版发行 机械工业出版社发行培训教材》陈慧毅,杨少晨编 1988
- 《冷冲模设计》赵孟栋主编 2006
- 《机械工业出版社》慕拉维叶夫著;孔庆复译 1959
- 《北京市立高级工业职业学校机械科毕业学生韩丕纯分数表/韩丕纯毕业证书》 1949
- 《中等职业教育机电类规划教材 机械工业出版社精品教材 机械设计基础 第2版》机械职业教育基础课教学指导委员会机械设计学科组组编;柴鹏飞主编 2006
- 《集知播识春秋录 机械工业出版社 1952-1988.机械科学技术情报研究所 1958-1988》机械科技情报研究所,机械工业出版社编 1988
- 《电线电缆》上海市电缆研究所编 1975
- 《FoxBASE+ 三周通》文忠等编著 1995
- 《FoxBASE+实验指导书》李爱华,王建诚编 1994