您的当前位置:首页正文

杭电计算机组成作业答案

2024-04-27 来源:九壹网


《指令系统》

12、

地址

0019H

001AH

第一条转移指令:

0019H

001AH

(PC)=001AH,执行该JMP指令后(PC)=001AH+0006H=0020H

第二条转移指令:

0019H

001AH

(PC)=001AH,执行该JMP指令后(PC)=001AH+0025H=003FH

13、

寄存器-存储器型指令是指一个操作数来自寄存器,另一个操作数来自存储器。 (1)指令字长32位: OP(6) MOD(3) REG(4) 19指令 OP DISP MOD JMP 0006H JMP 0025H ADDR(19) 直接寻址时EA=ADDR,因此主存最大存储空间为2字。(假设存储器按字编址)

19

间接寻址时EA=(ADDR),因此操作数地址存放在主存地址为0~2-1的单元内,假设存

32

储器按字编址,则EA应该是32位的地址,则主存最大存储空间为2字。

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

32

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

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

1

指令为双字长指令,格式如下:

操作码,寻址方式码,寄存器号(16位)0002H 直接地址/间接地址/立即数/相对位移量/形式地址(16位)0007H

若当前指令分别为下列寻址方式时,试求出操作数填入下表。

寻址方式 直接 间接 立即 变址

某机器字长16位,采用单字长指令,每个地址码6位。试采用操作码扩展技术,设计14条二地址指令,80条一地址指令,60条零地址指令。请给出指令编码示意图。

双操作数指令格式:

OP(4位) 14条双操作数指令 OP=0000 … OP=1101

单操作数指令格式: OP(10位) 80条双操作数指令 OP=00 … OP=11 OP=00 … OP=11

无操作数指令格式: OP(16位) 60条双操作数指令 OP=000 … OP=011

2

A1(6位) A1(6位) A2(6位) A1(6位) A2(6位) EA= 0007H 000AH / 0004H+0007H 操作数 000AH 0009H 0007H 0008H A1(6位)

设某8位计算机,除HALT指令外,指令均为双字长,格式如下:

OP(4位) 其中,

OP为操作码,编码分配如下: 0000——ADD 0001——SUB 0010——AND 0011——MOV 0100——JMP 0101——INC(自增1) …… 1111——HALT(动态停机) M为源操作数的寻址方式,编码分配如下: 00—立即数寻址 01—直接寻址 10—相对寻址 11—变址寻址 (变址寄存器为R3) A为源操作数的立即数、直接地址、间接地址或偏移地址。 Rd为目的操作数的寄存器号,编码分配如下: 00——R0 01——R1 10——R2 11——R3 M(2位) Rd(2位) A(8位)

假设:PC的内容为22H;变址寄存器R3的内容为30H;主存部分单元的内容如下:

主存地址:内容 主存地址:内容 主存地址:内容

20H: 22H 27H: 02H 2EH: 00H

21H: 33H 28H: 21H 2FH: 01H

22H: 35H 29H: 0FH 30H: 02H

23H: 20H 2AH: 48H 31H: 03H

24H: 01H 2BH: 01H 32H: 04H

25H: 20H 2CH: 55H 33H: 05H

26H: 1DH 2DH: F0H 34H: 06H

问:CPU启动执行指令到停机,期间执行了哪几条指令写出每条指令的功能、寻址方式、操作数及执行结果。

解:由于(PC)=22H,即程序的第一条指令地址为22H,从22H开始,执行到2DH(HALT指令)为止,共五条指令。经分析,所有指令的目的操作数的寻址方式均为寄存器寻址方式,为R1。下面列出每条指令的功能、源操作数的寻址方式、源操作数及执行结果。

PC 指令 助记符 寻址方式 EA 源操作数 执行结果 3

22H 23H 24H 25H 26H 27H 28H 29H 2AH 2BH 2CH 2DH 35H 20H 01H 20H 1DH 02H 21H 0FH 48H 01H 55H F0H MOV 直接寻址 20H (20H)=22H (R1)=22H ADD 立即数 —— 20H (R1)=(R1)+20H =42H (R1)=(R1)-04H =3EH (R1)=(R1)·0FH =0EH· SUB 变址寻址 (R3)+02H=32H (32H)=04H AND 立即数 —— 0FH JMP —— HALT 相对 (PC)+01H =2CH+01H =2DH —— —— —— (PC)=2DH —— —— —— —— —— 停机

《控制器》

6、设某机平均执行一条指令需要两次访问内存,平均需要三个机器周期,每个机器 周期包含4个节拍周期。若机器主频为25MHz,试回答:

1)若访问主存不需要插入等待周期,则平均执行一条指令的时间为多少

2)若每次访问内存需要插入2个等待节拍周期,则平均执行一条指令的时间是 又多少 解:(1)

时钟周期11 主频25MHz平均指令周期34时钟周期0.48s

(2)

平均指令周期34时钟周期22时钟周期0.64s

7、设某机主频为8MHz,每个机器周期包含4个节拍周期,该机平均指令执行速度为

4

1MIPS。试回答:1)该机的平均指令周期是多少时间2)平均每条指令周期包含几个机器周期

解:(1)平均指令周期11s

机器速度4(2) 8MHz平均每条指令•机器周期2机器周期

8、参见图7-41的数据通路,指令“INC R1”将R1寄存器的内容加1,画出其指令周期微程序流程图,并根据表7-11和表7-12写出每一条微指令码。

解: INC R1;(R1)+1R1

PC AR、PC+1R1DA1RAM IRDA1+1R1J1# BTO OTB FUNC FS MCi 5

