微指令控制器基本原理

news/2025/9/22 13:28:47/文章来源:https://www.cnblogs.com/jimGraymane/p/19105040

微指令控制器的基本原理

微命令和微操作一一对应。一个微命令对于一根输出控制线

相容性微命令:可以并行完成的微命令

互斥型微命令:不可以并行完成的微命令

微命令格式

水平型微命令

一条微命令可定义多个可并行的微命令

|操作控制 |顺序控制|

微程序条数少,执行速度快

但是微指令很长,编写十分麻烦

垂直型微命令

一条微命令只能定义一个微命令,由微操作码字段规定具体规格
|微OP |Rd |Rs |
|微操作码|目的地址|源地址|

微指令短,简单规整,便于编写微程序

但是微程序很多条,执行速度慢,工作效率低

混合型微命令

在垂直型的基础上加一些不太复杂的并行操作

微指令较短,任然便于编写;微程序也不长,执行速度快

微指令的编码方式

直接编码

在微指令的操作控制字段中,每一位代表一个微操作命令,某位为1就代表该控制信号有效

优点:简单,直观,执行速度快,操作并行性良好

缺点:微指令字长过长,n个微命令就要求微指令的操作字段有n位,造成控存容量极大

字段直接编码

将微指令的控制字段分成若干个段

每段经过译码后发出控制信号

微命令字段分段的原则:

1.互斥型微命令放在同一段内,相容性命令分在不同段内,

2.每个小段中包含的信息位不难太多,否则将增加译码线路的复杂性和译码时间

3.一般每一个小段还要留出一个状态,表示本字段不发出任何微命令,此时,当某字段长度为3时,最多只能表示7个互斥的微命令,000表示不操作

3位可以表示8种状态

比如说,(pc)->mar和(pc)+1=pc

这两个指令是互斥的,永远不可能并行发出

这样就能把他们并行了

![image-20250922111748092](/Users/tusier/Library/Application Support/typora-user-images/image-20250922111748092.png)

优点是:可以缩短微指令字长

缺点:还要通过译码电路后再发出微命令,因此比直接编码方式慢

字段间接编码方式

一个字段中的某些微命令,可能需要另一个字段中的某些微命令来解释,由于不是靠字段直接译码发出的微命令,故称为字段间接编码,又称为隐式编码

优点:可以进一步缩短微指令字长

缺点:削弱了微指令的并行控制能力,故通常作为字段直接编码方式的一种辅助手段

微指令地址形成的方式

微地址的下地址字段指出(断定法)

微指令格式中设置一个下地址字段,由微指令的下地址字段直接给出后记微指令的地址,这种方式又称为断定方式

根据机器指令的操作码形成

当机器指令取至指令寄存器后,微指令地址由操作码经微地址形成部件形成

增量计数法

(CMAR)+1=CMAR

分支转移

|操作控制字段|转移方式|转移地址|

转移方式:指明判别的条件

转移地址“转移成功之后的去向

通过测试网络

不用过度深究

由硬件产生微程序的入口地址

第一条微指令地址 由专门的硬件产生

中断周期 由硬件产生中断周期微指令存放地址

![image-20250922115002085](/Users/tusier/Library/Application Support/typora-user-images/image-20250922115002085.png)

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

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

相关文章

一个拒绝过度设计的 .NET 快速开发框架:开箱即用,专注干活

前言 .NET 生态快速发展的背景下,越来越多开发希望找到一个既能快速上手,又不过度设计的后端框架。尤其是在中小型项目中,复杂的架构、层层封装的服务逻辑往往让开发效率大打折扣。 今天推荐一个轻量级、高效实用的…

lookup-mehtod和replace-method标签的作用

lookup-mehtod和replace-method标签的作用下面通过一个基于Spring框架的简单示例来解释 lookup - method和 replace - method的作用。 1. 项目准备 首先创建一个Maven项目,添加Spring相关的依赖: <dependencies&g…

个人微信号二次开发API调用、微信API接口

