分享

计算机系统中几个“周期”的概念区别、微指令与机器指令关系

 木芙蓉的图书馆 2011-05-11

时钟周期,一般也称振荡周期(如果晶振的输出没有经过分频就直接作为cpu的工作时钟,则时钟周期就等于振荡周期)。通常成为节拍脉冲或者T周期,它是cpu处理操作的最基本单位。
 
机器周期,一般也成为CPU周期,由于CPU的内部操作很快,而CPU访问一次内存的时间较长,因此通常用内存中读取一个指令字最短的时间来规定CPU周期。也就是说,一条指令的取出阶段(通常称为取指)需要一个CPU周期。而一个CPU周期时间又包含有若干个时钟周期。但是,必须指出,对于CPU周期的规定在各种计算机中不尽相同。
 
指令周期:CPU每取出并执行一条指令,都要完成一系列的操作,这一系列的操作所需要的时间通常叫做一个指令周期。更简单地说,指令周期是取出并执行一条指令的时间。由于各种指令的操作功能不同,有的简单,有的复杂,因此各种指令周期是不尽相同的。例如。一条访内指令的指令周期,同一条非访内指令的指令周期是不同的。
 
微指令周期:在串行方式的微程序控制器中,微指令周期等于读出微指令的时间加上执行该条微指令的时间。为了保证整个机器的控制信号的同步,可以将一个微指令周期设计的恰好和CPU周期时间相等。
 
总线周期:它由一个地址周期和一个或者多个数据周期组成。cpu在执行指令过程中,凡需执行访问存储器或访问I/O端口的操作都统一交给BIU的外部总线完成,进行一次访问(存取一个字节)所需的时间称为一个总线周期。一般一个基本的总线周期由4个时钟周期组成。
 
总线周期详解:

8086CPU存储器或外部设备通信,是通过20位分时多路复用地址数据总线来实现的。为了取出指令或传输数据,CPU要执行一个总线周期

  • 1.总线周期

我们通常把8086CPU经外部总线对存储器或I/O端口进行一次信息的输入或输出过程,称为总线操作。而把执行该操作所需要的时间,称为总线周期总线操作周期。由于总线周期全部由BLU来完成,所以也把总线周期称为BIU总线周期。 8086的总线周期至少由4个时钟周期组成。每个时钟周期称为T状态,用T1、T2、T3和T4表示。在T1状态期间,CPU将存储地址或I/O端口的地址置于总线上。若要将数据写入存储器或I/O设备,则在T2~T4这段时间内,要求CPU在总线上一直保持要写的数据;若要从存储器或I/O设备读入信息,则CPU在T3~T4状态由存储器或I/O设备置于总线上的信息。 BIU只有在下列情况下,执行一个总线周期: ①在指令的执行过程中,根据指令的需要,由执行单元EU,请求BIU执行一个总线周期。例如,取操作数或存放指令执行结果等。 ②当指令队列寄存器已经空出两个字节,BIU必须填写指令队列的时候。这样,在这两总线操作周期之间,就有可能存在着BIU不执行任何操作的时钟周期。

  • 2.空闲状态TI(Idle State)

在两个总线周期之间,存在着BIU不执行任何操作的时钟周期,这些不起作用的时钟周期称为空闲状态,用TI表示。空闲状态可以由几种情况引起。例如,当8086CPU的把总线的主控权交给协处理机的时候;当8086执行一条长指令--16位的乘法指令MUL,或除法指令DIV的时候(MUL的执行时间为124时钟周期+EA,DIV的执行时间为155时钟周期+EA)。这时BIU有相当长的一段时间不执行任何操作,其时钟周期处于空闲状态。 8086的总线周期中,除了空闲状态TI以外,还有一种等待状态TW。

  • 3.等待状态TW(Wait State)

8086CPU与慢速的存储器和I/O接口交换信息时,为了防止丢失数据,在总线周期的T3和T4之间插入一些必要的等待状态TW,用来给予必要的时间补偿。在等待状态期间,总线上的信息保持不变,其他一些控制信号也都保持不变。

    在CPU当中,一般操作控制器根据设计方式的不同,操作控制器可以分为硬布线控制器,微程序控制器,以及前两种的综合方式的控制器。操作控制器的功能就是根据操作码和时序产生器产生的时序信号,产生各种操作控制信号,以便正确地建立数据通路(通常把许多寄存器之间传送信息的通路成为数据通路,信息从什么地方开始,中间经过哪个寄存器或者多路开关,最后传到哪个寄存器,都由操作控制器控制完成),从而完成取指令和执行指令的控制。

    微程序设计技术是利用软件方式来设计硬件的一门技术。微程序控制的基本思想是仿照通常的解题程序方式,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器中。当机器运行时候,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。

   微指令和微操作

   一台数字计算机基本上可以划分为两大部分---控制部件和执行部件。控制器就是控制部件,而运算器、存储器、外围设备相对控制器来说就是执行部件。那么两者是这么联系的呢?控制部件与执行部件的一种联系就是通过控制线。控制部件通过控制线向执行部件发出各种控制命令,通常这种控制命令叫做微命令,而执行部件接受微命令后所执行的操作就叫做微操作。控制部件与执行部件之间的另一种联系就是反馈信息。执行部件通过反馈线向控制部件反映操作情况,以便使得控制部件根据执行部件的状态来下达新的微命令,这也叫做“状态测试”。微操作在执行部件中是组基本的操作。由于数据通路的结构关系,微操作可分为相容性和相斥性两种。

  在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。一般的微指令格式由操作控制和顺序控制两部分构成。操作控制部分用来发出管理和指挥全机工作的控制信号。其顺序控制部分用来决定产生下一个微指令的地址。事实上一条机器指令的功能是由许多条微指令组成的序列来实现的。这个微指令序列通常叫做微程序。既然微程序是有微指令组成的,那么当执行当前的一条微指令的时候。必须指出后继微指令的地址,以便当前一条微指令执行完毕以后,取下一条微指令执行。

   机器指令和微指令的关系归纳如下:

1. 一条机器指令对应一个微程序,这个微程序是由若干条微指令构成的。因此,一条机器指令的功能是若干条微指令组成的序列来实现的。简而言之,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。

2.从指令与微指令,程序与微程序,地址与微地址的一一对应关系上看,前者与内存储器有关,而后者与控制存储器(它是微程序控制器的一部分。微程序控制器主要由控制存储器、微指令寄存器地址转移逻辑三部分组成。其中,微指令寄存器又分为微地址寄存器和微命令寄存器两部分)有关,与此相关也有相对应的硬设备。

3.从一般指令的微程序执行流程图可以看出。每个CPU周期就对于一条微指令。这就告诉我们怎么设计微程序,也将使得我们进一步体验到机器指令很微指令的关系。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多