第6次作业及参考答案
第9章作业
9.3 什么是指令周期、机器周期和时钟周期?三者有何关系?
解:CPU每取出并执行一条指令所需的全部时间叫指令周期;机器周期是在同步控制的机器中,所有指令执行过程中(执行一步相对完整的操作)的一个基准时间,通常以访问一次存储器所需的时间作为一个机器周期;时钟周期是指计算机主工作时钟的周期时间,它是计算机运行时最基本的时序单位,通常时钟周期=计算机主频的倒数。
三者之间的关系:指令周期常常用若干个机器周期数来表示,机器周期也叫CPU周期;而一个机器周期又包含若干个时钟周期(也称为节拍脉冲或T周期)。 9.7 题目略。 解:1)平均指令周期:1/106 s =1us; 2)时钟周期为0.1us;机器周期时间跨度为0.4us。
每个指令周期包含的平均机器周期数:1us/0.4us=2.5个机器周期。 平均指令执行速度为:0.25MIPS。 应采用主频为8MHz的CPU芯片。
9.11 题目略。
说明:本题数据通路结构参见教材P381图9.4。 1) PC→Bus→MAR
1→R
M(MAR)→MDR
取指周期 (PC)+1→PC
OP(IR)→CU
MDR→Bus→IR
C→Bus→Y
(B)+(Y)→ALU→Z执行周期
PCO, MARiMDRi+1PCO, MARiMDRO, IRiCO, YiBO, ALUi,”+”ZO, BiZ→BUS→B
2)
取指周期
执行周期
9.14
PC→Bus→MAR1→RM(MAR)→MDR(PC)+1→PCOP(IR)→CUMDR→Bus→IRC→Bus→Y(B)+(Y)→ALU→ZZ→BUS→ACPCO, MARiMDRi+1PCO, MARiMDRO, IRiCO, YiBO, ALUi,”-”ZO, ACi说明:本题中出现的R/W# 控制信号指代R/W;数据通路结构参见教材P384图9.5。 1)
PC→Bus→MARM(MAR)→MDR取指周期MDR→Bus→IR(PC)+1→PCPC+Ad(IR)→EAREAR→Bus→MAR执行周期M(MAR)→MDRMDR→BUS→ACCPCO, MARiMARO,R/W# =R, MDRiMDRO, IRi+1PCO, Ad(IR)O,+,EARiEARO, MARiMARO,R/W# =R, MDRiMDRO, ACCi
2)
PC→Bus→MARM(MAR)→MDR取指周期MDR→Bus→IR(PC)+1→PC(XR)+Ad(IR)→EAREAR→Bus→MARM(MAR)→MDR执行周期MDR→Bus→XPCO, MARiMARO,R/W# =R, MDRiMDRO, IRi+1XRO, Ad(IR)O,+,EARiEARO, MARiMARO,R/W# =R, MDRiMDRO, Xi(ACC)-(X)→ALU→LATCHACCO, XO, Ki=-, LATCHiLATCH→Bus→ACCLATCHO, ACCi第10章作业
10.2 题目略。
1)指令ADD R1,X
本题参照了教材P398图10.2的数据通路结构。 T0:PC→Bus→MAR, 1→R
T1:M(MAR)→MDR, (PC)+1→PC取指周期FE
T2:MDR→Bus→IR,OP(IR) →CU
T0: Ad(IR)→Bus→MAR,1→R
T1: M(MAR)→MDR
执行周期EX
T2: (MDR)+(R1)→ALU →R2
T3: R2→Bus →R1
2)指令 ISZ X
本题同样参照了教材P398图10.2的数据通路结构。 T0:PC→Bus→MAR, 1→R
T1:M(MAR)→MDR, (PC)+1→PC取指周期FE
T2:MDR→Bus→IR,OP(IR) →CU
T0: Ad(IR)→Bus→MAR,1→R
T1: M(MAR)→MDR,(MDR) →Bus →ALU+1→R2
执行周期EXT2: (R2)→Bus →MDR,1 →W
T3: MDR →M, Z·(PC+1)+Z#·PC→PC
说明:上图中Z#指代Z
10.4
首先应弄懂该题所描述的数据通路结构。图略(类似于图10.2)。 1) T0:PC→Bus→MAR, 1→R
T1:M(MAR)→MDR, (PC)+1→PC取指周期FE
T2:MDR→Bus→IR
T0:R2→Bus→Y
T1:(R3)+(Y)→ALU →Z 执行周期EX
T2:Z→Bus→R1
2)
取指周期FE
执行周期EX 3)
取指周期FE
执行周期EX 4)
T0:PC→Bus→MAR, 1→RT1:M(MAR)→MDR, (PC)+1→PCT2:MDR→Bus→IRT0: Ad(IR)→Bus→YT1:(PC)+(Y)→ALU →ZT2: Z→Bus→PCT0:PC→Bus→MAR, 1→RT1:M(MAR)→MDR, (PC)+1→PCT2:MDR→Bus→IRT0: Ad(IR) →Bus→MAR,1→RT1:M(MAR)→MDRT2: MDR→Bus→R1T0:PC→Bus→MAR, 1→RT1:M(MAR)→MDR, (PC)+1→PCT2:MDR→Bus→IRT0: Ad(IR)→Bus→MAR,1→WT1: R2 →Bus→MDRT2: MDR→M
执行周期EX
取指周期FE
10.9 试比较组合逻辑设计和微程序设计的设计步骤和硬件组成,说明哪一种控制速度更快,为什么? 参考答案要点:
一)设计步骤
组合逻辑控制器的设计步骤:1)拟定机器的指令系统;2)确定CPU总体结构;3)确定时序系统,拟定指令流程;4)安排每条指令中微操作的节拍;5)列出微操作命令的操作时间表;6)写出每一个微操作命令的逻辑表达式并化简;7)画出相应的组合逻辑电路图。
微程序控制器的设计步骤:前三个步骤和组合逻辑控制器相同,后边的步骤如下: 1)写出对应机器指令的微操作及节拍安排;
2)确定微指令格式(确定微指令的编码方式和后继微地址的形成方式); 3)编写微指令码点。
二)硬件组成:组合逻辑控制器由组合逻辑电路提供微命令,其核心器件是各种门电路构成的复杂树形网络;微程序控制器由存储逻辑(微指令)提供微命令,其核心器件是控制存储器。 三)组合逻辑控制器速度更快,因为其微命令全部由硬件(组合逻辑门电路)产生。 10.22 题目略(见教材P422)。 参考答案要点:
一)相斥性微操作:1)A选通门的4个微操作;2)B选通门的7个微操作;3)移位器的3个微操作;4)ALU的“+”、“-”、“M(传送)”、末位置1等4个微操作;5)对通用寄存器组的8个读写微操作;
上述5种类型的微操作因硬件资源不冲突,故为相容性微操作。
二)在图中提供的数据通路结构上,共有26种不同的微操作,若采用字段直接编码方式,则微指令的操作控制字段为26位。下地址字段的位数取决于微指令的条数。
0 1 2 …操作控制字段25下地址字段三)特别说明:该题的数据通路结构中,在ALU的输入端只有多路选择器(A/B选通门),无暂存器和锁存器,而其寄存器组每次只能访问其中的一个寄存器(非双端口存储器),故无法实现题目中列出的功能。
补充题1:说明微程序控制器的基本工作原理。 参考答案要点:
将控制器所需要的微操作命令,以微代码的形式编成微指令,存在专门的控制存储器中,CPU执行机器指令时,从控制存储器中取出微指令,对微指令中的操作控制字段进行解释,即产生执行机器指令所需的微操作命令序列。 其具体的工作过程如下:
首先将用户程序的首地址送至PC,然后进入取指阶段。
1)取机器指令:从控制存储器中读取“取指微指令”,用产生的微命令控制CPU访存,读取机器指令,并送入指令寄存器IR。
2)形成微程序入口地址:根据机器指令的操作码,通过微地址形成电路,产生与该机器指令对应的微程序入口地址,并送入CMAR。 3)逐条取出机器指令对应的微程序并执行之。
4)返回取指微指令,开始又一条机器指令的执行。如此不断重复,直到整个程序执行完为止。
补充题2:画图并说明微程序控制器中是如何根据操作码形成相应微程序入口地址的。 参考答案如下:
指令寄存器OPAD微地址形成部件(PROM)CM0001微程序首地址。。。微指令1微指令2。。。微指令n 如上图所示,机器指令取至指令寄存器后,指令的操作码作为微地址形成部件的输入,来形成微指令的地址。因此,可以把微地址形成部件理解为一个编码器。微地址形成部件可采用PROM实现,即以指令的操作码作为PROM的地址,而相应的存储单元中就存放着对应该指令微程序的首地址。