杭电计算机组成作业答案说课讲解

  • 格式:doc
  • 大小:1.95 MB
  • 文档页数:14

杭电计算机组成作业
答案
《指令系统》
12、
地址
0019H
第一条转移指令:
0019H
(PC)=001AH,执行该JMP指令后(PC)=001AH+0006H=0020H
第二条转移指令:
0019H
(PC)=001AH,执行该JMP指令后(PC)=001AH+0025H=003FH
13、
寄存器-存储器型指令是指一个操作数来自寄存器,另一个操作数来自存储器。

(1)指令字长32位:
直接寻址时EA=ADDR,因此主存最大存储空间为219字。

(假设存储器按字编址)
间接寻址时EA=(ADDR),因此操作数地址存放在主存地址为0~219-1的单元内,假设存储器按字编址,则EA应该是32位的地址,则主存最大存储空间为232字。

(2)其实用32位通用寄存器做基址寄存器,类似于80X86机器上存储器分段管理。

EA=32位基地址+偏移地址,所以EA是32位,则主存最大存储空间为232字。

16、设某机寄存器字长16位,用16进制表示,已知:变址寄存器内容为0004H,PC的内容为0003H,内存中部分单元内容如下:
地址:内容地址:内容
0002H:000AH 0007H:000AH
0003H:0002H 0008H:0002H
0004H:0007H 0009H:0003H
0005H:0004H 000AH:0009H
0006H:0005H 000BH:0008H
指令为双字长指令,格式如下:
若当前指令分别为下列寻址方式时,试求出操作数填入下表。

某机器字长16位,采用单字长指令,每个地址码6位。

试采用操作码扩展技术,设计14条二地址指令,80条一地址指令,60条零地址指令。

请给出指令编码示意图。

双操作数指令格式:
14条双操作数指令
单操作数指令格式:
80条双操作数指令
无操作数指令格式:
60条双操作数指令
设某8位计算机,除HALT指令外,指令均为双字长,格式如下:
其中,
假设:PC 的内容为22H ;变址寄存器R3的内容为30H ;主存部分单元的内容如下:
问:CPU 启动执行指令到停机,期间执行了哪几条指
令?写出每条指令的功能、寻址方式、操作数及执行结果。

解:由于(PC)=22H,即程序的第一条指令地址为22H,从22H开始,执行到2DH(HALT指令)为止,共五条指令。

经分析,所有指令的目的操作数的寻址方式均为寄存器寻址方式,为R1。

下面列出每条指令的功能、源操作数的寻址方式、源操作数及执行结果。

《控制器》
6、设某机平均执行一条指令需要两次访问内存,平均需要三个机器周期,每个机器
周期包含4个节拍周期。

若机器主频为25MHz,试回答:
1)若访问主存不需要插入等待周期,则平均执行一条指令的时间为多少?
2)若每次访问内存需要插入2个等待节拍周期,则平均执行一条指令的时间是
又多少?
解:(1)
MHz
251
1==
主频时钟周期 s μ48.043=⨯⨯=时钟周期平均指令周期
(2)
s μ64.02243=⨯⨯+⨯⨯=时钟周期时钟周期平均指令周期
7、设某机主频为8MHz ,每个机器周期包含4个节拍周期,该机平均指令执行速度为1MIPS 。

试回答:1)该机的平均指令周期是多少时间?2)平均每条指令周期包含几个机器周期? 解:(1)s μ11
==
机器速度
平均指令周期
(2)2
84
=⇒•==
χχ机器周期平均每条指令机器周期MHz
8、参见图7-41的数据通路,指令“INC R1”将R1寄存器的内容加1,画出其指令周期微程序流程图,并根据表7-11和表7-12写出每一条微指令码。

解: INC R1;(R1)+1→R1
9、根据图7-41所示的模型机结构和数据通路,写出以下指令从取址到执行的全部微操作序列,说明各条指令需要哪几个机器周期,需要几次访问内存及完成什么操作。

1)SUB A,R ,该指令完成(A)-R→(A),源操作数一个为寄存器寻址,目标操作数为指令提供的内存有效地址A。

2)JMP 偏移量,该指令完成PC+偏移量→PC。

解:(1)SUB A,R ;(A)-R→(A)
指令为双字节格式:
所以,共需要8个机器周期,共访存4次。

(PC)+DISP→PC
(2)JMP DISP;
10、假设某机器主要部件有:程序计数器PC、指令寄存器IR、通用寄存器
R0~R3、暂存器DD1和DD2、ALU、移位器、存储器地址寄存器MAR及存储器M。

1)要求采用单总线结构,画出包含上述部件的逻辑框图,并注明数据流动方向。

2)画出ADD (R1),(R2)指令在取指和执行阶段的操作步骤流程图。

R1寄存器存放目标操作数地址,R2寄存器存放源操作数地址。

3)写出各操作步骤所需的全部微操作命令。

解:(1)
(2)
(3)
取ADD指令的微指令
①PC-B#、B-MAR、PC+1
②M-R#、B-IR
③指令译码信号MAP#有效
执行ADD指令的微指令
①R2-B#、B-MAR
②M-R#, B-DD1
③R1-B#、B-MAR
④M-R#, B-DD2
⑤“+”,ALU-B#,M-W#
11、假设某机共有76条指令,平均每一条指令由11条微指令组成,其中有一条取指令的微指令是所有指令公共的,该机共有微命令31个,微指令的微操作码采用直接控制法。

试问: 1)该机微指令长度为多少?
2)控制存储器的容量应为多少?
解:设微指令共有N条,N=76*11-75=761条;下址字段长为X位,2X ≥761,则X≥10
(1)所以,该机微指令长度=31+10=41位
(2)控制存储器的容量应该≥761×41位,取1024×41位。

12、某机采用微程序控制方式,其存储器容量为512×48(位),微程序在整个控制存储器中实现转移,可控制微程序的条件共4个,判别测试字段采用编译法。

微指令采用水平型格式,后继微指令地址采用判定方式,如图所示:
(1) 微指令中的三个字段分别应多少位?
(2)
画出对应这种微指令格式的微程序控制器逻辑框图。

解:(1)22=4,512=29
(2)
图7-20 判定方式产生后继微地址的原理图
开机置微地址初值
14、图7-46为某模型机的微程序流程图,图中每一个框表示一条微指令。

在点(1)处为指令译码后转入指令的微程序入口的多路分支点,由指令寄存器IR 的I 5I 4两位来决定转入哪一个入口。

在点(2)处根据状态条件F 实现条件转移,微指令中判断测试位为直接控制法。

控存容量能容纳图7-46所列出的微指令即可。

1)微指令的判断测试位需要几位二进制?微指令的下址字段需要几位? 2)在图中标出每条微指令的微地址。

3)写出每条微指令的下址字段内容及判断测试字段码。

4)画出微地址转移逻辑电路图。

解:所列出的微指令共25条,控存容量能容纳这25条微指令即可,则下址字段长5位;
(1)因为微指令中判断
有2种转移测试和顺序执
行,所以判断测试位需要
3位二进制。

(2)假如微指令B的下
址字段为10000B,设微程
序入口地址根据I5I4两位
修改微指令B的下址字段
的末两位,则微程序入口地址=100 I5I4 B。

假如微指令G的下址字段为11000B,设条件转移地址根据F位修改微指令G的下址字段的第1位,则条件转移地址=1100F B。

则每条微指令的微地址如图所示。

(3)设3位判断测试字段码:
(4)
图7-20 判定方式产生后继微地址的原理图
开机置微地址初值。