已知TEC-8模型计算机可用控存空间中11H、2FH、3FH共3个单元空闲,试根据现有控存结构、微操作控制信号和机器时序,尝试进行指令扩展,扩展岀一条新指令。要求给岀该指令对应的微程序,列岀每一拍所需的微操作控制信号,分配控存空间,并验证其功能
时间: 2024-01-06 13:03:14 浏览: 29
根据题目要求,我们需要进行指令扩展并给出该指令对应的微程序,列出每一拍所需的微操作控制信号,并分配控存空间,并验证其功能。我们可以按照以下步骤进行:
1. 确定指令的功能和操作数
假设我们要扩展的指令为ADDI,表示将指定的寄存器加上一个常数值。该指令的操作数包括一个寄存器和一个常数值。
2. 设计微程序流程图
根据ADDI指令的功能,设计微程序流程图。以下是ADDI指令的微程序流程图:
```
微地址 微指令 控制信号
0000 MAR <- PC MI
0001 PC <- PC + 1 CI
0010 IR <- MBR RO
0011 DR <- IR(7-0) AO
0100 AR <- R(DR) AI
0101 T <- AR + MBR FI
0110 R(DR) <- T BI
0111 STOP -
```
3. 列出每一拍所需的微操作控制信号
根据微程序流程图,列出每一拍需要的微操作控制信号:
```
拍数 控制信号
1 MI
2 CI
3 RO
4 AO
5 AI
6 FI
7 BI
8 -
```
4. 分配控存空间
由于现有控存结构中11H、2FH、3FH共3个单元空闲,我们可以将ADDI指令放到11H单元空间。因此,将ADDI指令的微程序存储到控存的11H单元空间中。
5. 验证ADDI指令的功能
为了验证ADDI指令的功能,可以编写一个简单的程序,使用ADDI指令将寄存器R0加上一个常数值,然后输出结果。以下是一个简单的程序示例:
```
LDA 0
ADDI 5
OUT
HLT
```
该程序的功能是将寄存器R0的值加上5,然后输出结果。执行该程序后,可以得到正确的结果。
综上所述,我们成功地进行了指令扩展,并给出了ADDI指令的微程序流程图、每一拍所需的微操作控制信号,并分配了控存空间。通过编写一个简单的程序,我们也成功地验证了ADDI指令的功能。