|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
《自己动手写CPU》1-5章
自己动手写CPU(1-5章).rar
(2.13 MB, 下载次数: 2708 )
全书共15章,分为三部分,第一部分是理论篇,包含第1-2章,介绍了指令集架构、Verilog HDL的相关知识。第二部分是基础篇,包含第3-11章,采用增量模型,实现了教学版OpenMIPS处理器。第三部分是进阶篇,包含第12-15章,实现了实践版OpenMIPS处理器,并为其移植了嵌入式实时操作系统μC/OS-II。每章的主要内容如下。
 第一部分 理论篇
第1章给出了计算机的简单组成模型、简单使用模型,对比了RISC与CISC,说明了指令集架构的作用,并列举了目前几种主要的指令集架构,由于OpenMIPS采用的是MIPS32指令集架构,所以本章后半部分重点介绍了MIPS32指令集架构。
第2章介绍了FPGA、Verilog HDL的基础知识,FPGA是可编程逻辑器件的一种,本书的实践版OpenMIPS处理器就将在FPGA上运行。

第二部分 基础篇
第3章介绍了教学版OpenMIPS处理器的设计蓝图,包括设计目标、处理器接口,以及最终完成时,组成OpenMIPS的各个模块的作用,力图使读者有一个整体认识。并在本章详述了OpenMIPS处理器的实现方法。
第4章实现了OpenMIPS处理器的第一条指令ori,之所以选择这条指令作为我们实现的第一条指令,就因为它足够简单,指令ori用来实现逻辑“或”运算,通过这条简单指令的实现,初步建立了OpenMIPS的五级流水线结构,后续章节实现其余指令的时候,都是在这个初步建立的流水线结构基础上进行扩充。本章还建立了用于测试的小型SOPC,并通过ModelSim仿真验证ori指令、五级流水线实现的正确与否。
第5章讨论并解决了流水线数据相关问题,然后修改前一章的OpenMIPS,添加实现了MIPS32指令集架构中定义的逻辑、移位操作与空指令。
第6章添加实现了MIPS32指令集架构中定义的移动操作指令。
第7章添加实现了MIPS32指令集架构中定义的算术操作指令。
第8章添加实现了MIPS32指令集架构中定义的转移指令,OpenMIPS支持延迟转移。
第9章添加实现了MIPS32指令集架构中定义的加载存储指令。第10章添加实现了MIPS32指令集架构中定义的协处理器CP0,以及协处理器访问指令。
第11章添加实现了MIPS32指令集架构中定义的异常相关指令,并实现了异常处理。
在每一类指令的实现过程中,都是先介绍该类指令的格式、作用、用法,然后介绍实现思路,接着通过修改代码实现该类指令,最后,编写测试程序,使用仿真的方式验证实现的正确性。
 第三部分 进阶篇
第12章在教学版OpenMIPS处理器的基础上,通过添加Wishbone总线接口模块,实现了实践版OpenMIPS处理器。
第13章设计实现了基于实践版OpenMIPS处理器的小型可编程片上系统SOPC。该SOPC包括GPIO、UART控制器、Flash控制器、SDRAM控制器等模块,这些模块都具有Wishbone总线接口,与OpenMIPS处理器一起挂接在Wishbone总线互联矩阵上。
第14章将上一章实现的小型SOPC下载到实际的硬件平台上,编写测试程序,验证实践版OpenMIPS处理器实现的正确性。
第15章介绍了嵌入式实时操作系统μC/OS-II,并将其移植到本书设计的OpenMIPS处理器上,进一步验证了实践版OpenMIPS处理器实现的正确性,也为OpenMIPS处理器发挥实际作用奠定了基础。 |
|