ArmHelium技術指南
《ArmHelium技術指南》,副標題:Cortex-M系列處理器的矢量運算擴展,出版社: 機械工業出版社,ISBN:9787111738718。
截至2022年,機械工業出版社年出版新書近2700種,年引進和輸出版權總量近800種,產品橫跨科技出版、教育出版、大眾出版三大板塊,覆蓋機械、電工電子、汽車、建築、計算機、經管、心理[1]、生活、科普、藝術設計、文創等十多個專業領域,以及高等教育[2]、職業教育、技能教育等不同教育層次。
目錄
內容簡介
本書首先介紹了Helium的基本概念,包括單指令多數據(SIMD)、矢量處理、浮點和定點數據表示以及飽和運算等。然後,將指令集分解為幾部分進行詳細探討,包括流水線結構、預測和分支處理、數據處理及內存訪問等。此外,還介紹了Cortex-M55等Helium核心技術的編碼機制,包括編譯、調試和優化。zui後,介紹了如何實現DSP和ML工作負載。
目錄
譯者序
序
前言
第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
第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
參考文獻
- ↑ 談心理健康教育對學生的重要性 ,搜狐,2020-04-12
- ↑ 2020中國高等教育十大關鍵詞,搜狐,2020-12-28