S3-S0空 M6-M0 110 011 000 001 100

111 000 000 011 001 000 010 001 000 0 1 0 0 0 1 0 0 0 0 0 00000000000000000000000000 10 0 11 0 00 0 00 0 01 00000000000010000001000009、根据图7-41所示的模型机结构和数据通路,写出以下指令从取址到执行的全部微操作序列,说明各条指令需要哪几个机器周期,需要几次访问内存及完成什么操作。

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

2)JMP 偏移量,该指令完成PC+偏移量→PC。 解:(1)SUB A,R ;(A)-R→(A) 指令为双字节格式: OP(SUB) ** Addr PC AR、PC+1PC AR、PC+1Rd RsDA2RAM IRRAM ARDA1-DA2RAMJ1#RAM DA1 所以,共需要8个机器周期,共访存4次。 (2)JMP DISP; (PC)+DISP→PC

PC AR、PC+1PC AR、PC+1RAM IRRAM DA1DA1+DA2PCPCDA2J1# 6

所以,共需要7个机器周期,共访存2次

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

1)要求采用单总线结构,画出包含上述部件的逻辑框图,并注明数据流动方向。 2)画出ADD (R1),(R2)指令在取指和执行阶段的操作步骤流程图。R1寄存器存放目标操作数地址,R2寄存器存放源操作数地址。

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

MEM UNITDM-WM-RALU UNIT+-*/MEMA循环左移循环右移算...术右移ALU-BALU(74LS181)...B-SHIFT移位器SHIFTB-DD1DD1DD2B-DD2B-MARMARPCB-R0B-R1B-R2B-R3R0(74LS273)R1R2R2REG UNITR0-BR1-BR2-BR3-BPC+1B-PCIRB-IRPC-B指令译码INS UNITMICRO-CONTROLLERUNITMAP

(2)

7

PC MAR、PC+1RAM DD1RAM IRR1 MARMAP#RAMDD2R2 MARDD1+DD2RAM (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)控制存储器的容量应为多少

X

解:设微指令共有N条,N=76*11-75=761条;下址字段长为X位,2≥761,则X≥10 (1)所以,该机微指令长度=31+10=41位

(2)控制存储器的容量应该≥761×41位,取1024×41位。

12、某机采用微程序控制方式,其存储器容量为512×48(位),微程序在整个控制存储器中实现转移,可控制微程序的条件共4个,判别测试字段采用编译法。微指令采用水平型格式,后继微指令地址采用判定方式,如图所示:

微命令字段 判别测试字段 下地址字段 ←操作控制→ ←—————— 顺序控制 ————————→

(1) 微指令中的三个字段分别应多少位

(2) 画出对应这种微指令格式的微程序控制器逻辑框图。

8

解:(1)2=4,512=2 控制字段(48-9-2=37位) (2)

操作码地址码IR29

判别测试字段(2位) 下址字段(9位) 状态标志微地址散转及修改电路开机置微地址初值+ μAR控制存储器控制字段测试下址图7-20 判定方式产生后继微地址的原理图

14、图7-46为某模型机的微程序流程图,图中每一个框表示一条微指令。在点(1)处为指令译码后转入指令的微程序入口的多路分支点,由指令寄存器IR的I5I4两位来决定转入哪一个入口。在点(2)处根据状态条件F实现条件转移,微指令中判断测试位为直接控制法。控存容量能容纳图7-46所列出的微指令即可。

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

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

4)画出微地址转移逻辑电路图。 解:所列出的微指令共25

00H条,控存容量能容纳这25条

A微指令即可,则下址字段长501H位; BI5I4=01I5I4=10I5I4=11I5I4=00(1)因为微指令中判断

11H12H13H(1)10H测试位为直接控制法,只有2CDEF种转移测试和顺序执行,所以02H06H0AH0FHGHIJ判断测试位需要3位二进制。

07H0BH14H(2)F=1 F=019HMNO18H(2)假如微指令B的下KL08H0CH15H04HRST址字段为10000B,设微程序入03HPQ09H0DH口地址根据I5I4两位修改微指

05HVU0EHWX16H9 Y令B的下址字段的末两位,则微程序入口地址=100 I5I4 B。假如微指令G的下址字段为11000B,设条件转移地址根据F位修改微指令G的下址字段的第1位,则条件转移地址=1100F B。则每条微指令的微地址如图所示。

(3) 设3位判断测试字段码: 判断测试字段码=1H: 判断测试字段码=2H: 判断测试字段码=4H: 微指令 A B C D E F G H I J K L M (4) 判断测试字段码 1H 2H 1H 1H 1H 1H 4H 1H 1H 1H 1H 1H 1H 下址字段内容 01H 10H 02H 06H 0AH 0FH 18H 07H 08H 14H 03H 04H 08H 微指令 N O P Q R S T U V W X Y 判断测试字段码 1H 1H 1H 1H 1H 1H 1H 1H 1H 1H 1H 1H 下址字段内容 0CH 15H 16H 05H 09H 0DH 0EH 16H 16H 0EH 16H 00H 顺序执行(后继微地址 = 下址字段) 微程序入口散转(后继微地址 = 下址字段末两位 AND I5I4 ) 条件转移(后继微地址 = 下址字段第1位 AND F) 10

操作码地址码IR状态标志微地址散转及修改电路开机置微地址初值+ μAR控制存储器控制字段测试下址图7-20 判定方式产生后继微地址的原理图

11

因篇幅问题不能全部显示,请点此查看更多更全内容