1.理论知识
精简指令集,是计算机中央处理器的一种设计模式,也被称为RISC(ReducedInstructionSetComputing的缩写)。这种设计思路对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高。常用的精指令集微理器包括DECAlpha、ARC、ARM、AVR、MIPS、PA-RISC、PowerArchitecture(包括PowerPC)和SPARC等 。大部分RISC具有以下特点:
- 优先选取使用频率最高的一些简单指令,以及一些很有用但不复杂的指令。避免使用复杂指令。
- 大多数指令在一个机器周期内完成。
- 采用LOAD/STORE结构。由于访问主存指令花费的时间较长,因此在指令系统中应尽量减少访问主存指令,而只保留不能再减掉的LOAD(取数)和STORE(存数)两种防存指令
- 采用简单的指令格式和寻址方式,指令长度固定。
- 固定的指令格式。指令字长、格式固定,可简化指令的译码逻辑,有利于提高流水的执行效率。
- 面向寄存器的结构。为减少访问贮存期,CPU内应设大量的通用寄存器。
- 采用硬布线控制逻辑。由于指令系统的精简,控制部件可由组合逻辑实现,不用或减少微程序控制,这样可使控制部件的速度大大提高。
- 注重编译的优化,力求有效的支撑高级语言程序。
MIPS CPU是一种RISC结构的CPU。MIPS提供了32个32位的通用寄存器,各寄存器的编号、名称和功能如表1.1所示。
MIPS将寻址方式与指令的操作码相关联,因此不再独立设置寻址方式特征位字段。所有指令都是32位,分为R型、I型和J型3种指令类型,其结构如表1.2所示。
其中R型指令中funct字段常用编码见表1.3。
2.总体设计方案
2.1硬件设计
本次我们采用的方案是16位MIPS CPU,数据与指令分开存放,采用硬布线控制逻辑,运算中的数据均存放于寄存器中。同时在实施的过程中,采用FPGA全下载方式、自己设计时序电路及寄存器和控制逻辑。
2.1.1数据通路
数据通路采用的书上的单周期方案数据通路(教材为秦磊华主编的计算机组成原理,清华大学出版社),基本功能部件包括:程序寄存器、多路选择器、寄存器堆、数据存储器、指令存储器、符号扩展单元、加法器和ALU。高层视图如图2.1.1所示。
图2.1.1 单周期方案数据通路高层视图
2.1.2ALU
运算器部分电路是下载到FPGA中完成的,由于我们实现的是16位的指令和数据系统,故需要设计16位的运算器。运算器采用181和182拼接实现,输入为A、B16位输入及控制位输入,输出为16位结果及比较相等输出。
2.1.3指令存储器
此部分通路中,主要为一片ROM做指令存储器,在程序运行之前,所有的指令都已经事先存储在这里,运行程序时,从指令存储器中读出指令执行。基本框图如图2.1.3所示。
图2.1.3指令存储器
2.1.4数据存储器
数据存储器用来保存运算结果,可读可写,运算中提供数据及地址。基本框图如图2.1.4所示。