当前位置:首页 » 编程软件 » 微指令怎么编译

微指令怎么编译

发布时间: 2022-05-14 05:00:32

❶ 微命令的方法

在计算机中的各个控制门,在任一微周期内,不可能同时被打开,而且大部分是关闭的(相应的控制位为0).所谓微周期,指的是一条微指令所需的执行时间.如果有若干个(一组)微命令,在每次选择使用它们的微周期内,只有一个微命令起作用,那么这若干个微命令是互斥的.
例如,向主存储器发出的读命令和写命令是互斥的;又如在ALU部件中,送往ALU两个输入端的数据来源往往不是唯一的,而每个输入端在任一微周期中只能输入一个数据,因此控制该输人门的微命令是互斥的.
选出互斥的微命令,并将这些微命令编成一组,成为微指令字的一个字段,用二进制编码来表示, 就是字段直接编译法.
例如,将7个互斥的微命令编成一组,用三位二进制码分别表示每个微命令,那么在微指令中,该字段就从7位减成3位,缩短了微指令长度.而在微指令寄存器的输出端,为该字段增加一个译码器,该译码器的输出即为原来的微命令.
字段长度与所能表示的微命令数的关系如下:
字段长度 微命令数
2位 2~3
3位 4~7
4位 8~15
一般每个字段要留出一个代码,表示本段不发出任何微命令,因此当字段长度为3位时,最多只能表示7个互斥的微命令,通常代码000表示不发微命令. 字段间接编译法是在字段直接编译法的基础上,进一步缩短微指令字长的一种编译法.
如果在字段直接编译法中,还规定一个字段的某些微命令,要兼由另一字段中的某些微命令来解释,称为字段间接编译法.
本方法进一步减少了指令长度,但很可能会削弱微指令的并行控制能力,因此通常只作为直接编译法的一种辅助手段.
字段A(3位)的微命令还受字段B控制,当字段B发出b1微命令时,字段A发出a1,1,a1,2,…,a1,7中的一个微命令;而当字段B发出b2微命令时,字段A发出a2,1,a2,2,…,a2,7中的一个微命令,仅当A为000时例外,此时什么控制命令都不产生.
4.常数源字段E
在微指令中,一般设有一个常数源字段E就如指令中的直接操作数一样.E字段一般仅有几位,用来给某些部件发送常数,故有时称为发射字段.
该常数有时作为操作数送入ALU运算;有时作为计算器初值,用来控制微程序的循环次数等.
当前正在执行的微指令,称为现行微指令,现行微指令所在的控制存储器单元的地址称现行微地址,现行微指令执行完毕后,下一条要执行的微指令称为后继微指令,后继微指令所在的控存单元地址称为后继微地址.
所谓微程序流的控制是指当前微指令执行完毕后,怎样控制产生后继微指令的微地址.
与程序设计相似,在微程序设计中除了顺序执行微程序外还存在转移功能和微循环程和微子程序等,这将影响下址的形成.
下面介绍几种常见的产生后继微指令地址的方法.
(1)以增量方式产生后继微地址.
在顺序执行微指令时,后继微地址由现行微地址加上一个增量(通常为1)形成的;而在非顺序执行时则要产生一个转移微地址.
机器加电后执行的第一条微指令地址(微程序入口)来自专门的硬件电路,控制实现取令操作,然后由指令操作码产生后继微地址.接下去,若顺序执行微指令,则将现行微地址主微程序计数器( PC中)+1产生后继微地址;若遇到转移类微指令,则由 PC与形成转移微地址的逻辑电路组合成后继微地址.
(2)增量与下址字段结合产生后继微地址
将微指令的下址字段分成两部分:转移控制字段BCF和转移地址字段BAF,当微程序实现转移时,将BAF送 PC,否则顺序执行下一条微指令( PC+1).
执行微程序条件转移时,决定转移与否的硬件条件有好几种.例如,运算结果为零,溢出,已完成指定的循环次数等.
我们假设有八种转移情况,定义了八个微命令(BCF取3位),在图中设置计数器CT用来控制循环次数.如在执行乘(或除)法指令时,经常采用循环执行加,移位(或减,移位)的方法,指令开始执行时,在CT中置循环次数)每执行一次循环,计数器减1,当计数器为零时结束循环.又考虑到执行微子程序时,要保留返回微地址,因此图中设置了一个返回寄存器RR.

❷ 微指令采用分段直接编译法,33个微命令分成5组,每组包含的微命令分别是7,3,12,5,6个,则控制字段需几

根据公式X=log2(N+1),带入得3,2,3,2,2之和为12,即需要12位。
X得数取整,不采用四舍五入。

