OpenMIPS处理器

Posted on Apr 13, 2021

最近在看《自己动手写CPU》,实现一个 5级流水线的 OpenMIPS处理器。这篇文章记录保存实现过程中用到的元器件接口以及系统结构结构图,主要为图片内容,方便查阅。

教学版OpenMIPS处理器蓝图

外部接口

文件说明

流水线各个阶段对应的模块、文件

数据相关

逻辑、移位指令的数据相关

HI、LO寄存器带来的数据相关

数据流图

只实现一条指令的ori时的数据流图

添加了数据前推的OpenMIPS数据流图(回写、译码数据相关通过判断即可解决)

添加了移动操作指令后的数据流图

解决HI、寄存器带来的数据相关问题后的数据流图

增加算术操作后的数据流图

为实现转移指令而修改的数据流图

实现mips32指令集中所有整数指令之后的数据流图

系统结构图

原始的OpenMIPS五级流水线系统结构图(用于实现ori指令)

为实现数据前推而对OpenMIPS结构所做的修改

为实现移动操作而对OpenMIPS结构所做的修改

为实现流水线暂停机制而对系统结构所做的修改

为实现转移指令而对系统结构所做的修改

SOPC 实现

最小SOPC实现

确定指令种类

逻辑、移位操作与空指令

移动操作指令

算术操作指令

算术操作指令

乘累加、乘累减指令

转移指令