对运算器部件,I8~I6,I5~I3,I2~I0,A口、B口,SST,SCI,SSH这24位控制信号的用法不变,但多出了SA和SB两位控制信号,用于选择送到A口、B口的信息来自何处,既可以来自指令寄存器的操作数地址字段SR、DR,例如执行ADD、SHR等指令时,将由指令寄存器的操作数地址字段SR、DR来选择所使用的寄存器。也可以来自微指令的A口、B口字段,例如使用PC、SP等专用寄存器(读取指令和读写堆栈的过程)时,使用指令中默认的(不在指令中直接指出)的寄存器(执行IN、OUT指令使用R0,LOD、STO指令要用R9和R8寄存器作为地址,JMP和CALL指令使用R11和R10作为转移和子程序入口地址)时,就只能通过微指令的A口、B口字段来指明所使用的寄存器编号。为此,特规定:

A口的值的来源
B口的值的来源
SA=1
来自指令寄存器的SR字段
SB=1
来自指令寄存器的DR字段
SA=0
来自微指令字的 A 口字段
SB=0
来自微指令字的 B 口字段

  在组合逻辑控制器中,选择送到A口、B口的信息的来源的工作,已通过硬件逻辑电路直接解决,故不必使用专门的SA、SB控制信号。

  对存储器和串行接口部件的读写操作,还是使用 /MIO、REQ、/WE三位控制信号,其操作功能与组合逻辑控制器中的规定相同。

  变化还表现在对DC2和DC1的使用上。在组合逻辑的控制器中,只使用DC2和DC1的低3位。在微程序的控制器中,还多出一些特定用法,要使用DC2和DC1的全部4位。

  规定DC1的最高位用于决定是否把8位手拨开关的内容送到内部总线IB。当所有部件都不向IB发送数据时,会使IB处于高阻态,影响计算机的可靠性。此时使这一位为1,将把8位手拨开关的内容送到内部总线IB,以确保IB出于正常的逻辑电平。

  规定DC2的最高位用于决定读取指令时,指令来自何处。当这一位为1时,指令来自8位手拨开关,这是调试不同指令执行过程最方便的方式,用主板上的一位功能开关来控制。当这一位为0时,指令来自内存储器,是教学机正常的运行方式。目前暂规定DC2的次高位用于串行接口的片选信号/CS(以后可能会变化)。

  需要说明,在设计微指令格式时,应保证微指令内容的良好的可读性,主要指按16进制形式书写微指令内容时(ROM编程用),每一个16进制数的控制功能应该尽量独立和明确,最好不要经过拆分与重组后才能看清。这样可以大大降低书写或理解一条微指令各字段内容的难度。

  例如,使4位的小字段(如A口、B口编码)单独占据半个字节的位置;
  使那些3位的小字段地占据半个字节的低3位,并把余下来的1位再指派另外的用途(如果需要)。
  把两个2位的编码分配在半个字节中,并使其各占据1/4个字节。