书籍详情
魂芯V-A智能处理器系统及其应用设计
作者:朱家兵 等
出版社:电子工业出版社
出版时间:2023-10-01
ISBN:9787121464058
定价:¥99.00
内容简介
本书重点介绍魂芯 V-A 智能处理器的基本工作原理,包括处理器结构、存储器组织、中断服务、时钟管理、系统加载、系统配置、指令集系统和神经网络模型开发等,以及基于魂芯 V-A 智能处理器的程序设计和系统应用设计。 魂芯 V-A 智能处理器集成了4个RISC-V的CPU核和4个神经网络加速器核,为人工智能边缘计算提供了高效和可靠的硬件算力,也为电子装备和信息系统智能化提供了坚实的基础。
作者简介
朱家兵,男,1970年11月出生,博士(后),研究员/教授/科研处副处长,博士生导师。安徽省高层次人才,安徽省高校领军人才,安徽省急需紧缺人才, 科技奖励网评专家,安徽省科技厅科技重大专项会评专家,安徽省科技奖励网评专家,安徽省经信厅科技项目会评专家,安徽省数字资源局科技项目会评专家,湖南省科技厅科技项目网评专家,合肥市科技局科技专家库成员,淮南市\"50?科技之星”创新团队负责人,淮南师范学院领军人才。主持和参与 \"核高基”重大科技专项、 自然科学资金和省部委多项课题,获省部级科研奖励3项( ),申请 发明专利10项(授权7项);以 作者或通信作者在IEEE/IET和 核心期刊上发表论文40多篇,其中SCI/EI收录30多篇。目前受邀担任《北京理工大学学报》、《电子与信息学报》、《雷达学报》、《兵工学报》和《中国电子科学研究院学报》等多个核心学术期刊的审稿人;指导已毕业博士和硕士研究生多人。
目录
目 录
第1章 概述 1
1.1 智能处理器概述 1
1.2 性能介绍 3
1.3 智能处理器架构概述 4
1.4 片上互联 5
第2章 CPU内核 8
2.1 概述 8
2.2 主要特征 8
2.3 向量协处理器 9
2.4 存储层次结构 9
2.4.1 内存模型 9
2.4.2 L1 ICache 10
2.4.3 L1 DCache 11
2.4.4 L2 Cache 13
2.5 内存保护 13
2.5.1 虚拟内存保护 13
2.5.2 物理内存保护 15
2.6 中断及异常 16
2.6.1 处理过程 16
2.6.2 局部中断控制器 18
2.6.3 平台级别中断控制器 20
2.7 调试接口 22
2.8 指令集 23
2.8.1 标准指令集 23
2.8.2 C910扩展指令集 41
2.9 寄存器 42
2.9.1 通用寄存器 42
2.9.2 浮点寄存器 43
2.9.3 向量寄存器 44
2.9.4 系统控制寄存器 44
第3章 神经网络加速器 81
3.1 主要特征 82
3.2 整体结构 82
3.3 功能描述 84
3.4 中断 85
3.5 寄存器 86
3.6 应用说明 87
第4章 存储子系统和地址空间 89
4.1 存储子系统 89
4.2 地址空间 90
第5章 中断系统 93
5.1 PLIC中断处理机制 93
5.2 中断号映射表 94
第6章 时钟与复位 98
6.1 简介 98
6.2 功能框图 98
6.3 系统时钟 99
6.4 PLL介绍 101
6.5 系统复位 102
6.6 寄存器描述 103
6.6.1 寄存器列表 103
6.6.2 寄存器功能定义 106
6.7 引脚说明 122
第7章 系统的加载与配置 123
7.1 系统的加载 123
7.1.1 加载配置 123
7.1.2 映像文件生成工具 124
7.1.3 ROM加载过程 125
7.1.4 二次加载过程 126
7.2 系统的配置 130
7.2.1 引脚说明 130
7.2.2 寄存器 130
第8章 CPU用户编程 160
8.1 CPU软件环境概述 160
8.2 CPU硬件环境概述 162
8.2.1 通用寄存器 162
8.2.2 中断和异常机制 163
8.2.3 PMP 163
8.2.4 Cache 163
第9章 调试系统用户使用说明 166
9.1 调试系统概述 166
9.2 调试系统组成 166
9.2.1 GDB 166
9.2.2 调试代理服务程序 168
9.2.3 在线仿真器 169
9.3 调试操作 169
0章 CPU前后台环境使用说明 171
10.1 CPU前后台环境概述 171
10.2 接口说明 172
10.2.1 标准C/C++库接口使用方法 172
10.2.2 前后台设备驱动接口使用方法 179
10.2.3 BSP接口使用方法 180
10.3 开发过程 183
10.4 示例程序 186
1章 CPU Linux操作系统使用说明 192
11.1 CPU Linux操作系统概述 192
11.2 用户使用指南 192
11.2.1 操作系统启动流程及用户登录方法 192
11.2.2 shell界面使用方法 193
11.2.3 调试功能 193
11.2.4 内核事件分析 195
11.2.5 包管理器 196
11.3 设备树说明 197
11.4 用户开发流程及示例 198
11.4.1 用户程序的基本开发流程 198
11.4.2 系统调用编程示例 200
11.4.3 Pthread编程示例 201
11.4.4 Socket编程示例 212
11.4.5 接口说明 220
2章 神经网络模型开发 221
12.1 概述 221
12.1.1 特性介绍 222
12.1.2 HXAI工具链 222
12.2 模型转换 223
12.2.1 简介 223
12.2.2 转换办法 223
12.3 模型剪枝 225
12.3.1 简介 225
12.3.2 剪枝方法 226
12.4 模型量化 228
12.4.1 简介 228
12.4.2 量化方法 229
12.4.3 模型量化效果 231
12.5 模型推理 232
12.5.1 简介 232
12.5.2 推理方法 232
12.6 模型导出 233
12.6.1 简介 233
12.6.2 导出方法 233
12.7 典型网络示例 234
12.7.1 简介 234
12.7.2 ResNet网络示例 234
12.7.3 YOLOv3网络示例 239
12.7.4 DeepLabv3语义分割网络示例 241
12.7.5 汽车检测示例 245
12.7.6 OpenPose网络示例 248
12.7.7 人脸检测RetinaFace网络示例 251
12.7.8 RNN手写数字识别案例 254
12.7.9 LSTM手写数字识别案例 257
12.7.10 RNN语句情感分类推理案例 262
12.7.11 LSTM语句情感分类推理案例 265
3章 开发板设计 269
13.1 开发板简介 269
13.2 硬件参数 269
13.3 评估套件清单 278
附录A 279
第1章 概述 1
1.1 智能处理器概述 1
1.2 性能介绍 3
1.3 智能处理器架构概述 4
1.4 片上互联 5
第2章 CPU内核 8
2.1 概述 8
2.2 主要特征 8
2.3 向量协处理器 9
2.4 存储层次结构 9
2.4.1 内存模型 9
2.4.2 L1 ICache 10
2.4.3 L1 DCache 11
2.4.4 L2 Cache 13
2.5 内存保护 13
2.5.1 虚拟内存保护 13
2.5.2 物理内存保护 15
2.6 中断及异常 16
2.6.1 处理过程 16
2.6.2 局部中断控制器 18
2.6.3 平台级别中断控制器 20
2.7 调试接口 22
2.8 指令集 23
2.8.1 标准指令集 23
2.8.2 C910扩展指令集 41
2.9 寄存器 42
2.9.1 通用寄存器 42
2.9.2 浮点寄存器 43
2.9.3 向量寄存器 44
2.9.4 系统控制寄存器 44
第3章 神经网络加速器 81
3.1 主要特征 82
3.2 整体结构 82
3.3 功能描述 84
3.4 中断 85
3.5 寄存器 86
3.6 应用说明 87
第4章 存储子系统和地址空间 89
4.1 存储子系统 89
4.2 地址空间 90
第5章 中断系统 93
5.1 PLIC中断处理机制 93
5.2 中断号映射表 94
第6章 时钟与复位 98
6.1 简介 98
6.2 功能框图 98
6.3 系统时钟 99
6.4 PLL介绍 101
6.5 系统复位 102
6.6 寄存器描述 103
6.6.1 寄存器列表 103
6.6.2 寄存器功能定义 106
6.7 引脚说明 122
第7章 系统的加载与配置 123
7.1 系统的加载 123
7.1.1 加载配置 123
7.1.2 映像文件生成工具 124
7.1.3 ROM加载过程 125
7.1.4 二次加载过程 126
7.2 系统的配置 130
7.2.1 引脚说明 130
7.2.2 寄存器 130
第8章 CPU用户编程 160
8.1 CPU软件环境概述 160
8.2 CPU硬件环境概述 162
8.2.1 通用寄存器 162
8.2.2 中断和异常机制 163
8.2.3 PMP 163
8.2.4 Cache 163
第9章 调试系统用户使用说明 166
9.1 调试系统概述 166
9.2 调试系统组成 166
9.2.1 GDB 166
9.2.2 调试代理服务程序 168
9.2.3 在线仿真器 169
9.3 调试操作 169
0章 CPU前后台环境使用说明 171
10.1 CPU前后台环境概述 171
10.2 接口说明 172
10.2.1 标准C/C++库接口使用方法 172
10.2.2 前后台设备驱动接口使用方法 179
10.2.3 BSP接口使用方法 180
10.3 开发过程 183
10.4 示例程序 186
1章 CPU Linux操作系统使用说明 192
11.1 CPU Linux操作系统概述 192
11.2 用户使用指南 192
11.2.1 操作系统启动流程及用户登录方法 192
11.2.2 shell界面使用方法 193
11.2.3 调试功能 193
11.2.4 内核事件分析 195
11.2.5 包管理器 196
11.3 设备树说明 197
11.4 用户开发流程及示例 198
11.4.1 用户程序的基本开发流程 198
11.4.2 系统调用编程示例 200
11.4.3 Pthread编程示例 201
11.4.4 Socket编程示例 212
11.4.5 接口说明 220
2章 神经网络模型开发 221
12.1 概述 221
12.1.1 特性介绍 222
12.1.2 HXAI工具链 222
12.2 模型转换 223
12.2.1 简介 223
12.2.2 转换办法 223
12.3 模型剪枝 225
12.3.1 简介 225
12.3.2 剪枝方法 226
12.4 模型量化 228
12.4.1 简介 228
12.4.2 量化方法 229
12.4.3 模型量化效果 231
12.5 模型推理 232
12.5.1 简介 232
12.5.2 推理方法 232
12.6 模型导出 233
12.6.1 简介 233
12.6.2 导出方法 233
12.7 典型网络示例 234
12.7.1 简介 234
12.7.2 ResNet网络示例 234
12.7.3 YOLOv3网络示例 239
12.7.4 DeepLabv3语义分割网络示例 241
12.7.5 汽车检测示例 245
12.7.6 OpenPose网络示例 248
12.7.7 人脸检测RetinaFace网络示例 251
12.7.8 RNN手写数字识别案例 254
12.7.9 LSTM手写数字识别案例 257
12.7.10 RNN语句情感分类推理案例 262
12.7.11 LSTM语句情感分类推理案例 265
3章 开发板设计 269
13.1 开发板简介 269
13.2 硬件参数 269
13.3 评估套件清单 278
附录A 279
猜您喜欢