搜索
您的当前位置:首页正文

杭电计算机组成作业答案

来源:六九路网


《指令系统》

12、

地址 0019H 001AH

第一条转移指令:

0019H 001AH

JMP 0006H OP 指令

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

第二条转移指令:

0019H 001AH

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

寄存器-存储器型指令是指一个操作数来自寄存器,另一个操作数来自存储器。 (1)指令字长32位: OP(6) MOD(3) REG(4) ADDR(19) 直接寻址时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位)0002H 直接地址/间接地址/立即数/相对位移量/形式地址(16位)0007H

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

寻址方式 EA= 操作数 叮叮小文库

直接 间接 立即 变址 0007H 000AH / 0004H+0007H 000AH 0009H 0007H 0008H

某机器字长16位,采用单字长指令,每个地址码6位。试采用操作码扩展技术,设计14条二地址指令,80条一地址指令,60条零地址指令。请给出指令编码示意图。 双操作数指令格式: OP(4位) 14条双操作数指令 OP=0000 … OP=1101 单操作数指令格式:

OP(10位) 80条双操作数指令 OP=1110000000 … OP=1110111111 OP=1111000000 … OP=1110001111 无操作数指令格式:

OP(16位) 60条双操作数指令 OP=1110010000000000 … OP=1110010000111011

欢迎有需要的朋友下载!!

2

A1(6位) A2(6位) A1(6位) A2(6位) A1(6位) A1(6位) 叮叮小文库

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

OP(4位) M(2位) Rd(2位) A(8位) 其中,

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

假设: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 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 ADD SUB AND JMP —— HALT 直接寻址 立即数 EA 20H —— 源操作数 (20H)=22H 20H 执行结果 (R1)=22H (R1)=(R1)+20H =42H (R1)=(R1)-04H =3EH (R1)=(R1)·0FH =0EH· (PC)=2DH —— 停机 3

变址寻址 (R3)+02H=32H (32H)=04H 立即数 相对 —— —— —— (PC)+01H =2CH+01H =2DH —— —— 0FH —— —— —— 欢迎有需要的朋友下载!!

叮叮小文库

《控制器》

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个节拍周期,该机平均指令执行速度为1MIPS。试回答:1)该机的平均指令周期是多少时间?2)平均每条指令周期包含几个机器周期? 解:(1)平均指令周期11s

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

欢迎有需要的朋友下载!!

4

叮叮小文库

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

解: INC R1;(R1)+1R1

PC AR、PC+1R1DA1RAM IRDA1+1R1J1# BTO 110 011 000 001 100 OTB 111 000 000 011 001 FUNC 000 010 001 000 0 FS 1 0 1 0 0 S3-S0MCi 000000 000000 000000 000000 000000 空 0 0 0 0 0 M6-M0 0000010 0000011 0010000 0000100 0000001

9、根据图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次。

欢迎有需要的朋友下载!!

5

叮叮小文库

(2)JMP DISP; (PC)+DISP→PC

PC AR、PC+1PC AR、PC+1RAM IRRAM DA1DA1+DA2PCPCDA2J1# 所以,共需要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)

欢迎有需要的朋友下载!!

6

叮叮小文库

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)控制存储器的容量应为多少?

解:设微指令共有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) 画出对应这种微指令格式的微程序控制器逻辑框图。

欢迎有需要的朋友下载!!

7

叮叮小文库

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

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

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

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

3)写出每条微指令的下址字段内容及判断测试字段码。 4)画出微地址转移逻辑电路图。

解:所列出的微指令共25条,控存容量能容纳这25条微指令即可,则下址字段长5位; (1)因为微指令中判断测试

00H位为直接控制法,只有2种转

A移测试和顺序执行,所以判断01H测试位需要3位二进制。 BI5I4=01I5I4=10I5I4=11I5I4=00

11H12H13H(1)10H(2)假如微指令B的下址字CDEF段为10000B,设微程序入口地02H06H0AH0FHGHIJ址根据I5I4两位修改微指令B

07H0BH14H(2)F=1的下址字段的末两位,则微程F=019HMNO18H序入口地址=100 I5I4 B。假如KL08H0CH15H04HRST微指令G的下址字段为03HPQ09H0DH11000B,设条件转移地址根据

05HVU0EHWX16H欢迎有需要的朋友下载!! 8 Y叮叮小文库

F位修改微指令G的下址字段的第1位,则条件转移地址=1100F B。则每条微指令的微地址如图所示。

(3) 设3位判断测试字段码: 判断测试字段码=1H: 判断测试字段码=2H: 判断测试字段码=4H: 微指令 A B C D E F G H I J K L M (4)

操作码地址码IR顺序执行(后继微地址 = 下址字段) 微程序入口散转(后继微地址 = 下址字段末两位 AND I5I4 ) 条件转移(后继微地址 = 下址字段第1位 AND F) 下址字段内容 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 判断测试字段码 1H 2H 1H 1H 1H 1H 4H 1H 1H 1H 1H 1H 1H 状态标志微地址散转及修改电路开机置微地址初值+ μAR控制存储器控制字段测试下址图7-20 判定方式产生后继微地址的原理图

欢迎有需要的朋友下载!! 9

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

Top