类似推荐
编辑推荐
系统介绍如何从零开始一步步设计出一个入门级的CPU。
内容简介
全书从逻辑上分为三个部分。
第一部分(第1~3章)介绍产业界进行CPU研发的过程以及本地与远程 FPGA实验平台、FPGA上板实现、Verilog应用实例等CPU设计中必要的基础知识。
第二部分(第4~10章)从一个仅实现5条指令的单周期CPU设计开始,逐步引入流水线设计,添加指令,增加异常和中断的支持,并完成A线接口、TLB MMU 和高速缓存的设计与实现,最终完成一个入门级的CPU的设计。
第三部分(第11~12章)为准备进阶设计的读者给出一些指导和建议,包括进阶实验开发环境与常用的设计优化方案。
作者简介
作者汪文祥,博士,正高级工程师,龙芯中科技术股份有限公司处理器核首席架构师,中国科学院大学岗位教授。主要研究方向为处理器体系结构设计、处理器验证及计算机系统性能分析优化等。
章节目录
版权信息
序
前言
第1章 CPU芯片研发过程概述
1.1 处理器和处理器核
1.2 芯片产品的研制过程
1.3 芯片设计的工作阶段
第2章 硬件实验平台及FPGA设计流程
2.1 硬件实验平台
2.2 FPGA的设计流程
2.3 任务与实践
第3章 数字逻辑电路设计基础
3.1 数字逻辑电路设计与Verilog代码开发
3.2 数字逻辑电路功能仿真的常见错误及调试方法
3.3 任务与实践
第4章 单周期CPU设计
4.1 设计一个5条指令的单周期CPU
4.2 验证5条指令的单周期CPU
4.3 设计一个20条指令的单周期CPU
4.4 验证20条指令的单周期CPU
4.5 CPU设计实验功能仿真调试技术
4.6 任务与实践
第5章 简单流水线CPU设计
5.1 不考虑相关冲突的流水线CPU设计
5.2 指令相关与流水线冲突
5.3 流水线数据前递设计
5.4 CPU设计实验功能仿真调试技术进阶
5.5 任务与实践
第6章 在流水线中添加普通用户态指令
6.1 算术逻辑运算类指令的添加
6.2 乘除法运算类指令的添加
6.3 转移指令的添加
6.4 访存指令的添加
6.5 任务与实践
第7章 异常和中断的支持
7.1 异常和中断的基本概念
7.2 LoongArch指令系统中与异常相关的功能定义
7.3 流水线CPU实现异常和中断的设计要点
7.4 其他指令的实现
7.5 任务与实践
第8章 AXI总线接口设计
8.1 类SRAM总线
8.2 类SRAM总线的设计
8.3 AXI总线协议
8.4 类SRAM-AXI的转接桥设计
8.5 任务与实践
第9章 存储管理单元设计
9.1 存储管理单元相关规范定义梳理
9.2 TLB模块设计分析
9.3 MMU相关CSR与指令的实现
9.4 利用MMU进行虚实地址转换及MMU相关异常的实现
9.5 任务与实践
第10章 Cache设计
10.1 Cache模块的设计
10.2 将Cache集成至CPU中
10.3 Cache维护指令
10.4 任务与实践
第11章 进阶实验开发环境
11.1 chiplab开发环境组织与构成
11.2 chiplab开发环境的推荐使用方式
11.3 软件仿真功能验证
11.4 FPGA上板功能验证
第12章 进阶设计
12.1 提升主频的常用方法
12.2 超标量流水线的实现
12.3 动态调度机制的实现
12.4 硬件转移预测技术
12.5 访存优化技术
12.6 多核处理器的实现
附录
附录A 龙芯CPU设计与体系结构教学实验系统
附录B Vivado的安装
附录C Vivado使用入门
附录D Vivado使用进阶
CPU设计实战:LoongArch版是2024年由机械工业出版社出版,作者汪文祥。
得书感谢您对《CPU设计实战:LoongArch版》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。