先行控制技术

            采用先行控制技术的关键是缓冲技术预处理技术

         1.缓冲技术-在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑功能部件之间的工作速度。
         2.预处理技术--将进入运算器的指令均处理成RR型指令,而某些栈为其提供所需的操作数(先行读数栈、后续写数栈),这样运算器在进行预算时无需访问存储器,从而加快速度。

         一、处理机结构

              三个独立的控制器:
                       存储控制器、指令控制器、运算控制器。
              四个缓冲栈:
                      先行指令缓冲栈、先行读数缓冲栈、先行操作栈、后行写数栈。

  先行控制技术_第1张图片

     原理:

    1、  在主存空闲时,即从主存中取出指令放入先行指令缓冲栈,以供指令分析器使用。
             预取先行指令缓冲栈遵循先进先出。
             指令分析器对缓冲栈中的指令进行预处理,并送入先行操作栈


    2、对于运算类的指令--则要处理成RR型的指令

        如果指令本身就是RR型,则不作任何处理;如果是RS型,则分析器计算出操作数有效地之后送入先行读数栈或后行写数栈的地址寄存器,并将对应的地址寄存器的编号代替指令中的主存地址后送入先行操作栈;如果是RI型,则将立即数送入先行读数栈的操作数寄存器,并用此寄存器的编号代替指令中的立即数字段。这样,所有的运算类指令执行时都将访问寄存器,加快运算速度。

     3、再看先行读数栈,每当先行读数栈收到分析器送来的有效地之后,即将地址有效标志位置位,并向主存申请读操作数,取得的操作数放入对应的先行操作数缓冲寄存器中,并置数据有效标志位,做废刚才的地址有效标志位,以供相应的指令使用操作数。


      4、再看后行写数栈,每当后行写数栈收到分析器送来的有效地之后,即将地址有效标志位置位;这样,当相应的运算类指令执行完毕后不再马上写主存,而是先送入相应的后行写数据缓冲寄存器中,并置数据有效标志位。控制器自动根据相应的后行写地址缓冲寄存器中的地址向主存发出写请求。

你可能感兴趣的:(计算机系统结构,计算机组成原理)