综合题
设主存容量为1MB,Cache容量为16KB,每字块有16个字,每个字32位。
问答题
若Cache采用直接相联映像,求出主存地址字段中各段的位数。
【正确答案】因为每字块有16个字,每字32位=4字节,所以字块中含有16×4=64字节=26个字节,则块内地址的位数b=6。而Cache容量为16KB,所以Cache中含有16K×8/(16×32)=256=28个字块,则块号数c=8。 主存容量为1MB=220字节,则主存地址总位数为20,所以主存区号位数t=20-6-8=6。
【答案解析】
问答题
若Cache采用四路组相联映像,求出主存地址字段中各段的位数。
【正确答案】若Cache采用四路组相联映像: 因为每字块有16个字,每字32位=4字节,所以字块中含有16×4=64字节=26个字节,则块内地址的位数b=6。而Cache容量为16KB,所以Cache中含有16K×8/(16×32)=256个字块,每组含有4个字块,所以一共有256/4=64=26组,则组地址位数q=6。 主存容量为1MB=220字节,则主存地址总位数为20,主存区各段位数t=20-6-6=8。
【答案解析】
问答题
采用微程序控制器的某计算机在微程序级采用两级流水线,即取第i+1条微指令与执行第i条微指令同时进行。假设微指令的执行时间需要40ns,问:
(1)控制存储器CM选用读出时间为30ns的ROM,在这种情况下微周期为多少?并画出微指令执行时序图。
(2)若控制存储器CM选用读出时间为50ns的ROM,在这种情况下微周期又为多少?并画出微指令执行时序图。
【正确答案】(1)取第i+1条微指令与执行第i条微指令同时进行,取微指令的读出时间为30ns,而微指令的执行时间需要40ns,这种情况下微周期取最长的时间,即40ns。 微指令执行时序图如下图(a)所示。 (2)若控制存储器CM选用读出时间为50ns的ROM,这种情况下微周期需取50ns。微指令执行时序图如下图(b)所示。 微指令执行时序图
【答案解析】
问答题
设有8个进程M1,M2,…,M8,它们有如下图所示的优先关系,试用P、V操作实现这些进程间的同步。
【正确答案】这是进程之间的同步问题。M2、M3和M4必须在接收到M1的消息后才能运行。同理,M6必须在M2和M3之后运行,M7必须在M4和M5之后运行,M8必须在M3和M7之后运行。如何保证呢?需设置相应的信号量来保证:S12、S13、S14分别用来制约M2、M3和M4的运行;S26、S36用来制约M6的运行;S47、S57用来制约M7的运行;S38、S78用来制约M8的运行。各进程的制约关系如下:
【答案解析】