热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

微程序控制器原理学习笔记

微程序控制方式的基本思想1、若干微命令编址成一条微命令,控制实现一步操作;2、若干微指令组成一段微程序,解释执行一条及其指令;

微程序控制方式的基本思想
1、若干微命令编址成一条微命令,控制实现一步操作;
2、若干微指令组成一段微程序,解释执行一条及其指令;
3、微程序事先存放在控制存储器中,执行机器指令时再取出。
微程序控制器基本框图
这里写图片描述
1.主要部件
1 控制存储器CM
功能: 存放微程序。
CM属于CPU,不属于主存储器。
2 微指令寄存器uIR
功能:存放现行微指令。
微命令字段(微操作控制字段):提供一步操作所需的微命令。
微地址字段(顺序控制字段): 指明后续微地址的形成方式。 提供位地址的给定部分。
3 微地址形成电路
功能:提供两类位地址。 微程序的入口地址:根据微程序找到微程序的入口地址。由机器指令操作码形成。后续微地址:由微地址字段、现行微地址、运行状态等形成。
2. 工作过程
1 取机器指令
CM–利用默认取值微指令取出指令送入uIR(微指令寄存器);将微命令字段送入译码器译码。将PC中地址命令送入主存,取出机器指令。将机器指令送入指令寄存器IR中。
2 转微程序入口
IR操作码部分送入微地址形成电路。由微地址形成电路转换成微程序入口,将微程序入口送入微地址寄存器。 将如地址送入控制存储器,从控制存储器中找到微程序的起始地址。将此首条微指令送入微指令寄存器uIR中。
3 执行首条微指令
把uIR 微命令字段送入译码器,得出相应的微命令。将微命令,送入相应的操作部件。
4 取后续微指令
微地址字段、现行微地址、运行状态都送入微地址形成电路。产生后续微地址,再送入微地址寄存器uAR。由微地址寄存器再送入控制器,译码之后再找到相应的单元,从单元中取出后续微指令,再送入uIR 中。这就取得了第二条微指令
5 执行后续微指令 同3
6 返回
微程序执行完,返回CM(存放取值微指令的固定单元)。


推荐阅读
  • 选择PS3的硬盘容量时,应考虑个人需求和预算。虽然PS3的内存固定为512MB,但硬盘容量可以选择。如果你经常下载游戏或存储大量媒体文件,建议选择较大容量的硬盘。一般情况下,320GB或500GB的硬盘已经足够满足大部分用户的需求。 ... [详细]
  • 原子操作是指在执行过程中不会被中断的操作。本文将探讨Java是如何通过不同的技术手段实现原子操作的,包括CPU层面的总线加锁和缓存行加锁,以及Java层面的锁机制和CAS操作。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • 最详尽的4K技术科普
    什么是4K?4K是一个分辨率的范畴,即40962160的像素分辨率,一般用于专业设备居多,目前家庭用的设备,如 ... [详细]
  • Dell Latitude 5290 2-in-1 平板电脑黑苹果体验评测
    本文基于notebookcheck的详细数据和个人实际使用体验,对Dell Latitude 5290 2-in-1平板电脑进行评测。评测内容包括外观设计、散热性能、基准测试、游戏表现和续航能力等方面,旨在为读者提供全面的参考。 ... [详细]
  • 多线程基础概览
    本文探讨了多线程的起源及其在现代编程中的重要性。线程的引入是为了增强进程的稳定性,确保一个进程的崩溃不会影响其他进程。而进程的存在则是为了保障操作系统的稳定运行,防止单一应用程序的错误导致整个系统的崩溃。线程作为进程的逻辑单元,多个线程共享同一CPU,需要合理调度以避免资源竞争。 ... [详细]
  • MySQL 5.7 学习指南:SQLyog 中的主键、列属性和数据类型
    本文介绍了 MySQL 5.7 中主键(Primary Key)和自增(Auto-Increment)的概念,以及如何在 SQLyog 中设置这些属性。同时,还探讨了数据类型的分类和选择,以及列属性的设置方法。 ... [详细]
  • Java高并发与多线程(二):线程的实现方式详解
    本文将深入探讨Java中线程的三种主要实现方式,包括继承Thread类、实现Runnable接口和实现Callable接口,并分析它们之间的异同及其应用场景。 ... [详细]
  • 探讨如何在Go语言中高效地处理大规模切片的去重操作,特别是针对百万级数据量的场景。 ... [详细]
  • 本文介绍了 .NET 中用于线程间通信的工具 WaitHandle 及其子类 ManualResetEvent 和 AutoResetEvent,并详细解释了线程池的概念及其在优化资源利用方面的优势。 ... [详细]
  • 本文介绍了Java中的com.sun.codemodel.JBlock._continue()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文总结了一些开发中常见的问题及其解决方案,包括特性过滤器的使用、NuGet程序集版本冲突、线程存储、溢出检查、ThreadPool的最大线程数设置、Redis使用中的问题以及Task.Result和Task.GetAwaiter().GetResult()的区别。 ... [详细]
  • 单片机入门指南:基础理论与实践
    本文介绍了单片机的基础知识及其应用。单片机是一种将微处理器(类似于CPU)、存储器(类似硬盘和内存)以及多种输入输出接口集成在一块硅片上的微型计算机系统。通过详细解析其内部结构和功能,帮助初学者快速掌握单片机的基本原理和实际操作方法。 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
author-avatar
mobiledu2502861197
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有