首先来张封面图;
再来几张目录图
目录图上传完毕,接下来我们来看下具体每个章节的内容,我大致介绍下每个章节的内容;
第一章节,主要讲述CPU的芯片产品的研发过程,其中介绍芯片的研制过程;芯片定义、芯片设计、芯片制造、芯片封测、芯片验证,还介绍了硅片设计的工作,并介绍九个阶段,明确设计规格、制定设计方案、进行设计描述、功能和性能验证、逻辑综合、版图规划、布局布线、网表逻辑验证,时序检查,版图验证、交付流片;
第二章节,主要讲述硬件实验平台及FPGA设计流程,包括“龙芯CPU设计与体系结构教学实验系统”“硬件实验平台介绍,以及FPGA的一般设计流程和基于Vivado工具的FPGA设计流程,重点介绍了龙芯CPU的实验箱,并介绍FPGA的开发板,也介绍了FPGA的设计流程,电路设计、代码编写、功能仿真、综合实现、上板调试;
第三章节,主要讲述数字逻辑电路设计,结合CPU实际设计开发工作,以及如何使用Verilog代码进行数字逻辑电路设计给出建议,对于复杂的电路设计中,提出“自顶向下,模块划分,层层细化的设计步骤,并对Verilog代码一些硬性规定进行描述,具体需要参照书籍,这里不一一说明;
第四章节,主要讲述简单流水线CPU设计,从一个支持19条指定单周期CPU设计开始,先讨论如何将其改造成不考虑相关冲突的流水线,然后考虑阻塞的解决办法,最后讲解数据前前递设计,书中详细介绍每个MIPS指令,并介绍每个指令是如何传输跟执行的,书籍后面还有一些实践任务,并提供相关的参考资源;
第五章节,介绍在流水线CPU中如何添加运算类指令,主要内容包括在简易的流水线CPU基础上添加算术逻辑运算类指令,乘除法运算类指令,以及乘除法配套的数据搬运指令,书中详细介绍每个指令的添加过程以及条件,还有进行添加过后的仿真和上板验证;
第六个章节,介绍在流水线CPU中添加转移指令和访存指令,主要是在原有的基础上添加条件分支、间接跳转和LINK类转移三类转移指令,以及添加对齐与非对齐访存指令,同样也提供参考实践案例以及上机仿真验证案例;
第七个章节,介绍例外和中断,首先介绍了例外和中断的基本概念讲解,以及MIPS指令系统中的例外和中断的定义进行简要的梳理,然后介绍在完成对于例外和中断的支持,CPU有了这部分的支持之后,就可以运行一些简单的嵌入式的 操作系统,其中的还介绍一种常用的设计思路以及相关的注意事项;
第八章节-第十一章节,主要介绍AXI总线接口设计、TLBMMU设计,高速缓存设计,以及在进阶设计中问题,给出建议,主要涉及启动内核需要补充哪些设计、如何进一步提升主频,如何进行超量设计、如何设计动态调度机制、如何设计转移预测器、如何优化访存性能、如何设计动态调度机制以及如何添加多核支持。
综合所述,整本书结合龙芯的平台去建设FPGA以及基于这个平台,去实践设计CPU,以及各类指令的验证,对于初学者来看,可以参照此书去做一些验证以及实验,适合初学者学习以及参考。