mips j指令_MIPS的基本实现

MIPS核心指令集:

指令集概括为3个指令类:

  1. 存储器访问指令类

lw,sw等

2. 算术逻辑指令类

add,sub等

3. 转移指令类

beg,J等

指令的共同性

取指令,送PC值给Memory;

根据指令内容读取寄存器内容;

除了跳转指令J外,所有指令类都要使用ALU

指令的不同性

使用ALU后,依据指令不同,进行不同的操作:

—存储器访问指令(lw,sw)读写存储器(D-Cache)

—算术逻辑指令将ALU计算结果写入寄存器堆

—转移指令根据ALU比较结果转移到下一条指令地址

数据通路雏形

ceeee5ac3b795c18573b86c4e2130160.png

具有多路选择器和逻辑控制的处理器雏形

226a1e2efea3d558f4698bbec06bbf6b.png

R型指令需要的寄存器堆

dcf480bf0fd32e59da42a369921aa51d.png

R型指令概括为需要两次读寄存器的地址,并且需要两个读数据总线;需要一次写寄存器地址和一个写数据总线。

下图是包含32个32位寄存器的寄存器堆,地址线5bit,数据线32bit。

bebd4f78c4c03200d8bd3646491f1b61.png

适合于R型指令,I型指令的ALU

主要功能:地址操作和操作数的处理。根据控制线选择不同的逻辑运算。

4acbea17e6f1c3206ee3924dfe8b71b1.png

用于LW和SW指令的数据存储器和符号扩展单元

9f99837916ee49af1e1f731564e10749.png

要求数据存储器具有读口和写口,需要指定数据单元的地址。

3bbfddf8c98473fdee0f0464b1d5ae13.png

16位的偏移量需要进行32位扩展形成数据存储器地址:

cadf936dda5908bbf0612dbb376f33cf.png

转移指令的操作单元

以Beq指令为例:

808be4298c8d5258f213c67f653061f6.png

由于一个指令时32bit,4个字节,所以Offset需要左移两位(x4)

aaf13a1d075bb2250b513e06579e6d1e.png

基于以上知识可以设计简单的单周期MIPS处理器。

8a64ee26362995f24e722137f0c6766e.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯管家去除桌面快捷小图标

找了大半天,原来腾讯管家也可以: 废话不多说,动手实践吧。。。。。 打开电脑管家——电脑诊所——桌面图标——【去掉快捷方式小箭头】 就这样轻松的实现了,赶快试试吧! 转载于:https://www.cnblogs.com/yjq520/p/6858…

apache shiro_Apache Shiro第3部分–密码学

