计组实验微程序控制器

简介: 计组实验微程序控制器

总过程

(1)从控制存储器 中逐条取出“取机器指令”用的微指令,执行取指令公共操作,执行完后,从主存中取出的机器指令就已存入指令寄存器中了。

(2)根据指令寄存器中的操作码,经过微地址形成部件,得到这条指令对应的微程序入口地址,并送人微地址寄存器。

(3)从控制存储器中逐条取出对应的微指令并执行。

(4)执行完对应于一条机器指令的一段微程序后又回到取指微程序的入口地址,继续第l)步,以完成取下一条机器指令的公共操作。

控制存储器里面存放的是微指令,是固定的写死的

指令寄存器是存从内存中取出来的指令(不是微指令)

内存里的指令8位,前5位为操作码后三位为地址

微指令存储器里面的指令20位前15位为控制字段,后5位为地址转移逻辑

这里

因为后5位的前两位是01所以需要地址转移

与此时的指令的前3位拼在一起变成01000,所以下一个执行的微地址是第八个微地址

程序实现上述操作,data_r就是20位微指令,add_r就是下一条微指令的地址

假如是10的地址转移逻辑

复位信号为0的时候把程序加载到内存储器里面,复位信号为1对时钟信号敏感

  • 这里的16应该是从后面往前数,因为是直接表示法所以每一位表示一个操作比如这里第16位为1就说明要执行的操作是把程序控制器上的数和000相与形成八位然后放在sysbus上面,
  • 19是把内存地址读出来放到数据寄存器mdr里面

MDR(Memory Data Register)用于暂时存储从内存中读取的数据,或者存储要写入内存的数据。当处理器需要从内存中读取数据时,该数据会被加载到 MDR 中供后续处理使用。同样地,当处理器需要将数据写入内存时,它会将要写入的数据存储在 MDR 中,然后传输到内存。

  • 10的话是pc(程序计数器)+1

  • 15是1的话就把数据寄存器mdr(mar里面的有可能是程序有可能只是数据)里面的值打入指令寄存器中
  • 9时读了一条指令后,要把操作码译码定位到微程序,操作数地址打到MAR里面去,这里是指令寄存器地址+000达到总线上去

MAR(存储器地址寄存器)当处理器执行指令时,可能需要读取或写入内存中的数据。MAR(Memory Address Register)用于存储要访问的内存地址。处理器将要读取的数据的地址放入 MAR,或将要写入数据的地址放入 MAR。

  • 最后的操作是把IR(指令寄存器的高三位)给操作码

  • 这里17,11,5,6 就是把做加减啥的放入acc(累加器)中
  • 18是把acc的内容放到总线上
  • 最后acc为0,z_flag置为1,否则置为0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EPVoUiCO-1686498465562)(null)]

  • 这个也是从ir读出来执行的
  • mem是内存

1457)]

[外链图片转存中…(img-S0IGNgVc-1686498461460)]

[外链图片转存中…(img-fwse4kIi-1686498461462)]


相关文章
|
6月前
|
人工智能 移动开发 算法
【2023华中杯数学建模】B 题 小学数学应用题相似性度量及难度评估详细建模方案及实现代码
本文提供了2023年华中杯数学建模B题的详细建模方案和实现代码,包括设计小学数学应用题相似性度量方法、建立题目难度评估数学模型、对题库进行相似性或难度分类,以及使用TF-IDF和K-Means聚类算法进行题目难度分析和相似题目推荐。
109 0
【2023华中杯数学建模】B 题 小学数学应用题相似性度量及难度评估详细建模方案及实现代码
|
5月前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1792 17
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
|
6月前
|
人工智能 算法 新能源
【2023高教社杯】A题 定日镜场的优化设计 问题分析及数学模型
本文介绍了2023年高教社杯数学建模竞赛A题的定日镜场优化设计问题,涉及问题分析和数学模型构建,旨在提高太阳能光热发电效率并实现电力系统的新能源转型。
121 1
【2023高教社杯】A题 定日镜场的优化设计 问题分析及数学模型
|
9月前
|
IDE Java 开发工具
基于Java程序设计的实验教学方法优化与实践
基于Java程序设计的实验教学方法优化与实践
74 1
|
Java
Java实现最小二乘法线性拟合,传感与检测,单臂半桥全桥实验,江南大学自动化
Java实现最小二乘法线性拟合,传感与检测,单臂半桥全桥实验,江南大学自动化
212 0
Java实现最小二乘法线性拟合,传感与检测,单臂半桥全桥实验,江南大学自动化
|
小程序 Java Android开发
java程序设计——实验二
1.编写Applet 程序 (二).修饰符的使用 1.程序功能:通过两个类StaticDemo、Demo2_2 说明静态变量/方法与实例变量/方法的区别。 2.编写类文件Demo2_2.java,程序源代码如下。 (三). 1.方法中参数传递的练习 1.编写一个传值调用的程序文件Demo2_3.java。 (1)程序功能:程序首先给整型变量x 和y 赋一个初值10,然后使用传值调用方式调用方法ff1对x 和y 做乘方及输出x 和y 的乘方值,最后再输出x 和y 的乘方值。 (2)程序源代码如下。 (三).
429 0
java程序设计——实验二
|
小程序 Java 开发工具
java程序设计——实验一
1.通过一个简单的applet程序MyJavaApplet.java,并在浏览器中运行,在(10,20)坐标点处输出蓝色字"Hello, Java Applet World!",在合适的位置画直线、画圆等几何图形。 2.编写一个向Applet传递参数的程序,要求至少传递两个参数。 3通过使用for循环和位移运算符,解决如下问题:一球从10000高度自由落下 ,每落一次就会返还原高度一半高度,求第十次反弹的高度,有多少米? 4.用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断
246 0
java程序设计——实验一
|
移动开发 Java Android开发
java程序设计——实验五
1.在JFrame 窗口中添加组件 2.对话框实现: 可以使用JSwing中的JOptionPane类。 3.在例8.17的基础上,扩充文本编辑器的功能。
117 0
java程序设计——实验五
|
Java 编译器 Android开发
java程序设计——实验三
一.了解异常处理机制,使用try…catch 语句处理异常 2.异常类型不匹配的程序 3.包含多个catch 子句的异常处理程序 二.使用throw 语句抛出异常 三.使用throws 子句 四.使用输入输出流类
243 0
java程序设计——实验三

热门文章

最新文章