自己动手写CPU——第一篇
Posted 海绵宝宝爱学习
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自己动手写CPU——第一篇相关的知识,希望对你有一定的参考价值。
1 设计目标
从本章开始将一步一步实现教学版 openMIPS处理器。首先介绍系统的设计目标,其中详细说明了openMIPS处理器计划实现的5级流水线。
1.1 设计目标
openmips 设计的目标如下:
- 五级流水线,分别是:取指、译码、执行、访存、回写
- 哈佛结构。分开的指令和数据接口
- 32个32位整数寄存器
- 大端模式
- 向量化异常处理,支持精确异常处理
- 支持6个外部中断
- 具有32bit数据、地址总线宽度
- 能实现单周期乘法
- 支持延迟转移
10.兼容MIPS32指令集架构,支持MIPS32指令集中的所有整数指令 - 大多数指令可以在一个时钟周期内完成
1.2 五级流水线
- 取指阶段:从指令寄存器读出指令,同时确定下一条指令地址
- 译码阶段:对指令进行译码,从通用寄存器中读出要使用的寄存器的值,如果指令中含有立即数,那么还要将立即数进行符号扩展或者无符号扩展。如果是转移指令,并且满足转移条件,那么给出转移目标,作为新的指令地址。
- 执行阶段:按照译码阶段给出的操作数、运算类型、进行运算,给出运算结果。如果是Load store指令,那么还会计算 load store的目标地址。
- 访存阶段:如果是load store指令,那么在此阶段会访问数据存储器,反之,只是将执行阶段的结果向下传递到回写阶段。同时在此阶段还要判断是否有异常需要处理。如果有,那么会清除流水线,然后转移到异常处理例程入口地址处继续执行。
- 回写阶段:将运算结果保存到目标寄存器。
自己动手写cpu光盘资源
链接
提取码:22qo
以上是关于自己动手写CPU——第一篇的主要内容,如果未能解决你的问题,请参考以下文章