❸ 微指令的格式主要与哪些因素有关后续地址的选取有什么限制

垂直型微指令。
微指令格式大体分成两类:水平型微指令和垂直型微指令。
垂直型微指令微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。
微指令是指在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作。所以微指令就是把同时发出的控制信号的有关信息汇集起来形成的。将一条指令分成若干条微指令,按次序执行就可以实现指令的功能。若干条微指令可以构回成一个微程序,而一个微程序就对应了一条机器指令。因此,一条机器指令的功能是若干条微指令组成的序列来实现的。简言之,一条机器指令所完成的操作分成若答干条微指令来完成,由微指令进行解释和执行。微指令的编译方法是决定微指令格式的主要因素。

❹ 微指令的编译方法有哪些

直接编码(直接控制)方式、字段直接编码方式、字段间接编码方式、混合编码、其他(常数字段)。特点:直接编码速度快,但控存容量极大;字段直接编码缩短了微指令的长度,但是增加了译码电路。

微指令是指在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,描述微操作的语句。微命令是指控制部件通过控制线向执行部件发出各种控制命令。操作微指令是描述受控电路的操作语句 , 分支微指令是描述控制电路的分支语句。

一条机器指令的功能是若干条微指令组成的序列来实现的,即一条机器指令所完成的操作分成若干条微指令来完成,由微指令进行解释和执行,这个微指令序列通常叫做微程序。

微指令的编译方法是决定微指令格式的主要因素。考虑到速度,成本等原因,在设计计算机时采用不同的编译法 。因此微指令的格式大体分成两类:水平型微指令和垂直型微指令。

❺ 简述什么是微指令

在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作称为微指令。所以微指令就是把同时发出的控制信号的有关信息汇集起来形成的。将一条指令分成若干条微指令,按次序执行就可以实现指令的功能。若干条微指令可以构成一个微程序,而一个微程序就对应了一条机器指令。因此,一条机器指令的功能是若干条微指令组成的序列来实现的。简言之,一条机器指令所完成的操作分成若干条微指令来完成,由微指令进行解释和执行。微指令的编译方法是决定微指令格式的主要因素。微指令格式大体分成两类:水平型微指令和垂直型微指令。

❻ 微指令的格式可分为水平型微指令和什么

垂直型微指令。

微指令格式大体分成两类:水平型微指令和垂直型微指令。

垂直型微指令微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。

微指令是指在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作。所以微指令就是把同时发出的控制信号的有关信息汇集起来形成的。将一条指令分成若干条微指令,按次序执行就可以实现指令的功能。若干条微指令可以构成一个微程序,而一个微程序就对应了一条机器指令。因此,一条机器指令的功能是若干条微指令组成的序列来实现的。简言之,一条机器指令所完成的操作分成若干条微指令来完成,由微指令进行解释和执行。微指令的编译方法是决定微指令格式的主要因素。

❼ 微指令的垂直型微指令

微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。
垂直型微指令的结构类似于机器指令的结构.它有操作码,在一条微指令中只有l-2个微操作命令,每条微指令的功能简单,因此,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多 .它是采用较长的微程序结构去换取较短的微指令结构。

❽ 微指令的操作控制有几种编码方式

共5种:直接编码(直接控制)方式、字段直接编码方式、字段间接编码方式、混合编码、其他(常数字段)。特点:直接编码速度快,但控存容量极大;字段直接编码缩短了微指令的长度,但是增加了译码电路,使执行速度减慢;字段间接编码进一步缩短指令字长,但削弱了微指令的并行控制能力;混合编码综合考虑微指令的字长、灵活性、执行速度等方面的要求;常数字段用来提供常数、计数器初值等。照《计算机组成原理》手打的,求分分。楼上的是I/O设备控制方式,答非所问了。

❾ 学计算机多年的困惑......

计算机是分层抽象的,你应该学过编译原理和汇编语言吧!

最底层的硬件只能识别机器语言,也就是010001010……

人们为了好记,设计一种助记符,如ADD A,B,C代表把A和B相加,结果存到C,机器会把ADD转换成01101这样的指令,这就是汇编语言。

再到最后,人们又闲汇编太麻烦,逐渐发展出了高级语言,像C,C++,JAVA等,像C++中的Cout命令,通过C++编译器转换成汇编语言,再通过汇编解释器转化成机器语言,得到执行。期间,最重要的就是编译器,相当一个翻译的工具,把高级语言翻译成汇编语言。

其实计算机就是这么一层一层抽象的,都是为了更贴近人类的习惯,找本编译原理看看就明白了。

补充:cout是C++里的,只能编译成最基本的汇编语言,例如ADD,load,等等汇编指令,这些指令一般又可以分为微指令,像取地址,写到寄存器等等微指令。这些微指令分别对应不同的机器编码,例如011011。