个人微信号二次开发API调用、微信API接口微信API接口、微信二次开发API调用微信协议接口调用-加微信好友及通过好友请求发送小程序 请求URL: http://域名地址/sendApplets 请求方式: POST 请求头Headers: Content-T…

React 学习笔记4 Diffing/脚手架 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025.9.21+7 [未完]

2025.9.21 Week 笔记2025.9.22

VisualStudio-Python-工具指南-全-

VisualStudio Python 工具指南(全)原文:zh.annas-archive.org/md5/396df14cf233d147d6dfcb4a589a8b75 译者:飞龙 协议:CC BY-NC-SA 4.0前言 和许多其他开发者一样,Python 开发者总是需要找到方法来管理不同工具之…

深入解析:Spring Boot注解

深入解析:Spring Boot注解2025-09-22 13:14 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; …

Gevent和Subprocess问题

Gevent和Subprocess问题Gevent和Subprocess问题 1、复现 在main文件中调用gevent、并做了monkey pathch, 然后再调用subprocess.Popen(),出现一直卡住的问题Python 标准库里的很多 IO(网络 socket、ssl、time.sleep…

WPF ListBox loaded 76.6M items with imagesource

Install-Package Microsoft.Extensions.DependencyInjection; Install-Package CommunityToolkit.mvvm; public async Task InitDataAsync() {watch.Start();string imgDir = @"../../../Images";if (!Direc…

Ansible自动化运维实战 - 详解

Ansible自动化运维实战 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

建筑行业能源管理破局:MyEMS 打造商业楼宇 “能耗可视化 + 智能调控” 方案

在建筑行业的可持续发展浪潮中,商业楼宇正面临着巨大的能源管理压力。高昂的运营成本、日趋严格的碳排政策以及业主与租户对舒适环境日益增长的需求,共同构成了行业必须面对的挑战。传统的能源管理方式往往依赖于人工…

【数据结构】双向链表 - 指南

【数据结构】双向链表 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

告别“能源糊涂账”:MyEMS如何帮企业把能耗数据“算明白、用到位”

对于许多企业而言,能源成本是运营中一笔不小的开支,但却常常是一笔“糊涂账”。电费账单只有一个总数,只知道“花了多少钱”,却不知道“钱花在了哪里”、“谁在用”、“什么时候用的”、“有没有浪费”。这种粗放式…

完整教程:ElasticSearch倒排索引原理

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Windows 离线环境下使用 VS Code 连接容器 Python 环境完整指南(亲测可用)

前言 在离线服务器环境中进行 Python 开发时,如何利用 VS Code 的强大功能进行调试和开发是一个常见需求。本文将详细介绍如何在 Windows 离线环境下,通过 WSL 和 Docker 容器实现 VS Code 连接 Python 环境的完整方…

Macos 安装kali报错

执行某个安装步骤失败。您可以尝试从菜单中重新运行这个失败的项目, 或跳过它并选择其他项目。失败的步骤是:选择并安装软件 选择语言的时候选择英文就能安装了。不清楚是什么原因

负载排查和分析二

负载排查和分析二明白了,我来帮你做两件事:改进中断部分:完善硬中断、软中断触发机制和它们之间的关联关系,增加图示和说明。优化整个文档美观性:用清晰的表格、层次分明的标题、缩进流程图、代码块高亮,保证可读…

负载排查和分析三

负载排查和分析三明白了,你希望 Step1: 基础统计 能够做到真正的 闭环诊断,即不仅有指标解释,还要告诉用户:可能现象(系统表现或问题)分析工具/命令(如何收集更多数据或验证)分析方法(指标和现象的对应关系、…

完整教程:线程、进程、协程

完整教程:线程、进程、协程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco",…

CF913G Power Substring

推歌:SPOTLIGHT HUNTER 麦晓雯联动出了,没抽到。我爸把我 75 研究卷霍霍露娜上了导致我没法免费保底。诋毁他。 洛谷传送 说回正题。设 \(a\) 有 \(n\) 位,所求的 \(a\) 在 \(2^k\) 中距离末位的位数为 \(m\),显然…