ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MIPS处理器

2022-01-02 17:04:29  阅读:188  来源: 互联网

标签:阶段 32 接口 指令 处理器 流水线 MIPS 时钟


3.1系统设计目标

3.1.1设计目标

教学版的OpenMIPS处理器是一款具有哈佛结构的32位标量处理器,兼容MIPS32Release1指令集架构,可以使用现有的MIPS编译环境,如:GCC编译器等,设计目标如下:

五级流水线

哈佛结构,分开的指令、数据接口
  1. 32个32位整数寄存器
  2. 大端模式
  3. 向量化异常处理,支持精准异常处理
  4. 支持6个外部中断
  5. 具有32bit数据、地址总线宽度
  6. 能实现单周期乘法
  7. 支持延迟转移
  8. 兼容MIPS32指令集架构,支持MIPS32指令集中的所有整数指令
  9. 大多数指令可以在一个时钟周期内完成

3.1.2五级流水线

(一)三级流水可能存在的问题

取指、译码、执行三个阶段未必时间周期都是T,当某一个阶段为2T时,执行阶段会向后移,执行周期会变长。为解决流水线停滞问题,所以引入五级流水。

(二)五级流水线

在这里插入图片描述

访存阶段的作用是从存储器装载数据到寄存器或者将寄存器数据保存到存储器,回写阶段的作用是将数据写入目的寄存器,arm9、OpenMIPS的设计目标也是五级流水线在这里插入图片描述OpenMips实现MIPS32指令集中所有的整数指令,大多数都可以在一个时钟周期内执行完成,所有执行指令完成需要的时钟周期:在这里插入图片描述(1)采用试商法完成除法运算,对于32位的除法,执行阶段至少需要32个时钟周期再加上准备时间的时钟周期,最后需要36个时钟周期才能完成

3.2教学版OpenMIPS处理器接口

教学版OpenMIPS处理器外部接口采用左边是输入接口,右边是输出接口的方式绘制,这样比较直观、便于理解。分为三类:系统控制接口(复位、时钟、中断)、指令存储器接口、数据存储器接口。

在这里插入图片描述

  1. 取指阶段
    在这里插入图片描述

  2. 译码阶段
    在这里插入图片描述在这里插入图片描述

  3. 执行阶段
    在这里插入图片描述

  4. 访存阶段
    在这里插入图片描述

  5. 回写阶段
    在这里插入图片描述

另外还有一个CTRL模块对应ctrl.v文件,用于控制整个流水线的暂停、清除等动作,不将其归于流水线中的某一个阶段。

3.4 实现方法

先考虑最简单的情况,给出代码,然后考虑多一点情况,修改、补充代码,不断的修改,最终使代码实现需求。

第四章中考虑最简单的情况,只实现一条指令,是逻辑“或”指令ori,可以搭建OpenMIPS流水线的结构。在这里插入图片描述

标签:阶段,32,接口,指令,处理器,流水线,MIPS,时钟
来源: https://blog.csdn.net/dieyouxiu/article/details/122269697

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有