微指令的编译方法是决定微指令格式的主要因素.考虑到速度,成本等原因,在设计计算机时采用不同的编译法 .因此微指令的格式大体分成两类:水平型微指令和垂直型微指令 .
1.水平型微指令
一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令.例如5.4节中所讲的微指令即为水平型微指令 .水平型微指令的一般格式如下:
控制字段 判别测试字段 下地址字段
按照控制字段的编码方法不同,水平型微指令又分为三种:一种是全水平型(不译法)微指令,第二种是字段译码法水平型微指令,第三种是直接和译码相混合的水平型微指令 .

2.垂直型微指令
微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令 .
垂直型微指令的结构类似于机器指令的结构.它有操作码,在一条微指令中只有l-2个微操作命令,每条微指令的功能简单,因此,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多 .它是采用较长的微程序结构去换取较短的微指令结构.
下面举4条垂直型微指令的微指令格式加以说明.
设微指令字长为16位,做操作码3位.
(1)寄存器-寄存器传送型微指令
15 13 12 8 7 3 2 0
0 0 0 源寄存器编址 目标寄存器编址 其他
其功能是把源寄存器数据送目标寄存器 .13—15位为微操作码(下同),源寄存器和目标寄存器编址各 5位,可指定31个寄存器.
(2)运算控制型微指令
_____________________________________________________________
其功能是选择ALU的左,右两输入源信息,按ALU字段所指定的运算功能(8种操作)进行处理,并将结果送入暂存器中.左,右输入源编址可指定31种信息源之一.�
(3)访问主存微指令�
_____________________________________________________________
其功能是将主存中一个单元的信息送入寄存器或者将寄存器的数据送往主存.存储器编址是指按规定的寻址方式进行编址.第1,2位指定读操作或写操作(取其之一).�
(4)条件转移微指令�
_____________________________________________________________
其功能是根据测试对象的状态决定是转移到D所指定的微地址单元,还是顺序执行下一条微指令.9位D字段不足以表示一个完整的微地址,但可以用来替代现行μPC的低位地址. 测试条件字段有4位,可规定16种测试条件.
3.水平型微指令与垂直型微指令的比较
(l)水平型微指令并行操作能力强.效率高,灵活性强,垂直型微指令则较差.
在一条水平型微指令中,设置有控制信息传送通路(门)以及进行所有操作的微命令,因此在进行微程序设计时,可以同时定义比较多的并行操作的微命令,来控制尽可能多的并行信息传送,从而使水平型微指令具有效率高及灵活性强的优点 .
在一条垂直型微指令中,一般只能完成一个操作,控制一两个信息传送通路,因此微指令的并行操作能力低,效率低 .
(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长.
因为水平型微指令的并行操作能力强,因此与垂直型微指令相比,可以用较少的微指令数来实现一条指令的功能,从而缩短了指令的执行时间 .而且当执行一条微指令时,水平型微指令的微命令一般直接控制对象,而垂直型微指令要经过译码也会影响速度 .
(3)由水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点.垂直型微指令则相反,微指令字比较短而微程序长 .
(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说.比较容易掌握 .
水平型微指令与机器指令差别很大,一般需要对机器的结构,数据通路,时序系统以及微命令很精通才能设计 .
5.5.4 动态微程序设计
微程序设计技术有静态微程序设计和动态微程序设计之分.
1.静态微程序设计
对应于一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般无须改变而且也不好改变,这种微程序设计技术称为静态微程序设计.
2.动态微程序设计
当采用EPROM作为控制存储器时,还可以通过改变微指令和微程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计.采用动态微程序设计时,微指令和微程序可以根据需要加以改变,因而可在一台机器上实现不同类型的指令系统.这种技术又称为仿真其他机器指令系统,以便扩大机器的功能.

热点内容
app什么情况下找不到服务器 发布:2025-05-12 15:46:25 浏览:713
php跳过if 发布:2025-05-12 15:34:29 浏览:466
不定时算法 发布:2025-05-12 15:30:16 浏览:129
c语言延时1ms程序 发布:2025-05-12 15:01:30 浏览:163
动物园灵长类动物配置什么植物 发布:2025-05-12 14:49:59 浏览:732
wifi密码设置什么好 发布:2025-05-12 14:49:17 浏览:147
三位数乘两位数速算法 发布:2025-05-12 13:05:48 浏览:396
暴风影音缓存在哪里 发布:2025-05-12 12:42:03 浏览:539
access数据库exe 发布:2025-05-12 12:39:04 浏览:627
五开的配置是什么 发布:2025-05-12 12:36:37 浏览:363