第3章:教学版OpenMIPS处理器蓝图

2024-03-12 19:08

本文主要是介绍第3章:教学版OpenMIPS处理器蓝图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

3.1 系统设计目标

3.1.1 设计目标

该书第二篇设计实现教学版OpenMIPS处理器,是一款具有哈佛结构的32位标量处理器,好处是:

  • 五级整数流水线:分别是取指,译码,执行,访存,会写
  • 哈佛结构,分开的指令,数据接口
  • 32个32位整数寄存器
  • 大端模式
  • 向量化异常处理,支持,精确异常处理
  • 支持6个外部中断
  • 具有32bit数据,地址总线宽度
  • 能实现单周期乘法
  • 支持延迟转移
  • 兼容MIPS32指令集架构
  • 大多数指令可以在一个时钟周期内完成

3.1.2 五级流水线

在这里插入图片描述

  1. 取指令时间过长:有可能取指令的时间不止T,则运行效率变低:
    在这里插入图片描述
    解决取指令时间过长的方案是引入缓存(Cache),处理器从缓存读取指令只需要一个时钟周期

  2. 执行时间过长:比如加载/存储指令(Load/Store),涉及访问存储器,执行阶段时间大于T,此时也会导致流水线停滞。
    解决方案是引入五级流水
    在这里插入图片描述

  • 取指:指令存储器读出指令,同时确定下一条指令地址
  • 译码:对指令进行译码,从通用寄存器读出要使用的寄存器的值,是转移指令且满足条件,给出新的指令的地址
  • 执行:按照译码阶段给出的操作数,运算类型进行运算,给出结果,如果是Load/Store指令,还会给出目标地址
  • 访存:如果是Load/Store指令,此阶段会访问数据存储器,否则只是讲执行结果向下传递到回写阶段。同时判断是否有异常需要处理,如果有,则清除流水线,转移到异常处理例程入口地址继续执行
  • 回写:将运算结果保存到目标寄存器

3.1.3 指令执行周期

在这里插入图片描述

3.2 教学版OpenMIPS处理器接口

在这里插入图片描述
在这里插入图片描述

3.3 文件说明

在这里插入图片描述

3.4 实现方法

增量模型概念,从简单开始,一步步补充
在这里插入图片描述
在这里插入图片描述

这篇关于第3章:教学版OpenMIPS处理器蓝图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/802281

相关文章

Spring点滴五:Spring中的后置处理器BeanPostProcessor讲解

https://www.cnblogs.com/sishang/p/6576665.html BeanPostProcessor接口作用:      如果我们想在Spring容器中完成bean实例化、配置以及其他初始化方法前后要添加一些自己逻辑处理。我们需要定义一个或多个BeanPostProcessor接口实现类,然后注册到Spring IoC容器中。   package com.t

【SpringMVC学习05】SpringMVC中的异常处理器

SpringMVC在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。 异常处理思路 我们知道,系统中异常包括两类:预期异常和运行时异常(RuntimeException),前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。系统的dao、service、controller出现异常都通过throws E

AI产品经理成长蓝图:从入门到精通的学习路径指南

AI产品经理区别于普通产品经理的地方,不止在懂得AI算法,更重要的是具有AI思维。 人工智能产品设计要以操作极度简单为标准,但是前端的简单代表后端的复杂,系统越复杂,才能越智能。 同样,人工智能的发展依赖于产业生态的共同推进,上游芯片提供算力保障,中游人工智能厂商着力研发算法模型,下游应用领域提供落地场景。 一、人工智能产业链结构 人工智能产业链结构上可分为基础层(计算基础设施)、技术层(

Makefile问答之02 预处理器与宏

GCC Makefile中,怎样设定预处理器名称 在 GCC 的 Makefile 中,预处理器(preprocessor)的名称通常是 cpp(C PreProcessor),但在实际的 Makefile 中,我们一般是通过 gcc 命令来调用预处理器,而不是直接调用 cpp。不过,你可以通过设置 CPP 变量来显式指定预处理器名称和选项。以下是如何在 Makefile 中进行设置和使用的

UE4尝试用C++创建蓝图并添加变量

目标 使用C++创建蓝图资源,并尝试给蓝图添加变量。 (引擎版本4.26) 步骤0. 创建测试用插件 使用编辑器工具栏按钮为模板创建插件。 使用这个模板的理由是它初始会有个按钮,可以用来触发操作: 之后将会替换这其中所触发的操作。 步骤1. 创建蓝图 对KismetEditorUtilities.h进行include,因为创建蓝图需要用到其中的方法: #include"Kismet

MT6895(天玑8100)处理器规格参数_MTK联发科平台方案

MT6895平台 采用台积电5nm工艺,与天玑 8000 相比性能提升 20% ,搭载4 个 2.85GHz A78 核心 + 4 个 2.0GHz A55 核心,CPU能效比上一代提高 25% 。GPU 采用了第三代的Valhall Arm Mali-G610 MC6架构,拥有6核心,搭配天玑8100所拥有的HyperEngine5.0带来 5G 和 Wi-F i网络技术升级,包括 AI-VRS

Shell编程:文本处理器(cut、split、paste、eval 命令)

文章目录 文本处理器 2cut 命令-快速裁剪语法格式常用选项示例 split 命令-文件拆分语法格式常用选项示例 paste 命令-文件合并语法格式常用选项示例 eval 命令-变量扫描器工作原理示例 文本处理器 2 本章讲解 grep、sort、uniq、tr、cut、split、paste 命令等。这些文本处理器通常用于数据过滤、转换、清理、格式化和提取等操作,

【ARM体系结构】ARM处理器流水线技术解析

引言 在现代计算机体系结构中,流水线技术是提高处理器性能的关键技术之一。ARM作为移动计算和嵌入式系统领域的领先架构,其流水线设计对于实现高效能、低功耗的处理器至关重要。本文旨在深入探讨ARM体系结构中流水线的概念、原理、分类,并分析影响流水线性能的关键因素,同时详细阐述指令执行过程的典型步骤,为理解和优化ARM处理器性能提供理论基础和实践指导。 流水线的概念与原理 概念 在ARM体系结

ARM——结构体系(处理器工作模式,CPSR,立即数,汇编语言函数调用)

1、处理器工作模式          ARM有7个基本工作模式:User:非特权模式,大部分任务执行在这种模式FIQ:当一个高优先级(fast)中断产生时将会进入这种模式IRQ:当一个低优先级(normal)中断产生时将会进入这种模式Supervisor:当复位或软中断指令执行时将会进入这种模式Abort:当存取异常时将会进入这种模式Undef:当执行未定义指令时会进入这种模式Sy

《ARM Cortex-R 学习指南》-【第十四章】-为 Cortex-R 处理器编写代码

快速链接: . 👉👉👉 ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 付费专栏-付费课程 【购买须知】 个人博客笔记导读目录(全部) 第十四章 为 Cortex-R 处理器编写代码 你可以针对功耗、速度、代码密度或内存占用来优化代码。许多 GNU GCC 和 ARM 编译器功能利用 Cortex-R 系列设计生成优化代码。 14.1 编译器优化