● 摘要
流水线技术是制造高性能CPU的关键技术。随着FPGA(Field Programmable Gate Array,现场可编程门阵列)技术的发展,许多CPU爱好者开始关注于基于FPGA技术CPU IP(Intellectual Property,知识产权)核的设计。本课题旨在设计和实现一个基于FPGA的具有多级流水线结构的CPU。 目标CPU选择了MIPS指令集,MIPS是无内锁流水段微型计算机(Microcomputer without Interlocked Pipeline Stages)的缩略形式,同时也是每秒百万条指令数(Million Instructions Per Second)的双关语。系统在实现过程中采用增量式方法,即从五级流水线结构CPU优化到七级,从CPU核扩展到外围设备。在分析了MIPS系统结构后,设计了目标系统MIPS CPU的功能、指令集、总线结构以及流水线结构,并按流水段对CPU的功能进行详细分析和设计。接着在分析了MIPS CPU中的流水线冲突问题后,设计与实现了数据旁路方法和分支预测方法来解决流水线冲突问题,然后对MIPS CPU流水线结构进一步进行优化以及设计MIPS CPU外围设备。最终的MIPS CPU具有7级流水结构——指令地址计算阶段IAC、取指阶段IF、译码阶段ID、取寄存器操作数阶段REG、执行和有效地址计算阶段EX、存储器访问阶段MEM、写回寄存器阶段WB。CPU流水线结构的设计与实现、数据旁路和分支预测的设计与实现是本课题的重点。 课题的最后是MIPS CPU的验证,首先设计了指令存储器文件的生成过程以及相关工具,然后设计冒泡排序汇编程序以及最小公倍数算法程序并利用它们对MIPS CPU中的流水线结构、MIPS CPU的功能等进行了验证。