流水线 MIPS 处理器设计
赵浩然 胡沿名 冯书瀚
(电子科技大学英才实验学院,四川省成都市)
摘要:本文对 32 位 MIPS 架构的功能、指令做了简单介绍,同时借助 Vivado 设计平台利用
Verilog 语言对完成了一种 32 位(每字 4 字节)按字编址,支持多种算数运算指令的 6 周
期流水线 MIPS 处理器架构,通过其指令分别实现了对两个 32 维 16 位数向量卷积运算和对
一个16×16的 16 位数矩阵的行列交织功能,并针对上述基础指令功能和卷积、行列交织扩
展功能进行仿真以及综合上板测试。
关键字:32 位 MIPS ;流水线 ; Vivado ;Verilog ;卷积 ;行列交织 ;FPGA
1 MIPS 简介
MIPS(Microprocessor without Interlocked
Piped Stages)架构于上世纪 80 年代开发并
应用,作为一种 RISC(Reduced Instruction Set
Computing)处理器,MIPS 具有简洁、优性
能、低功耗、高扩展性的特点(例如从初始
的 32 位结构扩展到最新的 64 位结构)。
MIPS 架构采用定长指令集,覆盖了几
乎全部经常使用且功能实用的指令,并利用
寄存器组和高速缓存优化了数据读取、存储
的进程,同时还可以支持多周期处理、流水
线控制等优化方法,以提升处理器的处理性
能。
以 32 位 MIPS 为例,一个基础功能完善
的 MIPS 架构必须满足以下 3 种结构指令的
正常执行:
R 型指令:
R 型指令即为寄存器指令,在 32 位
MIPS 处理器中其长度同样为 32 位,其中操
作码 op 长为 6 位,用以指示指令对应的操
作类型(对 R 型指令而言 op 均为 0); rs、
rt、rd 均为 5 位,对应 32 位 MIPS 中 32 个
寄存器地址,其中 rd 为目的寄存器,rs、rt
均为源寄存器;shamt 字段长 5 位,专用于
移位指令中记录位移量;funct 长为 6 位,用
以区分 R 型指令的功能类型(考虑到 R 型
指令操作码字段 op)。
I 型指令:
J 型指令通常为无条件跳转指令,其中
操作码 op 同样为 6 位,其余 26 位用来得到
跳转的目的地址(并非直接寻址,因为 addr
子段长只有 26 位而 pc 是 32 位)——通常
将 pc 的前 4 位加在 addr 子段前端,并在末
尾添加 00 子段(32 位 MIPS 按字节编址,
所以每条指令或数据占据 4 个存储单元,地
址一定能被4 整除)得到跳转后的目的地址。
为了支持并完成指令集中包含的多种
指令,MIPS 处理器需要完善且尽可能高效
的硬件结构。
用最简单的描述,一个完善且能完成基
础指令执行功能的 MIPS 架构需要包含以下
模块:存储器,用以储存输入的指令和数据
(这一部分实际上并不包含在 MIPS 处理器
中,但对处理器工作的进行无疑是必须的);
寄存器组,在处理器中储存要处理的指令、
数据以及指令执行所得结果等等;算术逻辑
单元 ALU(Arithmetic and Logic Unit),在处
理器中完成指令对应的算术运算和逻辑运
评论0
最新资源