什么是微机处理一般程序的第1步

什么是微机处理一般程序的第1步,第1张

鉴别。

微机处理程序的第一步通常是鉴别微机程序的 *** 作系统。

微机处理程序通常是指,计算机程序。又称“计算机软件”。通过指令的顺序,使计算机能按所要求的功能进行精确记述的逻辑方法。计算机本身作为机器可以获得专利,但计算机程序是一种数学逻辑方法,各国一般不予保护。

在微指令的控制字段中,每一位代表一个微命令,在设计微指令时,是否发出某个微命令,只要将控制字段中相应位置成"1"或"0",这样就可打开或关闭某个控制门,这就是直接控制法

在63节中所讲的就是这种方法但在某些复杂的计算机中,微命令甚至可多达三四百个,这使微指令字长达到难以接受的地步,并要求机器有大容量控制存储器,为了改进设计出现了以下各种编译法

641 微指令的编译法(编码译码方法)(2)

2字段直接编译法

在计算机中的各个控制门,在任一微周期内,不可能同时被打开,而且大部分是关闭的(相应的控制位为"0")所谓微周期,指的是一条微指令所需的执行时间如果有若干个(一组)微命令,在每次选择使用它们的微周期内,只有一个微命令起作用,那么这若干个微命令是互斥的

例如,向主存储器发出的读命令和写命令是互斥的;又如在ALU部件中,送往ALU两个输入端的数据来源往往不是唯一的,而每个输入端在任一微周期中只能输入一个数据,因此控制该输人门的微命令是互斥的

选出互斥的微命令,并将这些微命令编成一组,成为微指令字的一个字段,用二进制编码来表示, 就是字段直接编译法

641 微指令的编译法(编码译码方法)(3)

例如,将7个互斥的微命令编成一组,用三位二进制码分别表示每个微命令,那么在微指令中,该字段就从7位减成3位,缩短了微指令长度而在微指令寄存器的输出端,为该字段增加一个译码器,该译码器的输出即为原来的微命令

641 微指令的编译法(编码译码方法)(4)

字段长度与所能表示的微命令数的关系如下:

字段长度 微命令数

2位 2~3

3位 4~7

4位 8~15

一般每个字段要留出一个代码,表示本段不发出任何微命令,因此当字段长度为3位时,最多只能表示7个互斥的微命令,通常代码000表示不发微命令

641 微指令的编译法(编码译码方法)(5)

3字段间接编译法

字段间接编译法是在字段直接编译法的基础上,进一步缩短微指令字长的一种编译法

如果在字段直接编译法中,还规定一个字段的某些微命令,要兼由另一字段中的某些微命令来解释,称为字段间接编译法

本方法进一步减少了指令长度,但很可能会削弱微指令的并行控制能力,因此通常只作为直接编译法的一种辅助手段

641 微指令的编译法(编码译码方法)(6)

字段A(3位)的微命令还受字段B控制,当字段B发出b1微命令时,字段A发出a1,1,a1,2,…,a1,7中的一个微命令;而当字段B发出b2微命令时,字段A发出a2,1,a2,2,…,a2,7中的一个微命令,仅当A为000时例外,此时什么控制命令都不产生

641 微指令的编译法(编码译码方法)(7)

4常数源字段E

在微指令中,一般设有一个常数源字段E就如指令中的直接 *** 作数一样E字段一般仅有几位,用来给某些部件发送常数,故有时称为发射字段

该常数有时作为 *** 作数送入ALU运算;有时作为计算器初值,用来控制微程序的循环次数等

642 微程序流的控制 (1)

当前正在执行的微指令,称为现行微指令,现行微指令所在的控制存储器单元的地址称现行微地址,现行微指令执行完毕后,下一条要执行的微指令称为后继微指令,后继微指令所在的控存单元地址称为后继微地址

所谓微程序流的控制是指当前微指令执行完毕后,怎样控制产生后继微指令的微地址

与程序设计相似,在微程序设计中除了顺序执行微程序外还存在转移功能和微循环程和微子程序等,这将影响下址的形成

下面介绍几种常见的产生后继微指令地址的方法

642 微程序流的控制 (2)

(1)以增量方式产生后继微地址

在顺序执行微指令时,后继微地址由现行微地址加上一个增量(通常为1)形成的;而在非顺序执行时则要产生一个转移微地址

