问答题
某微程序计算机具有12条微指令V1~V12,每条微指令所包含的微命令信号如表所示。
{{B}}微命令信号{{/B}}
|
| 微指令 |
所包含的微指令信号 |
| V1 |
a,d,e,n |
| V2 |
h |
| V3 |
a,h,j |
| V4 |
a,b,c,d |
| V5 |
a,e,f,j |
| V6 |
a,b,k |
| V7 |
a,f,g |
| V8 |
a,d,e,i |
| V9 |
a,b,k |
| V10 |
a,h,l |
| V11 |
a,b,k,m |
| V12 |
a,e |
上表中,a~n分别对应14种不同的微命令,假设一条微命令长20位,其中操作控制字段为8位,控存容量为1K×20位。要求:
问答题
采用“不译法”与“分段直接编码法”混合设计此机微指令的操作控制字段格式,并为每个微命令分配编码;
【正确答案】为了压缩指令的长度,必须设法将一个微指令周期中的互斥性微命令信号组合在一个小组中,进行分组译码。经分析,14个微命令可分为三个小组或三个字段:(b,e,h),(c,g,i,j,k,l,n)和(d,f,m),然后经过译码,可得到13个微命令信号,剩下的a微命令信号可以直接控制产生,其整个操作控制字段格式如下所示:
| 1位(字段1) |
2位(字段2) |
3位(字段3) |
2位(字段4) |
其中字段1:直接控制产生a;
字段2:01:b,10:e,11:h。
字段3:001:c,010:g,100:i,100:j,101:k,110:l,111:n。
字段4:01:d,10:f,11:m。
【答案解析】
问答题
采用“增量”与“下址字段”相结合的方式设计此机微指令的顺序控制字段格式,若要使微程序可在整个控存空间实现转移,则该微指令的顺序控制字段可直接表示出几个转移条件?
【正确答案】用增量与下地址结合法安排顺序控制字段:
在这种方式下微指令寄存器有计数的功能,但在微指令中仍设置一个顺序控制字段,它分成两部分:条件选择字段与转移地址字段。由这两个字段结合,当转移条件满足时,将转移地址字段作为下一个微地址,若无转移要求,则直接从微程序计数器中取得下一条指令。
据题意,控存的容量为1K×20位,要求在整个控存空间实现转移,所以下地址字段为10位。这样还剩下20-8-10=2位,用于条件选择字段,则一共可以表示4种编码,其中一种必须表示不转移的情况,所以该指令的顺序控制字段可直接表示出3个转移条件。
【答案解析】
问答题
画出此机微指令的完整格式图,并标出每个具体字段所需的二进制位数。
【正确答案】微指令的完整格式如下所示:
| 1位(字段1) |
2位(字段2) |
3位(字段3) |
2位(字段4) |
2位(字段5) |
10位(字段6) |
其中字段1至字段4组成操作控制字段,字段5为条件选择字段,字段6为转移地址字段,字段5和字段6组成顺序控制字段。 解析:首先,我们可以先列出一张表格,将每个微指令包含的微指令信号打钩。
| 微指令 |
微指令信号 |
| a |
b |
C |
d |
e |
f |
g |
h |
i |
j |
k |
l |
m |
n |
| V1 |
√ |
|
|
√ |
√ |
|
|
|
|
|
|
|
|
√ |
| V2 |
|
|
|
|
|
|
|
√ |
|
|
|
|
|
|
| V3 |
√ |
|
|
|
|
|
|
√ |
|
√ |
|
|
|
|
| V4 |
√ |
√ |
√ |
√ |
|
|
|
|
|
|
|
|
|
|
| V5 |
√ |
|
|
|
√ |
√ |
|
|
|
√ |
|
|
|
|
| V6 |
√ |
√ |
|
|
|
|
|
|
|
|
√ |
|
|
|
| V7 |
√ |
|
|
|
|
√ |
√ |
|
|
|
|
|
|
|
| V8 |
√ |
|
|
√ |
√ |
|
|
|
√ |
|
|
|
|
|
| V9 |
√ |
√ |
|
|
|
|
|
|
|
|
√ |
|
|
|
| V10 |
√ |
|
|
|
|
|
|
√ |
|
|
|
√ |
|
|
| V11 |
√ |
√ |
|
|
|
|
|
|
|
|
√ |
|
√ |
|
| V12 |
√ |
|
|
|
√ |
|
|
|
|
|
|
|
|
|
首先,观察信号a,除了V2没有外,其他都有。接下来就看其他信号有没有除了V2有,其他都没有的,一眼望去,显然不存在。那么信号a必须单独为一组,既然这一组只有1个信号,那么就可以采用直接控制方式。接着看信号b,c和d显然不行,因为都属于V4,然后看信号e,没有问题,没有交集。依次类推到最后一个信号,发现b,e,h没有交集。同理,又从c开始。于是得到三个字段。
【答案解析】