当前位置: 第六章 计算机的控制器部件 >> 第三十讲
讲选: 23/24/25/26/27/28/29/30

(1)节拍发生器的设计原理

  TEC-2000 16位机实现了29条指令,使用了 8 个节拍(不含响应中断的步骤),为此,节拍发生器至少要使用 4 位触发器,可以产生最多 24 个节拍;
  使用 4个触发器(分别命名为 T3 T2 T1 T0)不同的状态组合来区分每一个节拍,例如,用T3 T2 T1 T0 =1000 来标识最顶上一行的那个节拍,如此等等,正象前页一图所示。如何为每个节拍分配 4个触发器的状态组合,需要遵循的原则是:尽量做到从当前节拍切换到下一个节拍时,只有一个触发器的状态发生变化,办不到时,也要尽量使状态发生变化的触发器数目最少。此外,还要考虑有利于对写出的节拍发生器的逻辑表达式的逻辑化简。前一页给出的设计结果已经较好地体现了上述设计要求。
  接下来的工作是按上图给出的设计结果,写出设计与实现这一节拍发生器的线路所依据的逻辑表达式。

节拍发生器的设计原理

  按照节拍状态转换图(有限状态图)的结果,设计这一节拍发生器的逻辑线路的首要任务,是写出该节拍发生器线路的逻辑表达式。具体要求是写出反映每一个触发器的完整的状态转换序列的逻辑表达式。在该表达式中:
(1)用一个与项表示在一个节拍中该触发器取值为 1 的一种状态,参加与运算的元素是:
进到本节拍的前一个节拍的 4个触发器的取值状态 (用 Ti 和 /Ti分别表示该触发器的 1 状态和 0 状态);
从前一个节拍得以进到本节拍的限制条件(可能没有),如指令组(用代表该指令组的表达式表示)或具体的一条指令(用相应指令的操作码表示)等。
(2)再把所有节拍中该触发器取值为 1 的情形用或项表示在一个表达式中。下面看实际的例子。

(2)时序控制信号形成部件的设计与实现

时序控制信号形成部件用于提供计算机各功能部件运行所要求的每一位控制信号。
设计与实现的过程是:
1) 设计指令执行流程表;
2) 按流程表写出每一位控制信号的逻辑表达式;
  用一个与项表示一位控制信号在流程表的一个横行中为 1 的情形;
  用一个或项汇总这位控制信号在流程表中所有横行中为 1 的全部情形;
按前两步方法依次写出每一个控制信号的逻辑表达式,若可能,适当化减。
3) 编译得到的逻辑表达式,并写入可编程芯片中
4) 对设计结果进行调试、改错,直到全部正确。
5) 把新设计的指令与原有指令用在同一程序中并运行,检查设计结果的正确性。

指令执行流程表设计

与微程序控制器中的微程序相比较,组合逻辑的控制器需提供的控制信号有某些变化:
① 微程序中使用的下地址字段不再有用,这里通过节拍发生器解决指令执行步骤的衔接关系,少了16 bits
② 微指令中的 SA 和 SB不再有用,又少了2 bits,在组合逻辑控制器中,全部累加器编号都直接写在表达式中。
③ 指令操作码,微指令中不出现,但在组合逻辑控制器中的每一个节拍中,要用其区分不同指令,故必须出 现在指令执行流程表中;
④ 需要提供的其他控制信号,对两种控制器可以相同,故也可以通过直接修改相关为程序的内容来完成。

指令执行流程表举例

ADD DR, SR   MVRR DR, SR
IN IO-PORT   CALA ADR

按流程表写出每一位控制信号的逻辑表达式:
用一个与项表示一位控制信号在流程表的一个横行中为 1 的情形;
用一个或项汇总这位控制信号在流程表中所有横行中为 1 的全部情形;
按前两步方法依次写出每一个控制信号的逻辑表达式, 若可能适当化简。
例如:MRW字段中的:
R = /T3*T2*/T1*/T0*IR15*/IR14*/IR13*/IR12*/IR11*/IR10*IR9*/IR8
I2~I0 字段中的:
I2 = /T3*/T2*T1* T0*/IR15*/IR14*/IR13*/IR12*/IR11* IR10*IR9* IR8 + /T3* T2* T1*/T0* IR15*/IR14*/IR13*/IR12*/IR11*/IR10*IR9*/IR8 + /T3* T2*/T1*/T0* IR15*/IR14*/IR13*/IR12*/IR11*/IR10*IR9*/IR8 + /T3* T2*/T1*/T0* IR15*/IR14*/IR13*/IR12*/IR11*/IR10*IR9*/IR8
/I0 = /T3*/T2*T1*/T0 + /T3*/T2*T1* T0*/IR15*/IR14*/IR13*/IR12*/IR11* IR10*IR9* IR8 + /T3*T2*/T1* T0* IR15* IR14*/IR13*/IR12* IR11* IR10*IR9*/IR8
3) 编译得到的逻辑表达式,并写入现场可编程芯片中
4) 把新设计的指令与原有指令用在同一程序中并运行,检查 设计结果的正确性。
5) 对设计结果进行调试、改错,直到全部正确;

组合逻辑与微程序控制器比较

·相同点
  -完成相同的功能
  -控制信号基本相同
·不同点
  -控制信号生成部件的组成和实现方式不同
  -步骤标记实现方式不同
  -性能不同

讲选: 23/24/25/26/27/28/29/30