机器加电后执行的第一条微指令地址(微程序入口)来自专门的硬件电路,控制实现取令 *** 作,然后由指令 *** 作码产生后继微地址接下去,若顺序执行微指令,则将现行微地址主微程序计数器( PC中)+1产生后继微地址;若遇到转移类微指令,则由 PC与形成转移微地址的逻辑电路组合成后继微地址

642 微程序流的控制 (3)

642 微程序流的控制 (4)

(2)增量与下址字段结合产生后继微地址

将微指令的下址字段分成两部分:转移控制字段BCF和转移地址字段BAF,当微程序实现转移时,将BAF送 PC,否则顺序执行下一条微指令( PC+1)

执行微程序条件转移时,决定转移与否的硬件条件有好几种例如,"运算结果为零","溢出","已完成指定的循环次数"等

我们假设有八种转移情况,定义了八个微命令(BCF取3位),在图中设置计数器CT用来控制循环次数如在执行乘(或除)法指令时,经常采用循环执行"加,移位"(或减,移位)的方法,指令开始执行时,在CT中置循环次数)每执行一次循环,计数器减1,当计数器为零时结束循环又考虑到执行微子程序时,要保留返回微地址,因此图中设置了一个返回寄存器RR

机器指令的 *** 作码字段。根据查询相关公开信息显示,当执行完公用的取指微程序从主存中取出机器指令之后,由机器指令的 *** 作码字段指出各个微程序的人口地址(初始微地址)。采用微程序控制方式的控制器称为微程序控制器。

微代码和汇编都是低级语言,但是微代码比汇编更底层。微代码和汇编都和硬件有着紧密的联系,但是对于同一产品系列的不同代产品来说,汇编可以完全相同,微代码可能有着巨大的区别,因为微代码是完全依赖于芯片内部的硬件连接。

对于同样一句c语言,在不同的处理器上会生成不同的汇编语言。每一条汇编语言的执行时间也许是一个或者两个时钟周期,甚至更多。微代码和汇编的关系,就像c

与汇编的关系,也就是说一条汇编也许会生成一条或多条微代码。所谓微代码,或者微指令,是处理器内部最小的 *** 作原语,控制着诸如门电路(gates)开关等专门动作,和组成一条指令的微 *** 作的序列。例如,对于一个加法"add"的简单动作,微代码可以决定接受哪两个寄存器或总线为输入,输出到什么总线或者寄存器里,标志寄存器要保存还是丢弃,根据条件进行跳转或者直接执行下一条微代码。一个内部只有8位宽的数据总线完全可以支持32位整数的汇编 *** 作,就是因为有微代码。

微代码原来只是用来开发计算机的逻辑控制。古老的cpu往往都是“硬连线”,每个机器指令(加法,移动)都是由电路实现,虽然有着高性能的优点,但随着指令复杂度的增长,也带来了研发和debug的困难,以及电路的复杂性。微代码的出现让cpu的设计者可以通过写一个微程序的方式来实现一条机器指令,而不是设计电路来实现它。在将来的开发设计过程中,微代码可以很容易地改变,硬件电路却不可更改,否则带来的将是巨大的商业损失。这种灵活的cpu设计导致了今天日益复杂的指令集。

微程序控制的基本思想,就是仿照通常的解题程序的方法,把 *** 作控制信号编成所谓的“微指令”,存放到一个只读存储器里.当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种 *** 作控制信号,使相应部件执行所规定的 *** 作

采用微程序控制方式的控制器称为微程序控制器。所谓微程序控制方式是指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。一条机器指令往往分成几步执行,将每一步 *** 作所需的若干位命令以代码形式编写在一条微指令中,若干条微指令组成一段微程序,对应一条机器指令。在设计cpu时,根据指令系统的需要,事先编制好各段微程序

,且将它们存入一个专用存储器(称为控制存储器)中。微程序控制器由指令寄存器ir、程序计数器pc、程序状态字寄存器psw、时序系统、控制存储器cm、微指令寄存器以及微地址形成电路、微地址寄存器等部件组成。执行指令时,从控制存储器中找到相应的微程序段,逐次取出微指令,送入微指令寄存器,译码后产生所需微命令,控制各步 *** 作完成。

以上就是关于什么是微机处理一般程序的第1步全部的内容,包括:什么是微机处理一般程序的第1步、微程序设计的基本原理是什么、在微程序控制器中,微程序的入口地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9637578.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存