Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展

Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [英] (jonmarsh)
2023-12
版次: 1
ISBN: 9787111738718
定价: 79.00
装帧: 其他
开本: 16开
页数: 192页
字数: 259千字
2人买过
  • 本书是学习ArmHeliumMVE技术的理想指南。Helium为微控制器带来了令人兴奋的新功能,使复杂的数字信号处理或机器学习应用程序能够在廉价、低功耗的设备上运行。本书首先从易于理解的层面介绍了Helium的基本概念,包括单指令多数据(SIMD)、矢量处理、浮点和定点数据表示以及饱和运算等。然后,将指令集分解为几个部分进行详细探讨,包括流水线结构、预测和分支处理、数据处理及内存访问等主题。此外,还介绍了Cortex-M55等Helium核心技术的编码机制,包括编译、调试和优化。本书的结尾是重要部分,介绍了如何实现DSP和ML工作负载。

    阅读本书的前提是具备Cortex-M处理器和基本DSP理论知识以及C语言和Arm汇编语言基础。
    :
    乔恩·马什(Jon Marsh),拥有超过25年的从业经验,一直为Arm及其半导体合作伙伴工作。他曾参与多款ArmCPU的开发,从Arm2到现在的高端64位处理器都有涉及。他曾在世界大多数顶级半导体和消费类公司从事有关Arm处理器的咨询工作并提供培训课程,并在亚洲、欧洲及北美等地区的会议和大学发表演讲。
    译者序



    前言

    第1章 绪论/1

    1.1 Helium简介/2

    1.2 Armv8.1-M架构/3

    1.3 对比其他Arm SIMD/DSP特性/6

    1.3.1 Helium对比Neon/7

    1.3.2 Helium对比可伸缩矢量扩展/8

    1.3.3 Helium对比Cortex-M的DSP特性/9

    1.3.4 Helium对比专用DSP/9

    1.4 Helium用例/10

    1.5 问题/10

    第2章 SIMD/矢量处理器概论/11

    2.1 SIMD/矢量处理/11

    2.2 浮点数和定点数/12

    2.2.1 饱和运算/15

    2.2.2 定点和浮点DSP/15

    2.2.3 Helium浮点格式/16

    2.2.4 C数据类型和原语/16

    2.3 问题/17

    第3章 Helium架构/18

    3.1 Helium基础概念/18

    3.1.1 Helium寄存器/20

    3.1.2 通道/21

    3.1.3 矢令块和节拍/22

    3.1.4 指令示例/23

    3.2 Helium矢量处理/24

    3.3 低开销分支扩展/25

    3.4 尾部预测/27

    3.5 Helium指令集/29

    3.5.1 指令集基础/29

    3.5.2 指令修饰符/31

    3.5.3 指令形态/32

    3.6 问题/33

    第4章 数据处理指令/34

    4.1 算术运算/34

    4.1.1 加法和减法/34

    4.1.2 绝对值/38

    4.1.3 移位/40

    4.1.4 逻辑操作/46

    4.1.5 最小值和优选值/47

    4.1.6 格式转换和舍入/50

    4.1.7 位计数/52

    4.1.8 元素反转/53

    4.2 乘法运算/54

    4.2.1 乘法指令/54

    4.2.2 乘加指令/57

    4.2.3 复数运算指令/65

    4.2.4 定点复数乘法运算/68

    4.3 数据移动/68

    4.4 比较和预测/73

    4.5 问题/79

    第5章 内存访问指令/80

    5.1 矢量加载和存储/80

    5.2 离散-聚合/81

    5.3 交织和解交织加载/存储/87

    5.4 问题/90

    第6章 Helium分支、标量和其他指令/91

    6.1 低开销分支扩展/91

    6.2 Armv8.1-M标量指令/94

    6.2.1 条件执行/94

    6.2.2 通用寄存器移位/97

    6.3 其他指令/100

    6.4 问题/101

    第7章 Helium编程/102

    7.1 编译器和工具/102

    7.1.1 Arm Compiler 6/103

    7.1.2 GCC Helium功能/104

    7.1.3 Helium CPU内核的调试、跟踪、剖析/104

    7.2 Helium编程方式/105

    7.3 矢量库/105

    7.4 自动矢量化/106

    7.4.1 使用矢量化编译器/107

    7.4.2 面向自动矢量化编程/109

    7.4.3 自动矢量化示例/111

    7.5 Helium原语函数/112

    7.5.1 原语编程/113

    7.5.2 原语预测/115

    7.5.3 原语点积示例/117

    7.5.4 原语离散-聚合示例/120

    7.5.5 原语尾部处理/121

    7.5.6 原语函数工作流/122

    7.6 Helium汇编代码/123

    7.6.1 内联汇编代码/123

    7.6.2 内联汇编示例/125

    7.6.3 原生汇编语言函数/127

    7.7 从其他架构移植DSP代码/127

    7.8 Helium底层代码/128

    7.8.1 使能Helium/128

    7.8.2 检测Helium/129

    7.8.3 异常处理/129

    7.9 问题/132

    第8章 性能和优化/133

    8.1 代码剖析和性能评估/133

    8.1.1 Helium性能计数器和比率/134

    8.1.2 嵌入式跟踪宏单元/140

    8.2 性能考量/141

    8.3 性能和Cortex-M内存系统/141

    8.3.1 缓存/142

    8.3.2 紧耦合内存/143

    8.4 双矢令块微架构的性能考量/144

    8.5 性能示例/145

    8.6 问题/148

    第9章 DSP基础/149

    9.1 矩阵运算/149

    9.1.1 矩阵乘法/149

    9.1.2 矩阵转置/151

    9.2 傅里叶变换/153

    9.2.1 傅里叶变换简介/153

    9.2.2 快速傅里叶变换/153

    9.2.3 FFT示例/155

    第10章 DSP滤波/157

    10.1 卷积/157

    10.2  滤波器/158

    10.2.1 FIR滤波器简介/158

    10.2.2 FIR滤波器示例/159

    第11章 应用示例/161

    11.1 图像处理/161

    11.2 加密/165

    11.2.1 大数算术/165

    11.2.2 多项式乘法/167

    第12章 神经网络和机器学习/175

    12.1 神经网络简介/176

    12.1.1 卷积神经网络/177

    12.1.2 循环神经网络/178

    12.2 CMSIS-NN/179

    12.2.1 CMSIS-NN优化/180

    12.2.2 CMSIS-NN Helium优化/181

    12.3 微控制器TensorFlow Lite/182

    12.3.1 用于微控制器和CMSIS-NN的TensorFlow Lite/183

    12.3.2 模型转换/183

    12.3.3 在Helium Cortex-M CPU上部署模型/184

    12.3.4 关键字检测示例/184

    12.4 针对Helium转换神经网络/186

    12.5 经典机器学习/189

    参考答案/191

    扩展阅读/193
  • 内容简介:
    本书是学习ArmHeliumMVE技术的理想指南。Helium为微控制器带来了令人兴奋的新功能,使复杂的数字信号处理或机器学习应用程序能够在廉价、低功耗的设备上运行。本书首先从易于理解的层面介绍了Helium的基本概念,包括单指令多数据(SIMD)、矢量处理、浮点和定点数据表示以及饱和运算等。然后,将指令集分解为几个部分进行详细探讨,包括流水线结构、预测和分支处理、数据处理及内存访问等主题。此外,还介绍了Cortex-M55等Helium核心技术的编码机制,包括编译、调试和优化。本书的结尾是重要部分,介绍了如何实现DSP和ML工作负载。

    阅读本书的前提是具备Cortex-M处理器和基本DSP理论知识以及C语言和Arm汇编语言基础。
  • 作者简介:
    :
    乔恩·马什(Jon Marsh),拥有超过25年的从业经验,一直为Arm及其半导体合作伙伴工作。他曾参与多款ArmCPU的开发,从Arm2到现在的高端64位处理器都有涉及。他曾在世界大多数顶级半导体和消费类公司从事有关Arm处理器的咨询工作并提供培训课程,并在亚洲、欧洲及北美等地区的会议和大学发表演讲。
  • 目录:
    译者序



    前言

    第1章 绪论/1

    1.1 Helium简介/2

    1.2 Armv8.1-M架构/3

    1.3 对比其他Arm SIMD/DSP特性/6

    1.3.1 Helium对比Neon/7

    1.3.2 Helium对比可伸缩矢量扩展/8

    1.3.3 Helium对比Cortex-M的DSP特性/9

    1.3.4 Helium对比专用DSP/9

    1.4 Helium用例/10

    1.5 问题/10

    第2章 SIMD/矢量处理器概论/11

    2.1 SIMD/矢量处理/11

    2.2 浮点数和定点数/12

    2.2.1 饱和运算/15

    2.2.2 定点和浮点DSP/15

    2.2.3 Helium浮点格式/16

    2.2.4 C数据类型和原语/16

    2.3 问题/17

    第3章 Helium架构/18

    3.1 Helium基础概念/18

    3.1.1 Helium寄存器/20

    3.1.2 通道/21

    3.1.3 矢令块和节拍/22

    3.1.4 指令示例/23

    3.2 Helium矢量处理/24

    3.3 低开销分支扩展/25

    3.4 尾部预测/27

    3.5 Helium指令集/29

    3.5.1 指令集基础/29

    3.5.2 指令修饰符/31

    3.5.3 指令形态/32

    3.6 问题/33

    第4章 数据处理指令/34

    4.1 算术运算/34

    4.1.1 加法和减法/34

    4.1.2 绝对值/38

    4.1.3 移位/40

    4.1.4 逻辑操作/46

    4.1.5 最小值和优选值/47

    4.1.6 格式转换和舍入/50

    4.1.7 位计数/52

    4.1.8 元素反转/53

    4.2 乘法运算/54

    4.2.1 乘法指令/54

    4.2.2 乘加指令/57

    4.2.3 复数运算指令/65

    4.2.4 定点复数乘法运算/68

    4.3 数据移动/68

    4.4 比较和预测/73

    4.5 问题/79

    第5章 内存访问指令/80

    5.1 矢量加载和存储/80

    5.2 离散-聚合/81

    5.3 交织和解交织加载/存储/87

    5.4 问题/90

    第6章 Helium分支、标量和其他指令/91

    6.1 低开销分支扩展/91

    6.2 Armv8.1-M标量指令/94

    6.2.1 条件执行/94

    6.2.2 通用寄存器移位/97

    6.3 其他指令/100

    6.4 问题/101

    第7章 Helium编程/102

    7.1 编译器和工具/102

    7.1.1 Arm Compiler 6/103

    7.1.2 GCC Helium功能/104

    7.1.3 Helium CPU内核的调试、跟踪、剖析/104

    7.2 Helium编程方式/105

    7.3 矢量库/105

    7.4 自动矢量化/106

    7.4.1 使用矢量化编译器/107

    7.4.2 面向自动矢量化编程/109

    7.4.3 自动矢量化示例/111

    7.5 Helium原语函数/112

    7.5.1 原语编程/113

    7.5.2 原语预测/115

    7.5.3 原语点积示例/117

    7.5.4 原语离散-聚合示例/120

    7.5.5 原语尾部处理/121

    7.5.6 原语函数工作流/122

    7.6 Helium汇编代码/123

    7.6.1 内联汇编代码/123

    7.6.2 内联汇编示例/125

    7.6.3 原生汇编语言函数/127

    7.7 从其他架构移植DSP代码/127

    7.8 Helium底层代码/128

    7.8.1 使能Helium/128

    7.8.2 检测Helium/129

    7.8.3 异常处理/129

    7.9 问题/132

    第8章 性能和优化/133

    8.1 代码剖析和性能评估/133

    8.1.1 Helium性能计数器和比率/134

    8.1.2 嵌入式跟踪宏单元/140

    8.2 性能考量/141

    8.3 性能和Cortex-M内存系统/141

    8.3.1 缓存/142

    8.3.2 紧耦合内存/143

    8.4 双矢令块微架构的性能考量/144

    8.5 性能示例/145

    8.6 问题/148

    第9章 DSP基础/149

    9.1 矩阵运算/149

    9.1.1 矩阵乘法/149

    9.1.2 矩阵转置/151

    9.2 傅里叶变换/153

    9.2.1 傅里叶变换简介/153

    9.2.2 快速傅里叶变换/153

    9.2.3 FFT示例/155

    第10章 DSP滤波/157

    10.1 卷积/157

    10.2  滤波器/158

    10.2.1 FIR滤波器简介/158

    10.2.2 FIR滤波器示例/159

    第11章 应用示例/161

    11.1 图像处理/161

    11.2 加密/165

    11.2.1 大数算术/165

    11.2.2 多项式乘法/167

    第12章 神经网络和机器学习/175

    12.1 神经网络简介/176

    12.1.1 卷积神经网络/177

    12.1.2 循环神经网络/178

    12.2 CMSIS-NN/179

    12.2.1 CMSIS-NN优化/180

    12.2.2 CMSIS-NN Helium优化/181

    12.3 微控制器TensorFlow Lite/182

    12.3.1 用于微控制器和CMSIS-NN的TensorFlow Lite/183

    12.3.2 模型转换/183

    12.3.3 在Helium Cortex-M CPU上部署模型/184

    12.3.4 关键字检测示例/184

    12.4 针对Helium转换神经网络/186

    12.5 经典机器学习/189

    参考答案/191

    扩展阅读/193
