计组实验微程序控制器

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

总过程

(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)]


相关文章
|
弹性计算 监控 对象存储
阿里云服务器5M带宽搭建网站支持多少人同时在线访问?
使用阿里云服务器搭建网站,网站支持多少人同时在线,其实很难说,小说站和图片视频站肯定不一样,但是整体思路就是阿里云带宽是独享的,计算出带宽下载速度,然后预估一下平均网页大小,计算并发数
3248 0
阿里云服务器5M带宽搭建网站支持多少人同时在线访问?
|
开发框架 .NET Java
【自己动手画CPU】控制器设计(一)
《自己动手画CPU》系列博文探讨了一项令人兴奋的计算机科学项目——CPU控制器的设计。在第一篇文章中,作者深入介绍了控制器的设计理念和基本原理。文章首先解释了CPU控制器在计算机系统中的关键作用,然后详细讨论了设计过程中的重要步骤和考虑因素。通过作者的生动解说,读者将了解到CPU控制器设计的基本概念,并感受到从零开始构建计算机核心部件的挑战与乐趣。
633 1
【自己动手画CPU】控制器设计(一)
|
Java 定位技术
【Java】推箱子小游戏(带背景音乐)完整代码
【Java】推箱子小游戏(带背景音乐)完整代码
1163 0
|
存储 编译器 内存技术
【计算机组成原理】中央处理器
【计算机组成原理】中央处理器
1091 1
【计算机组成原理】中央处理器
|
网络协议 物联网 网络性能优化
物联网协议比较 MQTT CoAP RESTful/HTTP XMPP
【10月更文挑战第18天】本文介绍了物联网领域中四种主要的通信协议:MQTT、CoAP、RESTful/HTTP和XMPP,分别从其特点、应用场景及优缺点进行了详细对比,并提供了简单的示例代码。适合开发者根据具体需求选择合适的协议。
880 5
|
网络协议 Ubuntu Linux
基于C++(QT框架)设计的网络摄像头项目(支持跨平台运行)
基于C++(QT框架)设计的网络摄像头项目(支持跨平台运行)
1398 0
基于C++(QT框架)设计的网络摄像头项目(支持跨平台运行)
|
存储 自然语言处理 数据安全/隐私保护
微信公众号后台回复5s重试解决方案和思路
微信公众号后台回复5s重试解决方案和思路
1352 0
|
负载均衡 监控 Java
【使用OpenFeign在微服务中进行服务间通信】—— 每天一点小知识
【使用OpenFeign在微服务中进行服务间通信】—— 每天一点小知识
731 0
|
消息中间件
rabbitmq动态创建队列
rabbitmq动态创建队列
436 0
|
小程序 JavaScript
微信小程序图片放大预览效果的实现,轮播图点击放大预览
微信小程序图片放大预览效果的实现,轮播图点击放大预览
1722 0

热门文章

最新文章