🏷️ 知识点:进程的互斥
当微指令采用分段编码时,我们将互斥性微命令( )。
A. 放在同一段中 B. 用多级译码来区分 C. 放在不同段中 D. 任意存放
[tag_link]
正确答案:A
在微指令的分段编码(也称为字段编码)设计中,微指令通常被划分为多个字段,每个字段控制一组相关的操作。 互斥性微命令指的是那些不能在同一微周期内同时执行的微命令,例如对同一功能部件的不同操作。
为了确保这些互斥命令不会同时被激活,最有效的方法是将它们放置在同一个字段中。 因为同一字段内的微命令通过编码方式表示,一次只能选择一个值,从而自然实现了互斥性。 而不同字段的微命令可以并行执行,因为它们控制的是系统中不同的、独立的部件。
选项B中的多级译码通常用于字段间接编码,以扩展编码空间,但并非处理互斥命令的直接方法。 选项C和D则不符合分段编码的设计原则,可能导致控制冲突或资源浪费。 因此,正确答案是A,即将互斥性微命令放在同一段中。
某机采用微程序控制方式,微指令字长 24 位,采用水平型编码控制的微指令格式,断定方式。共有微命令 30 个,构成 4 个互斥类,各包含 5 个、8 个、14 个和 3 个微命令,外部条件共 3 个。则控制存储器的容量应该为( )。
A. 256×24bit B. 30×24bit C. 31×24bit D. 24×24bit
[tag_link]
正确答案:A
微指令字长为 24 位,控制字段采用水平型编码。 微命令分为 4 个互斥类,每类所需的位数需包含“无操作”状态,计算如下:
- 第一类有 5 个微命令,需 位; >
- 第二类有 8 个微命令,需 位; >
- 第三类有 14 个微命令,需 位; >
- 第四类有 3 个微命令,需 位。 >
控制字段共需 位。 >
顺序字段占 位,用于断定方式下的地址生成。 > 外部条件共有 3 个,条件选择字段需 3 位(可编码 8 种转移条件,满足 3 个外部条件及其他功能),下地址字段占 位。 > 下地址字段 8 位可寻址 个微指令单元,因此控制存储器容量为 位。 >
进程 P1 和 P2 均包含并发执行的线程,部分伪代码描述如下所示。
进程 P1
int x = 0;
Thread1()
{
int a;
a = 1; x += 1;
}
Thread2()
{
int a;
a = 2; x += 2;
}
进程 P2
int x = 0;
Thread3()
{
int a;
a = x; x += 3;
}
Thread4()
{
int b;
b = x; x += 4;
}
下列选项中,需要互斥执行的操作是( )。
A. a=1 与 a=2 B. a=x 与 b=x C. x+=1 与 x+=2 D. x+=1 与 x+=3
[tag_link]
正确答案:C
P1 中对 a 进行赋值,并不影响最终的结果,故 a = l 与 a = 2 不需要互斥执行;a = x 与 b = x 执行先后不影响 a 与 b 的结果,无须互斥执行;x+=1 与 x+=2 执行先后会影响 x 的结果,需要互斥执行;P1 中的 x 和 P2 中的 x 是不同范围中的 X,互不影响,不需要互斥执行。