计算机组成原理与系统结构课后作业答案(包健 - 冯建文 章复嘉版

更新时间:2024-04-20 14:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《运算器》

P101 3.3写出下列各数的原码、反码和补码,机器数长度为8位: 真值 (1)0 (2)-127 (3)-0.5 (4)-19/128 (5)100 (6)23/64 二进制真值 0000000 -1111111 -0.1000000 -0.0010011 1100100 0.010111 原码 0,0000000 1,0000000 1,1111111 1.1000000 1.0010011 0,1100100 0.0101110 反码 0,0000000 1,1111111 1,0000000 1.0111111 1.1101100 0,1100100 0.0101110 补码 0,0000000 1,0000001 1.1000000 1.1101101 0,1100100 0.0101110 P101 3.4写出下列各机器数的二进制真值X:

(1)[X]补=0,1001 X=1001 (2)[X]补=1,1001 X=-111 (3)[X]原=0,1101 X=1101 (4)[X]原=1,1101 X=-1101 (5)[X]反=0,1011 X=1011 (6)[X]反=1,1011 X=-100 (7)[X]移=0,1001 X=-111 (8)[X]移=1,1001 X=+1001 (9)[X]补=1,0000000 X=-10000000B,X=-128 (10)[X]反=1,0000000 X=-1111111B,X=-127 (11)[X]原=1,0000000 X=-0 (12)[X]移=1,0000000 X=0

P156 4.1 X=0.1101 Y=-0.0110(设机器数长度为8位)

[X]补=0.1101000 [-X]补=1.0011000 [2X]补=溢出 [-2X]补=溢出 [X/2]补=0.0110100 [-X/2]补=1.1001100 [Y]补=1.1010000 [-Y]补=0.0110000 [2Y]补=1.0100000 [-2Y]补=0.1100000 [Y/2]补=1.1101000 [-Y/2]补=0.0011000 [-Y/4] 补=0.0001100

P102:3.8、

阶码(6位移码) 尾数(6位原码) (1) X=-25/64=-0.011001B,Y=2.875=10.111B

[X]浮=0,11111 1.11001=7F9H [Y]浮=1,00010 0.10111=897H (2) [Z]浮=9F4H=1,00111 1.10100=-80

P102:9、机器数字长16位 (1) 无符号整数:0~216?1

15(2) 原码表示的定点整数:1,111…11~0,111…11即?(2?1)~215?1

(3) 补码表示的定点整数:1,00…000~0,111…11即?215~215?1 (4) 补码表示的定点小数:1.00…000~0.111…11即?1~1?2(5) 非规格化浮点数:N?M?R

阶码(8位移码) 最大数=(1?2?7)?227?15

E尾数(8位补码) ?1

尾数=0.1111111 阶码=1,1111111 最小数=?1?227?1

阶码=1,1111111 尾数=1.0000000 ?7?2最大负数=?2?2

7阶码=0,0000000 最小正数=2?7尾数=1.1111111 ?2?2

阶码=0,0000000 尾数=0.0000001 7(6) 规格化浮点数: 最大数=(1?2?7)?227?1

尾数=0.1111111 阶码=1,1111111 最小数=?1?227?1

阶码=1,1111111 尾数=1.0000000 最大负数=?(2?1?2?7)?2?2

阶码=0,0000000 最小正数=2?17尾数=1.0111111 ?2?2

阶码=0,0000000 尾数=0.1000000 7P156:2、 (1)

P156:4-1

(2)

4-2

P156:5

5-1补码BOOTH算法

5-2补码BOOTH算法

P156:6、

6-1原码恢复余数算法

6-1原码加减交替算法

6-2原码恢复余数算法

6-2原码加减交替算法

P156 7-1补码加减交替算法

7-2补码加减交替算法

P156:4.8

阶码(5位补码) 尾数(6位补码)

(1)X=-1.625=-1.101B Y=5.25=101.01B X+Y

X-Y:

1、对阶同上

2、尾数相减: 11.1100110

+ 11.01011 [EX-Y]补 = 11.0010010 3、结果不需规格化

4、舍入处理:[EX-Y]补 = 1.00101 [X-Y] = 0,0011 1,00101

P108:8-2

X=0.2344 = 0.00111 Y= -0.1133=-0.00011

X-Y:

1、对阶同上

2、尾数相减: 00.11100

+ 00.01100

[EX-Y]补 = 01.01000 发生正溢 尾数右移,阶码加1 [EX-Y]补 = 0.10100 [Mx-y] = 1.1111 3、结果不需规格化

4、舍入处理:[EX-Y]补 = 0.10100 [X-Y] = 1,1111 0,10100

P108:9-1

阶码(5位移码) 尾数(6位补码) X=5.25=101.01B Y=-1.625=-1.101B X*Y

(1)

9-1 X/Y:

9-2 X*Y

9-2 X/Y

《存储体系》

P225:2、 (1) (2)

(3) 128?500ns?64?s P225:3、

(1) 最大主存容量=2?16bit

1864K?16?4?16?64片

16K?12ms?15.625?s 128218?16bit?4?16?64片芯片;若采用异步刷新,则刷新信号的周期为(2) 共需

64K?1bit2ms?15.625?s 128(3) 每块8字节,则Cache容量为

2K?16bit?512?29行,即c=9,Cache采用2路

8Byte218?16bit?216块,即m=16。每块包含4个字,组相联映射,则r=1。主存容量为

8Byte每字包含2个字节。

主存字块00大组字块1…字块28-1字块281大组字块28+1…Cache组地址01标记标记…标记行0行21…行29 -2Cache标记标记…标记行1行3…行29 -182 -1字块29-1…28168-1字块2-2大…组字块216-1……………

主存字地址主存字块标记816组地址8块内字地址2

主存字节地址主存字块标记816组地址8块内字地址2字内字节地址1

主存字地址=462EH=00 0100 01,10 0010 11,10;因此该字映射到Cache的第139组。 (4) 分析地址:

A17A16A15A14A13A12A11A1000010101000101A901A801A701A601A501A401A301A201A101A001最小128KRAM… …11… …保留区01010101

11111111100101010101010101… …11最高端8KROM128K的RAM区由

128K?16bit?8?2?16片SRAM芯片构成;分为8组,组与组之间

16K?8bit进行字扩展;每个组内有2片进行位扩展。

MREQA17A16A15A14A13DCBAEN4:16译码器Y15…Y7Y6…Y0……CPUA12~A013CS8K×16AROMA13CSCSA16K×8 (2)RAM(1)A1313CSCSA16K×8 (4)RAM(3)A13…1313………A13ACSCS16K×8 (16)RAM(15)D88WE8D8WEDWEDWEDWEDWEDR/WD15~D8D7~D088

P225:5、

平均访问时间ta?hc?tc?(1?hc)?hm?(tm?tc)?(1?hc)?(1?hm)?(tm?tc?tp) 其中:ta —— 平均访问时间;tc —— Cache的存储周期;tm —— 主存的存储周期;tp —— 磁盘的存储周期;hc —— Cache的命中率;hm —— 主存的命中率。 所以,

ta?90%?20ns?10%?60%?80ns?10%?40%?(80ns?1200ns)ta?18ns?4.8ns?3.2ns?48ns?74ns

P168:6、 命中率h?3900?100%?97.5%

3900?100平均访问时间

ta?h?tc?(1?h)?tmta?97.5%?40ns?2.5%?240ns?39ns?6ns?45ns

e = tc/ta=40/45=8/9

P168:7、

4路组相联映射,所以r=2 每块4字,所以b=2; 每字32位,所以每字包含4字节。 Cache容量为

8K字节?512行?29行,故c=9

4?4字节主存容量为

16M字节?1M块?220块,故m=20

4?4字节主存字块00大组字块1…字块27-1字块271大组字块27+1………Cache组地址01……Cache标记标记…标记行0行4…行29-4…………标记标记…标记行3行7…行29 -172 -1字块27-1…207132-1字块2-2大…组字块220-1(1) Cache共分为:2

(2)

P226:8、

4路组相联映射,所以r=2 每块64字,所以b=6; Cache容量为

主存容量为

256K字?212块,故m=12

64字…

c-r

= 2

9-2

= 128组。

主存字节地址主存字块标记1320组地址7块内字地址2字内字节地址2

8K字?27行,故c=7 64字主存字块00大组字块1…字块25-1字块251大组字块25+1………Cache组地址01……Cache标记标记…标记行0行4…行27-4…………标记标记…标记行3行7…行27 -152 -1字块25-1…27125-1字块2-2大…组字块212-1

主存字地址0~8447,位于主存的哪几块内呢?

8448字132块?132,即主存的第0~8447字位于连续的132块内。5?商4余4,因此这

64字2块132块连续分布在第0~4大组内,其中在第4大组中只有4块。

第0大组共32块第1大组第2大组第3大组第4大组4块…

CPU第1次依次访问主存的0~8447字时不命中132次。Cache的变化如图所示 CacheCache主存 第0 大 组

CacheCache 第1大 组 第2 大 组CacheCache

4行 第3 大组 4行第4 大 组

CPU从第2次开始直到第21次访问主存的0~8447字时,每轮不命中20次(从第0~4大组的前4块都不命中,其余都命中),Cache的变化如图所示

Cache第3组的4行第0大组第4组第0组的4行第1组的4行第2组的4行第3大组第1大第2大组组Cache第4组的4行第0大组第1组的4行第2组的4行第3组的4行第3大组...Cache第3组的4行第0大组第0组的4行第1组的4行第2组的4行第3大组第1大第2大组组第1大第2大组组Cache第4组的4行第0大组第0组的4行第2组的4行第3组的4行第3大组第4组的4行第0大组Cache第0组的4行第1组的4行第3组的4行第3大组第4组的4行第0大组Cache第0组的4行第1组的4行第2组的4行第3大组第1大第2大组组第1大第2大组组第1大第2大组组因为tc?命中率h?tm, 108448?21?132?20?20176876?100%??100%?99.7%

8448?21177408tmt11?tmm设使用Cache比不使用Cache在速度上提高x倍,则

x?tm?h?tc?(1?h)?(tm?tc)?9.7倍

h?10?(1?h)?10

《指令系统》

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 间接 立即 变址 000AH / 0004H+0007H 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

A1(6位) A1(6位) A2(6位) A1(6位) A2(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 —— 停机 变址寻址 (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机器周期?

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次。 (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)

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

解:(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,设条件转移地址根据

05HVU0EHWX16HYF位修改微指令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 判定方式产生后继微地址的原理图

本文来源:https://www.bwwdw.com/article/udtp.html

Top