您好,欢迎光临有路网!
CPU设计实战
QQ咨��:
有路璐璐:

CPU设计实战

  • 作者:汪文祥,邢金璋
  • 出版社:机械工业出版社
  • ISBN:9787111674139
  • 出版日期:2021年04月01日
  • 页数:0
  • 定价:¥99.00
  • 猜你也喜欢

    分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书面向初学者,以实战的方式带领读者了解CPU设计的流程,并从零开始逐步开发出自己的CPU。本书将计算机组成与体系结构的理论知识和工业实践充分结合,使读者在实际的CPU设计与开发过程中更加深入地理解计算机系统的工作原理,掌握CPU设计理念、方法和技术。 本书共分为三个部分,*部分介绍CPU的研发过程以及FPGA、数字逻辑电路等相关知识;第二部分先介绍简单流水线CPU设计,在此基础上添加指令、例外、中断、总线、高速缓存等功能,完成一个具有基本功能的CPU;第三部分介绍如何增加各种**功能,*终形成一个具有丰富功能的CPU。 本书深入浅出、层次清晰,并融入了典型的CPU开发相关的技术问题,既可以作为高等院校计算机及相关专业本科生和研究生的CPU开发类课程的教材,也可以作为从事CPU相关研发工作的专业人员的参考书。
    目录
    丛书序言 序 前言 第1章 CPU芯片研发过程概述 1 1.1 处理器和处理器核 1 1.2 芯片产品的研制过程 2 1.3 芯片设计的工作阶段 3 第2章 硬件实验平台及FPGA设计流程 5 2.1 硬件实验平台 5 2.1.1 龙芯CPU设计与体系结构教学实验系统 5 2.1.2 龙芯计算机系统能力培养远程实验平台 7 2.2 FPGA的设计流程 8 2.2.1 FPGA的一般设计流程 9 2.2.2 基于Vivado的FPGA设计流程 10 2.2.3 Vivado使用小贴士 33 2.3 任务与实践 35 第3章 数字逻辑电路设计基础 36 3.1 数字逻辑电路设计与Verilog代码开发 36 3.1.1 面向硬件电路的设计思维方式 37 3.1.2 行为描述的Verilog编程风格 38 3.1.3 自顶向下的设计划分过程 38 3.1.4 常用数字逻辑电路的Verilog描述 39 3.2 数字逻辑电路功能仿真的常见错误及其调试方法 55 3.2.1 功能仿真波形分析 56 3.2.2 波形异常类错误的调试 60 3.3 进一步使用Vivado 66 3.3.1 定制同步RAM IP核 66 3.3.2 定制异步RAM IP核 68 3.3.3 查看时序结果和资源利用率 69 3.4 任务与实践 69 3.4.1 实践任务一:寄存器堆仿真 70 3.4.2 实践任务二:同步RAM和异步RAM仿真、综合与实现 71 3.4.3 实践任务三:数字逻辑电路的设计与调试 72 第4章 简单流水线CPU设计 74 4.1 设计一个简单的单周期CPU 75 4.1.1 设计单周期CPU的总体思路 75 4.1.2 单周期CPU的数据通路设计 76 4.1.3 单周期CPU的控制信号生成 88 4.1.4 复位的处理 91 4.2 不考虑相关冲突的流水线CPU设计 92 4.2.1 添加流水级间缓存 92 4.2.2 同步RAM的引入 93 4.2.3 调整更新PC的数据通路 96 4.2.4 不考虑相关冲突情况下流水线控制信号的设计 96 4.3 CPU设计开发环境(CPU_CDE) 97 4.3.1 快速上手CPU设计的开发环境 97 4.3.2 CPU设计开发环境的组织与结构 99 4.3.3 CPU设计开发环境使用进阶 113 4.4 CPU设计的功能仿真调试技术 117 4.4.1 为什么要用基于Trace比对的调试辅助手段 117 4.4.2 基于Trace比对调试手段的盲区及其对策 119 4.4.3 学会阅读汇编程序和反汇编代码 119 4.4.4 CPU调试中要抓取的信号以及如何看这些信号 124 4.5 指令相关与流水线冲突 125 4.5.1 处理寄存器写后读数据相关引发的流水线冲突 126 4.5.2 转移计算未完成 127 4.6 流水线数据的前递设计 127 4.6.1 前递的数据通路设计 128 4.6.2 前递的流水线控制信号调整 130 4.6.3 前递引发的主频下降 131 4.7 任务与实践 131 4.7.1 实践任务一:简单CPU参考设计调试 132 4.7.2 实践任务二:用阻塞技术解决相关引发的冲突 132 4.7.3 实践任务三:用前递技术解决相关引发的冲突 133 第5章 在流水线中添加运算类指令 134 5.1 算术逻辑运算类指令的添加 134 5.1.1 ADD、ADDI和SUB指令的添加 134 5.1.2 SLTI和SLTIU指令的添加 135 5.1.3 ANDI、ORI和XORI指令的添加 135 5.1.4 SLLV、SRLV和SRAV指令的添加 135 5.2 乘除法运算类指令的添加 136 5.2.1 调用Xilinx IP实现乘除法运算���件 136 5.2.2 电路级实现乘法器 140 5.2.3 电路级实现除法器 147 5.3 乘除法配套数据搬运指令的添加 154 5.3.1 乘法运算实现为单周期的情况 155 5.3.2 乘法运算实现为多周期流水的情况 155 5.4 任务与实践 156 第6章 在流水线中添加转移指令和访存指令 157 6.1 转移指令的添加 157 6.1.1 BGEZ、BGTZ、BLEZ和BLTZ指令 158 6.1.2 J指令 158 6.1.3 BLTZAL和BGEZAL指令 158 6.1.4 JALR指令 158 6.2 访存指令的添加 158 6.2.1 LB、LBU、LH和LHU指令的添加 158 6.2.2 SB和SH指令的添加 159 6.2.3 非对齐访存指令的说明 160 6.2.4 LWL和LWR指令的添加 162 6.2.5 SWL和SWR指令的添加 164 6.3 任务与实践 164 第7章 例外和中断的支持 166 7.1 例外和中断的基本概念 166 7.1.1 例外是一套软硬件协同处理的机制 166 7.1.2 **例外 167 7.2 MIPS指令系统中与例外相关的功能定义 168 7.2.1 CP0寄存器 168 7.2.2 例外产生条件的判定 168 7.2.3 例外入口 170 7.2.4 MFC0和MTC0指令 170 7.2.5 ERET指令 170 7.3 流水线CPU实现例外和中断的设计要点 170 7.3.1 例外检测逻辑 170 7.3.2 **例外的实现 172 7.3.3 CP0寄存器 173 7.3.4 CP0冲突 179 7.4 任务与实践 180 7.4.1 实践任务一:添加syscall例外支持 181 7.4.2 实践任务二:添加其他例外支持 181 第8章 AXI总线接口设计 184 8.1 类SRAM总线 184 8.1.1 主方和从方 185 8.1.2 类SRAM总线接口信号的定义 185 8.1.3 类SRAM总线的读写时序 186 8.1.4 类SRAM

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外