apache shiro除了保护网页和管理访问权限外, Apache Shiro还执行基本的加密任务。 该框架能够: 加密和解密数据, 哈希数据, 生成随机数。 Shiro没有实现任何加密算法。 所有计算都委托给Java密码学扩展(JCE&#xf…

argparse模块_Argparse:一个具体案例教会你python命令行参数解析

问题描述:现有一个用于数据格式转换的py脚本(多转一),执行时通过命令行传入一系列的参数控制其具体运行方式,使满足以下要求:1. 必须传入需要处理的原始数据文件名2. 可以指定输入文件的格式,若没有指定则使用默认值&a…

Eclipse中src/main/resources配置文件启动问题

项目pom文件有做修改如下的时候,还没有进行mvn clean install 启动test项目中的appcontext会 可以手动清空 然后就可以了。 出现如下问题的原因是 配置文件默认输出到target/classes 下 项目启动默认也会找该目录下的配置文件 其实这里pom文件拷贝配置文件只是用于读…

仍然不安全:变成了Java 9功能的Java 6中的主要错误

sun.misc.Unsafe的未来将如何发展? 随着2015年即将结束,我们认为这将是对Java社区过去一年中最热门辩论之一进行尸检的好机会。 通过查看标题,您中的大多数人可能已经开始在口腔中产生酸味并在肠道中产生愤怒的感觉,但是如果您错…

camvid数据集使用方法_使用PyTorch处理CIFAR10数据集并显示

在训练图像分类的时候,我们通常会使用CIFAR10数据集,今天就先写一下如何展示数据集的图片及预处理。第一部分代码,展示原始图像:import numpy as npimport torch#导入内置cifarfrom torchvision.datasets import cifar#预处理模块…

类型之间的相互转换php,php学习之数据类型之间的转换介绍

复制代码 代码如下:/*数据类型之间相互转换* 一种是强制转换* setType(变量,类型); //int,integer,float,double等等。* 这个函数将原变量的类型改变,用var_dump();可以查看变量** 在赋值前使用(类型)的形式,不会改变原变量的类型* $a(int)"123abc";** $变…

rhel 8.2不识别unicode_基于tensorflow 实现端到端的OCR:二代身份证号识别

最近在研究OCR识别相关的东西,最终目标是能识别身份证上的所有中文汉字数字,不过本文先设定一个小目标,先识别定长为18的身份证号,当然本文的思路也是可以复用来识别定长的验证码识别的。本文实现思路主要来源于Xlvector的博客&am…

Lua和C++交互详细总结

转载自:http://www.cnblogs.com/sevenyuan/p/4511808.html 一、Lua堆栈 要理解Lua和C交互,首先要理解Lua堆栈。 简单来说,Lua和C/C语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。 在Lua中,Lua堆栈就是一个struc…

php imagemagick 漏洞,ImageMagick漏洞(CVE-2016-3714)修复方案

关于这个漏洞影响ImageMagick6.9.3-9以前是所有版本,包括ubuntu源中安装的ImageMagick。而官方在6.9.3-9版本中对漏洞进行了不完全的修复。所以,我们不能仅通过更新ImageMagick的版本来杜绝这个漏洞。现在,我们可以通过如下两个方法来暂时规避…

adf开发_ADF BC:创建绑定到业务组件的UI表

adf开发在此示例中,我们将展示如何创建绑定到业务组件的简单UI表(af:table)。 我再次尝试使用简单的标准在网上进行搜索: “如何创建绑定到业务组件ADF 11g的af:table” 我必须承认我没有得到我想要的答案…

java游戏热血江湖,热血江湖源码_附安装教程

释放双眼,带上耳机,听听看~!源码里面可能有联系方式之类的不要相信,反正我在这里已经说过了,你们上当就不管我的事了还有,源码里面的联系方式跟我没关系!教程来了认真看!!&#xff0…

cf 412A

http://codeforces.com/contest/806/problem/A 大意:已知分数x/y,给定p/q,问是否存在a,b使(pa)/(qab)x/y; 一开始用exgcd,算最优不好写,而且数据longlong范围直接炸了;看了一眼题解,居然能二分,…

在没有适当上下文的情况下引发异常是一种不良习惯

Allison Anders等人的《四个房间》(1995)。 我不断重复同样的错误。 因此,该停止并制定规则以防止这种情况了。 错误不是致命的,但很烦人。 当查看生产日志时,经常会看到类似"File doesnt exist" &#xff…

内存压力测试软件_日常游戏,毫无压力,荣耀Magicbook 14锐龙版性能测试

上期蚂蚁给大家带来了荣耀Magicbook 14锐龙版的初见评测,本期将会带来性能的测试,究竟这台高性价比的电脑,能不能应付得了日常的游戏使用呢?蚂蚁这次使用的测试软件分别为:鲁大师、CPU-Z、Cinebench R15、CrystalDiskM…

c 解析java byte,深入解析Java编程中面向字节流的一些应用

文件输入输出流文件输入输出流 FileInputStream 和 FileOutputStream 负责完成对本地磁盘文件的顺序输入输出操作。【例】通过程序创建一个文件,从键盘输入字符,当遇到字符“#”时结束,在屏幕上显示该文件的所有内容import java.io.*;class e…

并发设计模式之生产者消费者设计模式

主函数: 1 package com.ietree.basicskill.mutilthread.designpattern.ProducerConsumer;2 3 import java.util.concurrent.BlockingQueue;4 import java.util.concurrent.ExecutorService;5 import java.util.concurrent.Executors;6 import java.util.concurrent.…

cdatabase读取excel第一行数据_pandas读取excel数据并对重复数据进行标记或者删除

pandas读取excel数据并对重复数据进行标记或者删除​mp.weixin.qq.compandas通常在读取excel数据之后,如果需要进行去重,有两种方式,一种是进行标记,另一种是在pandas中直接去重如下图所示,excel数据:&…

二维温度场matlab编程,二维温度场重建算法(价钱可议)

即病态方程的求解,具体问题如下:(1)物理模型矩形区域的物理模型,即辐射传热定律:可转化为:EUT其中:E表示n个壁面单元辐射接收装置各自所接收的辐射能组成的集合。U被称为敏感矩阵,其与第i个气体…

java 7.函数-递归_带有谓词的Java中的函数样式-第2部分

java 7.函数-递归在本文的第一部分中,我们介绍了谓词,这些谓词通过具有返回true或false的单一方法的简单接口,为Java等面向对象的语言带来了函数式编程的某些好处。 在第二部分和最后一部分中,我们将介绍一些更高级的概念&#xf…