查看详情
目前没有书店销售此书
相关图书 / 更多
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
Archicad建筑设计基础教程
王跃强
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
Arm嵌入式系统原理及应用——STM32F103微控制器架构、编程与开发
李正军
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
Arduino编程控制与应用
行云新能科技有限公司(深圳)
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
Arduino小型化与TinyML应用从入门到精通
柴火创客空间
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
Argo数据处理与地球科学大数据平台建设
张俊明 编者;杨荣民;王坤;戴秀杰;责编:程净净
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
Around the World in 80 Books
David Damrosch
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
Arduino开发从零开始学 爱玩键盘的猫 编
作者
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
Are You \"Normal\"? More Than 100 Questions That Will Test Your Weirdness
Shulman;Mark
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
Arduino应用开发
徐阳扬
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
Arduino机器人系统设计及开发
赵建伟 主编 姜涛 副主编;甄奕 牛琦 周玉华 马萍萍 张娜 王猛 参编
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
Arduino开发技术及应用
千锋教育
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
Arm嵌入式系统案例实战——手把手教你掌握STM32F103微控制器项目开发
李正军
您可能感兴趣 / 更多
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
极北森林:移动的林木线 生物科学
[英]本·罗伦斯
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
小飞侠彼得·潘 外国文学名著读物
[英]詹姆斯·巴里
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
战争事典086:沙漠装甲:北非坦克战——1940年至1941年从贝达富姆到十字军 外国军事 [英]罗伯特·a.福尔奇克
[英]罗伯特·a.福尔奇克
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
勃朗特插画书信集(通贩版) 外国现当代文学
[英]沈语冰主朱丽叶·加迪纳 编
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
简·奥斯汀插画书信集(通贩版) 外国现当代文学
[英]沈语冰主佩内洛普·休斯—哈利特 编
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
拉斐尔前派插画书信与记(通贩版) 外国现当代文学
[英]沈语冰主简·马什 编
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
凡·高普罗旺斯插画书信集(通贩版) 外国现当代文学
[英]沈语冰主马丁·贝利 编
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
弗吉尼亚·伍尔夫插画书信集(通贩版) 外国现当代文学
[英]沈语冰主弗朗西斯·斯伯丁 编
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
dk地图上的人类史:我们从哪里来 外国历史 英国dk公司
[英]dk公司
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
德国人眼中的欧战胜利日 纳粹德国的终失败
[英]乔纳森·特里格著小小冰人 译
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
复杂系统的模糊网络
[英]亚历山大·吉戈夫(AlexanderGegov);王小巍
Arm Helium技术指南 Cortex-M系列处理器的矢量运算扩展
塞尔达传说视觉艺术史
[英]未来出版社著李玫霏 译