精华内容
下载资源
问答
  • 微指令的格式与微指令的编码息息相关,但是垂直型微指令它的编码方式是什么呢?我不太看得出来
  • 微指令格式

    千次阅读 2020-09-12 17:29:10
    计算机原理 6.12 微指令格式 1、微指令设计原则 有利于缩短微指令字长度 有利于减少控制存储器容量 有利于提高微程序执行速度 有利于对微指令进行修改 有利于提高程序设计的灵活性 2、微指令格式(直接表示法) &...

    计算机原理 6.12 微指令格式

    1、微指令设计原则

    有利于缩短微指令字长度

    有利于减少控制存储器容量

    有利于提高微程序执行速度

    有利于对微指令进行修改

    有利于提高程序设计的灵活性

    2、水平微指令格式(直接表示法)

     

    操作控制(字段):也可以称为控制场,这部分字段反映的是该指令中所集成的微命令。

    顺序控制(字段):也可以称下地址场,这部分的作用是寻找到下一条微指令的地址。P字段的作用在其他的文章中会有所解释。



     这种方法简单直观,便于输出控制,但是微指令长度太长,控存容量大,如何压缩微指令长度?

    这里介绍三种方法:

    改直接表示为编码表示(压缩互斥性微指令)

    去掉下址字段,采用μPC=μPC+1的方式生成微指令地址

    改水平型微指令为垂直型微指令(牺牲并行性)

    下面分别介绍这三种方法

    3、微指令格式(编码表示法)

    我们要将微指令中的一系列命令进行分类,分为相容性的微命令,和互斥性的微命令,比如说单总线里边的,输出到总线的out型的,像R0out、R1out、R2out、PCout、DRout等等,这些信号是不能同时唯一的,因为总线在同一时刻只能有一种信号,那么这些就是互斥性的微命令,还有一些信号是可以同时给出的,这些信号我们称之为相容性的微命令。

    而对于互斥性的微命令,由于他们不能同时给出,所以我们没有必要给他们这么长的编码,可以通过编码以后再译码的方式,表示这一类互斥性的微命令。

    另外像运算器的+1、add、sub等信号也是不能给出的,也是互斥性微命令,所以也可以用编码的方法来给出。

     

    比如说这里,前7个信号都是互斥型的,那么他们就可以用编码的方法显示,因为不能同时给出,只能同时给出一个,所以可以用一个三八译码器来进行编码,三八译码器有三位,三位全为0的时候,代表什么指令也不给,注意这里必须要留出一个状态表示什么信号也不给,所以如果有8个互斥信号的话,是不能用三八译码器的,得用四位来编码。

     

    2、微指令地址形成方法

    下地址字段法 

    特点:微指令长,控存容量大

    计数器法  μPC

    特点:微指令器,需要加法器

     

     减少了下址字段,有效节约了控存的空间。

    5、水平型微指令编码效率

     

     6、垂直型微指令

     

     7、垂直型微指令实例

     

     8、水平型与垂直型微指令

    水平型微指令

      并行操作能力强,效率高,灵活性强

      微指令字较长,微程序短,控存容量大,性能佳

    垂直型微指令

      字长短,微程序长,控存容量小,性能差

      垂直型与汇编指令相似,易于掌握

      基本被淘汰

     

    展开全文
  • 前言:2014年12月,大二上学期,计算机组成原理课程设计,我当年亲手了一些机器指令,甚至设计出了一些微指令(扩充指令集,到控制存储器里面),想想都觉得我当年好厉害。。。

    前言:2014年12月,大二上学期,计算机组成原理课程设计,我当年亲手写了一些机器指令,甚至设计出了一些微指令(扩充指令集,写到控制存储器里面),想想都觉得我当年好厉害。。。

    PS. 刚刚写完微机接口课程设计报告,微机接口让我回想起了一年多前的计算机组成原理。我把当时的照片和报告都找了出来,温习了一下~


    设计微指令

    x86有一套复杂指令集(CISC),每一条复杂指令背后由若干条微指令组成。

    在本次课程设计中,我在试验箱已有的8086的微指令集的基础上,扩充了自己写的7条微指令。
    20160119173354365
    图:我扩充的微指令,需要写到控制存储器中


    编写的机器指令

    这不是C,不是C++,不是Java,而是机器语言!没错,就是0、1序列!

    20160119174604604
    图:最上面3条机器指令是依据我扩充的7条微指令设计出来的“新的机器指令”。下面一排机器指令,是一段完整的程序。这个程序最终应该输出”9119”、”9108”、”9107”、”0011”


    运行结果

    运行结果完美符合预期

    20160119175019697
    20160119180104250


    总结

    通过本次实验,我深入了解了微指令的“奥妙”。

    从微指令的设计到实现,我已经基本上完全弄明白了。本次试验中,微指令有 24 位。I0~I5 是下地址,指向下一条微指令的地址;I6~I8 是 F3 表示测试;I9~I11 表示 F2, I12~I14 表示F1,用来控制寄存器;I15~I23 用来表示微指令的功能(比如:加减法,相与或者相或)。

    微指令与机器指令的关系,我现在更是理解透彻了。在实验中,我们组员单步调试(也就是按下脉冲信号),一步一步跟踪微地址灯的变化,从而一步一步观察什么时候执行哪一条微指令。课本上面说得很轻松:一条机器指令对应一段微程序,一段为微程序就是一系列微指令。但是,只有做实验:亲手设计微程序代码;亲手连接线路;遇到问题时亲手解决难题才能够真正理解计算机组成原理的精髓。


    完整的课程设计报告

    本博客节选自课程设计中的一个实验。课程设计总共有4个实验完整的报告在这里!下载链接,猛戳这里,不要积分

    展开全文
  • 微程序与微指令和微命令

    万次阅读 多人点赞 2018-07-12 08:58:09
    在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。一般的微指令格式由操作控制和顺序控制两部分构成。操作控制部分用来发出管理和指挥全机工作的控制信号。其顺序控制部分用来决定产生...

           在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。一般的微指令格式由操作控制和顺序控制两部分构成。操作控制部分用来发出管理和指挥全机工作的控制信号。其顺序控制部分用来决定产生下一个微指令的地址。事实上一条机器指令的功能是由许多条微指令组成的序列来实现的。这个微指令序列通常叫做微程序。既然微程序是由微指令组成的,那么当执行当前的一条微指令的时候。必须指出后继微指令的地址,以便当前一条微指令执行完毕以后,取下一条微指令执行。   机器指令和微指令的关系归纳如下:   1. 一条机器指令对应一个微程序,这个微程序是由若干条微指令构成的。因此,一条机器指令的功能是若干条微指令组成的序列来实现的。简而言之,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。   2.从指令与微指令,程序与微程序,地址与微地址的一一对应关系上看,前者与内存储器有关,而后者与控制存储器(它是微程序控制器的一部分。微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三部分组成。其中,微指令寄存器又分为微地址寄存器和微命令寄存器两部分)有关,与此相关也有相对应的硬设备。   3.从一般指令的微程序执行流程图可以看出。每个CPU周期就对于一条微指令。这就告诉我们怎么设计微程序,也将使得我们进一步体验到机器指令很微指令的关系。

    微命令    控制部件通过控制线向执行部件发出的各种控制命令(这个是数理逻辑电路的领域) 
              微操作 执行部件接受微命令后所进行的操作 
              微指令与微程序 
              微指令:同时发出的控制信号所执行的一组微操作.例如: 
              加法指令的执行可分为:取指,计算地址,取操作数和加法运算四步,每一步都由一组微操作实现.这一组能同时执行的微操作就构成一条微指令. 
    微程序:  一组微指令的集合.这样: 
               程序由一组指令组成; 
               指令由一个微程序实现 
               微程序由一组微指令实现 

               微指令由一组微操作实现 

    本文转自 
    http://blog.csdn.net/zwj0231075/archive/2007/01/20/1488680.aspx

    展开全文
  • 2、微指令格式中设置一个下地址字段,由微指令的下地址字段直接指出后继微指令的地址,这种方式又称为断定方式。 3、XXX由下地址无法给出下一条要执行的微指令的地址,那么可以采用第二种方式根据机器指令的操作码...

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    1、从这个图可以看出它已经给了两种方法:
    一种方法是操作码经过微地址形成部件形成(微地址形成部件实际是一个编码器,其输入为指令操作码,输出就是对应该机器指令微程序的首地址。),另外一种方式就是由下地址来形成。
    2、微指令格式中设置一个下地址字段,由微指令的下地址字段直接指出后继微指令的地址,这种方式又称为断定方式。
    3、XXX由下地址无法给出下一条要执行的微指令的地址,那么可以采用第二种方式根据机器指令的操作码形成,因为这是取址阶段的微程序它执行的最后一条微指令,那么下面就要进入到对某一条指令它执行阶段微程序的执行,所以要知道这条指令是什么指令才能够判断出他所对应的微程序在控制存储器当中的首地址是什么,所以要根据机器指令操作码来形成下一条微指令的地址。
    4、另外,还可以采用分量计数器,类似于机器指令执行的过程当中PC自动+1的操作。比如在取址阶段,它的下地址很多指令都是顺序加一,在执行阶段很多微指令它包含的下地址也是顺序加一或者当前地址加一,这种情况就可以采用增量计数器。它的操作是:
    (CMAR)+1->CMAR。
    5、第四种方法就是分支转移,既然涉及到转移,那么这个转移的信息是要在微指令当中的。转移方式:指明判别条件;转移地址:指明转移成功后的去向。
    6、还有一种方式称为测试网络:
    把顺序控制也就是下地址这部分给它分成两个,高位字段不动,低位字段通过测试网络由测试源对低位地址进行变换形成测试地址,所谓测试源就是状态和条件。形成的测试地址与之前的高位地址合并构成微指令的新地址送入到CMAR当中取出后续地址,这种方式可以用于微程序在小范围内的跳转、条件转移操作。
    7、第六个是由硬件产生微程序的入口地址,比如说计算机一开机就要开始执行,那么它要执行指令首先就要取指令,那么取指微程序所在的控制单元的首地址是M所以要先把这个M送入到CMAR当中,那么这个M就是由硬件直接产生。第一条微指令地址由专门的硬件产生,如果在指令执行过程当中发生中断,那么中断它所对应的微程序在控制存储器当中的地址是固定的,也可以由硬件来产生。也就是中断周期由硬件产生中断周期微程序首地址。同样如果有间址操作,间址阶段他所对应的微程序的首地址在控制存储器当中也是固定的,所以也可以由硬件来产生间址周期微指令所对应的首地址。

    在这里插入图片描述
    1、图中可以看出第一个来源就是下地址,由微指令它的顺序控制字段给出下一条指令地址。还有就是由OP指令的操作码字段经过微地址形成部件,给出对应的这条指令它的执行阶段所对应的微程序在控制单元的首地址,也送入到多路选择器。另外,还可以通过+1操作,如果是顺序执行,则把CMAR 的内容+1,+1之后也送入到多路选择器。另外,第一条微程序的入口地址M可以通过硬件方式来完成,中断周期、间址周期所对应的微程序的首地址也可以通过硬件来产生。所以硬件产生的微程序入口地址也送入到多路选择器。
    2、还有转移方式,是否要发生转移,如果转移,应该执行下地址,所以这部分还有一个分支逻辑,分支逻辑来确定是否需要发生转移,它的控制信号是一些标志,所以转移方式要输入到分支逻辑,由分支逻辑产生的信号控制我们的多路选择器,从上述已经给出的1-4的形成方式选择一个作为CMAR的输入,送入到CMAR当中,比如当微程序正在执行某一条指令的它的执行阶段需要的一些操作,就可以由多路选择器选择下地址送到CMAR当中,如果是取值微程序的最后一条指令,那么它的下地址就要通过指令的操作码字段、微地址形成部件在多路选择器里面选择这一路送入CMAR。然后CMAR它里面保存的控制存储器的地址经过地址译码之后选定控制存储器当中的一个指定的存储单元,把存储单元的内容读出来放到CMDR当中,CMDR的操作控制字段就会给出相应的控制信号,由这些控制信号控制计算机系统的各个部件去做相应的操作。

    在这里插入图片描述
    (题目中32条是不包括公共的取指指令,公共微指令单独形成一个微程序)
    (“至少”是因为这个系统以后还有可能做微程序的扩充)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    (每一条微指令当中控制信号比较多,指令就会比较长,微程序就会比较短,也是微指令数目比较少,不需要或只需要简单的译码,所以速度也会比较快)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 微指令设计

    千次阅读 2014-07-26 00:22:28
    要设计一个指令/微指令系统,从本质上来讲要解决两个问题,第一就是新指令系统(即汇编语句),第二就是新微指令系统(即每条汇编语句所对应的微指令,以及每条微指令所对应的微命令)。换句话说就是要设计想要达到...
  • 59微指令的格式

    2021-01-26 08:18:47
    微指令的格式:微指令格式与微指令的编码方式有关,通常分水平型指令和垂直型指令两种。 1、 水平型微指令:从编码方式看,直接编码、字段直接编码、字段间接编码和混合编码属于水平型微指令。指令字中的一位对应一...
  • 【计算机组成原理】微命令 微指令 微操作 微程序

    千次阅读 多人点赞 2020-08-23 13:18:37
    复习机组的时候发现微操作、微命令、微指令、微程序、甚至控制信号这几个概念容易搞混。现在整理如下。 总结 微命令 -> 微指令 -> 微程序 A -> B表示由A组成B 控制部件通过控制线向执行部件发出各种控制...
  • 微指令编码方法(组原)

    千次阅读 2021-01-06 16:12:11
    微程序控制器–微指令编码方式 水平型微指令 微指令的字长比较长 在一条微指令中可以产生较多的微命令 操作的并行性较高 垂直型微指令 微指令的字长比较短 操作的并行性不高 微程序比水平型的要长 微程序控制器...
  • 计算机组成原理-微程序和微指令

    万次阅读 2017-12-06 14:49:04
    1.一条机器指令就是一个微程序,机器指令需要几个cpu周期就包含几个微指令微指令包含若干微命令,微命令发送给部件执行微操作。
  • 从编程语言到微指令

    千次阅读 2019-03-19 11:24:27
    从编程到微指令 从学语言开始我就就觉得很神奇, 一个机器怎么能实现这么多丰富的功能呢? 机器到底是怎么设计出来的? 我想明白:从c++到机器的01代码到底发生了什么?硬件都做了什么? 以前一直觉得这是很难...
  • 程序: 程序由一些指令组成 指令: 这里的指令指 MOV AX,BX这样的汇编指令 ...微指令: 机器指令是由数个微指令组成,且每一个时钟周期对应一个微指令,比如MOV AX,BX,应该由这些微指令组成: 取...
  • 机器指令是由数个微指令组成,且每一个时钟周期对应一个微指令,比如MOV AX,BX,应该由这些微指令组成: 取值周期: 时钟周期①:(PC)->MAR (控制信号PCout = 1,MARin = 1) 时钟周期②:M->MDR (控制信号MEMR ...
  • 垂直型微指令、水平型微指令、混合型微指令。 1.垂直型微指令 一条微指令定义并执行一种基本操作。 有点:微指令短、简单、规整、便于编写微程序。 缺点:微程序长,执行速度慢;工作效率低。 2.水平型...
  • CPU微指令相关概念

    2021-02-20 12:49:05
    第1章 程序控制器 程序控制器是一种控制器,同组合逻辑控制器相比较,具有规整性、灵活性、可维护性等一系列优点,因而在计算机设计中逐渐取代了早期采用的组合逻辑控制器,并已被广泛地应用。在计算机系统中,...
  • 复杂模型机设计(含微指令,微程序,微程序流程图,设计的指令,实习报告)
  • SUB指令 ADD AND DEC CLR RL RRC MOV LDI OUT LDA STA JMP JZ JC HALT
  • 机器语言和微指令集的概念是什么? 机器语言是啥,不愿去网上复制粘贴,你我已经接触过很多次了,机器语言就是计算机用的语言嘛。你和我交流,用的是自然语言,机器与机器之间一点都不自然,用着你我听不懂的机器...
  • 按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换成十六进制格式文件。     M23 M22 M21 M20 ...
  • 0029:最后要条件转移到A4H(A4H微指令的功能是依据有无中断请求,决定是进入中断处理过程,还是顺序执行下一条指令,这是每条机器指令完成后应该执行的一项操作。),A4转换为二进制是10100100,前面补0,后面两个...
  • 指令系统*代码

    千次阅读 2014-04-16 02:29:43
    一直很疑惑指令系统这个东西。最近工作室的学长想弄一个平台放到四轴上运行处理图像算法以控制四轴(专业点的说法是基于机器视觉的四轴自主控制)。本来打算用cortex-a9四核板子的。上淘宝,服务我的他说他是技术...
  • 大二的时候学了STM32书上一直说他是ARM指令集Cortex-M3构架,上微机原理时老师又讲了什么X86指令集,天天汇编更是把我搞得晕头转向。   现在仔细想想他们到底是些什么东西。  说起指令集就不得不说与他密切...
  • 指令系统

    千次阅读 2015-04-24 10:33:51
    计算机的操作和控制是由计算机的指令完成的。在计算机中有两种信息流,一种是... 从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。 微指令:微程序级的命令,它属于硬件; 宏指令:由若干
  • ARM 嵌入式处理器指令集(上)

    千次阅读 2017-12-08 11:23:17
    ARM 嵌入式处理器指令集ARM 处理器实现的指令集 32 位的 ARM 指令集和 16 位的 Thumb 指令集 ARM 处理器允许在 ARM 状态和 Thumb 状态之间进行切换和互操作,保证用户在运算性能和代码密度之间的选择的灵活性 采用...
  • 在x86处理器系统中,存储器指令大体可以分为F(reg, reg)[1],F(reg, mem)和F(mem, reg) 三大类。...后一类指令的处理相对较为复杂,该类指令需要首先进行存储器读,进行某种运算后,再次进行存储器
  • Core中,一条存储器指令首先经过取值,译码,Dispatch等一系列操作后,率先到达LSU(Load/Store Unit)部件。LSU部件可以理解为存储器子系统的最高层,在该部件中包含Load Queue与Store Queue。其中Load Queue与Store ...
  • ARM处理器的指令系统

    千次阅读 2008-10-13 15:20:00
    第3章 ARM处理器的指令系统 本章介绍ARM指令集、Thumb指令集,以及各类指令对应的寻址方式,通过对本章的阅读,希望读者能了解ARM处理器所支持的指令集及具体的使用方法。本章的主要内容有:- ARM指令集、...
  • CPU的功能和基本结构CPU的功能运算器控制器CPU的基本结构指令执行过程三个...微指令格式微指令编码方式硬布线和微程序控制器的特点指令流水线基本概念指令流水的定义流水线的表示方法性能指标吞吐率加速比效率影响因素...
  • 指令预译码器从指令Cache或者指令预取缓存区中接收16字节的指令流,执行如下的预译码操作: 确定每条指令的长度(注:x86指令是变长指令) 译码每条指令指令前缀 为译码器标记每条指令的不同属性(例如,“是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,232
精华内容 17,292
关键字:

如何写微指令