已知某CPU的微指令字长为32位,采用下址字段法;其中测试字段的测试条件有5个,微操作控制信号共有70个,构成5个互斥类的微命令组,各组包含微命令的数量分别是:7个,8个,8个,16个,31个,若微程序控制器编码采用混合表示法,其中测试字段采用直接表示法,操作控制字段采用编码表示法,那么操作控制字段有多少位,测试判别字段有多少位,下址字段有多少位?
时间: 2023-06-27 07:08:25 浏览: 165
根据题意,我们可以列出以下表格:
| 互斥类 | 包含微命令的数量 |
| --- | --- |
| 1 | 7 |
| 2 | 8 |
| 3 | 8 |
| 4 | 16 |
| 5 | 31 |
由于微指令字长为32位,其中测试字段采用直接表示法,因此测试判别字段有5位。设操作控制字段有$x$位,则每个微命令组所需的地址位数分别为:
| 互斥类 | 包含微命令的数量 | 所需地址位数 |
| --- | --- | --- |
| 1 | 7 | $5+x$ |
| 2 | 8 | $5+x$ |
| 3 | 8 | $5+x$ |
| 4 | 16 | $6+x$ |
| 5 | 31 | $7+x$ |
又因为采用的是下址字段法,即每条微程序的起始地址都存放在前一条微程序的微指令中,因此下址字段的长度为前一条微程序的地址长度,即:
$$
\begin{aligned}
地址长度 &= \max\{5+x,5+x,5+x,6+x,7+x\} \\
&= \max\{5+x,6+x,7+x\} \\
&= 7+x
\end{aligned}
$$
又因为微指令字长为32位,因此操作控制字段和测试判别字段的长度之和为:
$$
x + 5 + (7+x) = 32
$$
解得$x=20$,代入上式可得测试判别字段长度为5位,下址字段长度为$7+x=27$位,操作控制字段长度为$x=20$位。
相关问题
某计算机按字节编址,指令字长固定且只有两种指令格式,其中三地址指令 29条,二地 址指令 107 条,每个地址字段为 6位,则指令字长至少应该是多少位
在按字节编址的计算机中,每个存储单元只能存储一个字节,因此指令字长必须是字节的整数倍。每个地址字段为6位,则一个地址需要占用6位二进制位或者3/4个字节的存储空间。由于指令字长固定,因此指令字长必须满足以下条件:
1. 指令字长必须是字节的整数倍。
2. 每个指令中的地址字段必须占用完整的字节,不能跨越两个字节。
对于三地址指令,它需要3个地址字段,因此一个三地址指令需要占用 $3\times6=18$ 位二进制位或者 3 个字节的存储空间。对于二地址指令,它需要2个地址字段,因此一个二地址指令需要占用 $2\times6=12$ 位二进制位或者 2 个字节的存储空间。因此,指令字长必须满足以下条件:
1. 对于三地址指令,指令字长至少为 $3\times3=9$ 个字节。
2. 对于二地址指令,指令字长至少为 $2\times2=4$ 个字节。
因此,指令字长至少应该是 9 个字节或 72 个二进制位。
某计算机按宇节编址,指令字长固定且只有两种指令格式,其中三地址指令 29条,二地 址指令 107 条,每个地址字段为 6位,则指令字长至少应该是多少
由题可知,该计算机共有136条指令(29条三地址指令 + 107条二地址指令)。每个地址字段为6位,则一个地址需要占用6位二进制位。对于三地址指令,它需要3个地址字段,因此一个三地址指令需要占用 $3\times6=18$ 位二进制位。对于二地址指令,它需要2个地址字段,因此一个二地址指令需要占用 $2\times6=12$ 位二进制位。因此,总的指令字长为:
$$
29\times18 + 107\times12 = 3090
$$
也就是说,指令字长至少应该是 3090 位二进制位。