计算机组成原理-第二版-唐朔飞著-课后习题详解 下载本文

41

解: (1)指令平均运行时间 =(0.6×0.35+0.8×0.45+10×0.05+1.4×0.15)μs= 1.28μs

机器平均运行速度 = 1/1.28μs≈0.78MIPS

(2)时钟周期 = 1/6MHz≈0.167μs

指令平均运行周期数 = 1.28μs ÷0.167μs≈7.66CPI 若CPU芯片升级为10MHz,时钟周期 = 1/10MHz=0.1μs 指令平均运行时间 = 0.1μs×7.66=0.766μs 机器平均运行速度 = 1/0.766μs≈1.3MIPS

11. 设CPU内部结构如图9.4所示,此外还设有B、C、D、E、H、L六个寄存器,它们各自的输入和输出端都与内部总线相通,并分别受控制信号控制(如Bi为寄存器B的输入控制;Bo为B的输出控制)。要求从取指令开始,写出完成下列指令所需的全部微操作和控制信号。 (1)ADD B,C ((B)+(C) ?B) (2)SUB A,H ((AC)-(H) ?AC)

解:先画出相应指令的流程图,然后将图中每一步数据通路操作分解成相应的微操作,再写出同名的微命令即可。

?(1) ADD B,C指令流程及微命令序列如下:

42

PC→BUS→MAR取指周期PCo,MARiMARo,MDRiMDRo,IRi+1Bo,YiCo,ALUiYo, + ,ZiZo,BiM(MAR)→MDRMDR→BUS→IRPC+1→PCB→BUS→YC→BUS→ALUY-BUS→ZZ→BUS→AC执行周期

(2) SUB A,H指令流程及微命令序列如下:

PC→BUS→MAR取指周期PCo,MARiMARo,MDRiMDRo,IRi+1ACo,YiHo,ALUiACo, - ,ZiZo,ACiM(MAR)→MDRMDR→BUS→IRPC+1→PCAC→BUS→YH→BUS→ALUAC-BUS→ZZ→BUS→AC执行周期

第10章 控制单元的设计

1. 假设响应中断时,要求将程序断点存在堆栈内,并且采用软件办法寻找中断服务程序的入口地址,试写出中断隐指令的微操作及节拍安排。

解:设软件查询程序首址为0号内存单元,则中断隐指令的微操作命令及节拍安

43

排如下: T0 0 SP T1 ,SP? MAR

T2 SP?W,SP+1 M(MAR) T3 PSW?MAR,MDR?SP

T4 1? W,SP+1?MDR, ?M(MAR) PC?EINT 由于题意中没有给出确切的数据通路结构,故上述节拍分配方案的并行性较低。?PC,MDR?0 ?MDR,1?MAR

2. 写出完成下列指令的微操作及节拍安排(包括取指操作)。

(1)指令ADD R1,X完成将R1寄存器的内容和主存X单元的内容相加,结果存于R1的操作。

(2)指令ISZ X完成将主存X单元的内容增1,并根据其结果若为0,则跳过下一条指令执行。

解:设采用单总线结构的CPU数据通路如下图所示,且ALU输入端设两个暂存器C、D(见17题图)。并设采用同步控制,每周期3节拍:

busPCMARSPMDRCUIRAC地址线数据线控制线

(1)指令ADD R1,X的微操作及节拍安排如下: 取指周期:T0 PC?MAR,1? R

T1 M(MAR) ?MDR,PC+1?PC T2 MDR?IR,OP(IR) ?ID

44

执行周期1:T0 Ad(IR)?MAR,1?R T1 M(MAR) ?MDR

T2 MDR?D

执行周期2:T0 R1?C

T1 + T2 ALU?R1

(2)指令ISZ X的微操作及节拍安排: 取指周期同(1):略

执行周期1: T0 Ad(IR)?MAR,1?R T1 M(MAR)?MDR

T2 MDR?C,+1?ALU

执行周期2:T0 ALU?MDR,1?W

T1 (PC+1)·Z+ PC·Z?PC