书籍详情
RISC-V架构DSP处理器设计

作者:张志伟
出版社:机械工业出版社
出版时间:2025-07-01
ISBN:9787111764175
定价:¥89.00
购买这本书可以去
内容简介
本书从指令集定义、运算部件、存储结构、工具链开发等诸多环节,系统全面地介绍RISC-V架构DSP的设计过程,并分享了每个设计环节中的思考、原则和技术选择过程,以及如何充分利用开源成果进行敏捷开发。本书是基于RISC-V架构进行DSP设计工程技术实践的成果,其特点是产品导向,注重技术的可操作性和系统性,并进行了必要的创新。
作者简介
张志伟博士,中科院自动化所研究员、博导、学术委员会委员,国家专用集成电路设计工程技术研究中心副主任,数字信号处理器团队课题组组长。专注DSP研发近20年,承担工业和信息化部“核高基”专项、中科院A类先导专项、科技部科技创新2030重大项目、国家自主可控重大专项等国家级DSP研发任务10余项,在DSP体系结构、微体系结构、高性能部件设计和物理设计等方面具有深厚技术积累,相关产品已实现规模应用。
目录
CONTENTS目 录序一序二前言第1章 数字信号处理器简介 11.1 数字信号处理器的发展历程 11.2 数字信号处理器的主要特征 61.2.1 指令集 61.2.2 存储结构 71.2.3 数据格式与算法 71.2.4 运算部件 91.2.5 寻址方式 101.3 数字信号处理器的应用领域 121.4 本章小结 13第2章 RISC-V架构 142.1 RISC-V的发展历程 142.2 RISC-V的优势 152.2.1 技术优势 152.2.2 生态优势 162.2.3 知识产权优势 172.3 RISC-V的主要特征 182.3.1 模块化设计 182.3.2 基础整数指令集 192.3.3 M扩展 232.3.4 F扩展 232.3.5 C扩展 252.3.6 Zifencei扩展 272.3.7 Zicsr扩展 282.3.8 特权架构 292.4 RISC-V开源项目 312.4.1 加州大学伯克利分校 322.4.2 PULP组织 332.4.3 OpenHW组织 332.4.4 lowRISC组织 352.4.5 平头哥 362.4.6 北京开源芯片研究院 372.4.7 印度理工学院马德拉斯分校 372.5 本章小结 38第3章 SpringCore体系结构 393.1 设计目标 393.2 数字信号处理算法 403.3 指令集 423.3.1 支持的数据类型 423.3.2 结构寄存器 433.3.3 控制和状态寄存器 433.3.4 编码概括 443.3.5 指令扩展 453.4 内核结构 473.4.1 取指单元 483.4.2 译码单元 483.4.3 控制单元 483.4.4 执行单元 493.4.5 访存单元 503.4.6 存储空间 513.5 本章小结 51第4章 SpringCore流水线设计 524.1 流水线技术简介 524.2 取指单元 544.2.1 取指单元结构 554.2.2 指令对齐 554.3 译码单元 564.3.1 预译码 574.3.2 基础译码 584.3.3 异常检测 594.3.4 指令发射 604.4 相关检测 614.4.1 数据相关 614.4.2 结构相关 634.4.3 控制相关 664.5 流水线低功耗控制 674.6 循环控制 684.7 控制和状态寄存器 704.8 本章小结 71第5章 访存结构 725.1 存储结构 725.2 存储属性与保护 745.2.1 物理存储属性 755.2.2 安全域 765.2.3 访存保护机制 775.3 访存模块设计 785.3.1 访存功能 785.3.2 访存流水线 815.4 存储一致性 845.4.1 存储一致性定义及意义 845.4.2 存储一致性模型 845.4.3 顺序同步指令及原子指令 865.5 本章小结 87第6章 运算部件 886.1 定点运算部件设计 886.1.1 定点运算部件的结构 896.1.2 超前进位加法器 906.1.3 布什-华莱士树乘法器 936.1.4 乘累加部件 996.1.5 移位器 1006.1.6 基4 SRT除法器 1036.2 浮点运算部件设计 1056.2.1 浮点数据格式 1056.2.2 浮点控制和状态寄存器 1086.2.3 浮点运算部件的结构 1096.2.4 浮点乘加器 1116.2.5 浮点除法和开平方根部件 1166.3 本章小结 121第7章 异常和中断机制 1227.1 异常和中断介绍 1227.2 中断处理机制 1237.2.1 中断类型 1247.2.2 处理器中断控制器 1257.2.3 中断处理机制的流程 1287.3 本章小结 131第8章 调试单元设计 1328.1 JTAG简介 1328.1.1 JTAG背景 1328.1.2 JTAG接口 1338.1.3 TAP控制器 1338.2 调试单元的结构 1358.2.1 调试单元总览 1358.2.2 调试传输模块 1378.2.3 调试模块 1388.2.4 核内调试支持 1448.3 调试处理机制 1458.3.1 调试流程 1458.3.2 复位控制与运行控制 1468.3.3 抽象命令 1478.4 调试功能实现示例 1498.4.1 单步调试 1498.4.2 访问连续存储区域 1508.5 本章小结 151第9章 软件开发环境 1529.1 编译器 1529.1.1 LLVM的工作流程 1539.1.2 LLVM后端的处理流程 1559.1.3 有向无环图 1589.1.4 指令合法化 1629.1.5 调用下降 1639.2 汇编器和反汇编器 1649.2.1 工作过程 1649.2.2 使用方法 1669.3 链接器 1669.3.1 链接器的选择 1679.3.2 链接器松弛 1679.3.3 栈的增长方向 1689.4 模拟器 1689.4.1 模拟器软件架构 1699.4.2 模拟器定制开发 1709.5 调试器 1719.5.1 调试器方案概述 1719.5.2 GDB介绍 1729.5.3 OpenOCD介绍 1729.6 集成开发环境 1739.6.1 软件框架与插件开发 1749.6.2 工程创建与管理 1759.6.3 工具链集成与配置 1759.6.4 调试方案 1769.7 本章小结 177第10章 基于SpringCore的DSP芯片 17810.1 FDM320RV335 17810.2 功能结构 18110.3 引脚说明 18310.4 地址映射 18410.5 低功耗模式 18710.6 原型板卡 18810.7 芯片性能 18910.8 本章小结 191参考文献 192
猜您喜欢



