【自己动手写CPU】OpenMIPS处理器

在写指令之前,自己动手写cpu那本书还介绍了OpenMIPS处理器计划实现的五级流水线,介绍了该处理器的接口,解释各个源码文件的作用,最后描述OpenMIPS处理器的实现方法。

设计目标

在这里插入图片描述

流水线

流水线:流水线是指将计算机指令处理过程拆分为多个步骤,并通过多个硬件处理单元并行执行来加快指令执行速度。
指令的处理:
取指、译码、执行
假设有3个硬件单元,分别做这三项工作的一项,可以在执行的同时对下一条指令译码,在对下一条指令译码的同时还可以再取一条指令,这就是三级流水线
在这里插入图片描述五级流水线(解决执行阶段过长的方式):
取指、译码、执行、访存、回写
取指时间过长的解决方式:
引入缓存(cache),处理器从缓存读取指令只需要1个周期。

五级流水线示意图:
在这里插入图片描述

各阶段作用

取指阶段: 从指令存储器读出指令,同时确定下一条指令地址
译码阶段: 对指令进行译码,从通用寄存器中读出要使用的寄存器的值,如果指令含有立即数,那么还要将立即数进行符号扩展或者无符号扩展,如果是转移指令,并满足转移条件,那么给出转移目标,作为新的指令地址。
执行阶段: 按照译码阶段给出的操作数、运算类型,进行计算,给出运算结果,如果是load/store指令,那么还会计算load/store的目标地址
访存阶段: 如果是load/store指令,那么在此阶段会访问数据存储器,反之,只是将执行阶段的结果向下传递到回写阶段。同时,在此阶段要判断是否异常需要处理,如果有,清除流水线,然后转移到异常处理例程入口地址处,继续执行。
回写阶段: 将运算结果保存到目标寄存器

指令执行周期

在这里插入图片描述

处理器接口

左边是输入接口,右边是输出接口。
接口分为3类:

  • 系统控制接口(复位、时钟、中断)
  • 指令存储器接口
  • 数据存储接口
    在这里插入图片描述

处理器外部接口描述

在这里插入图片描述

草草结束。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值