P101 写出下列各数的原码、反码和补码,机器数长度为8位: 真值 (1)0 (2)-127 (3) (4)-19/128 (5)100 (6)23/ 二进制真值 0000000 -1111111 - - 1100100 原码 0,0000000 1,0000000 1,1111111 0,1100100 反码 0,0000000 1,1111111 1,0000000 0,1100100 补码 0,0000000 1,0000001 0,1100100 P101 写出下列各机器数的二进制真值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=-B,X=-128 (10)[X]反=1,0000000 X=-1111111B,X=-127 (11)[X]原=1,0000000 X=-0 (12)[X]移=1,0000000 X=0
P156 X= Y=-(设机器数长度为8位)
[X]补= [-X]补= [2X]补=溢出 [-2X]补=溢出 [X/2]补= [-X/2]补= [Y]补= [-Y]补= [2Y]补= [-2Y]补= [Y/2]补= [-Y/2]补= [-Y/4] 补=
P102:、
阶码(6位移码) 尾数(6位原码) (1) X=-25/=,Y==
[X]浮=0,11111 =7F9H [Y]浮=1,00010 =7H (2) [Z]浮=9F4H=1,00111 =-80
P102:9、机器数字长16位 (1) 无符号整数:0~2161
15(2) 原码表示的定点整数:1,111…11~0,111…11即(21)~2151
(3) 补码表示的定点整数:1,00…000~0,111…11即215~2151 (4) 补码表示的定点小数:…000~…11即1~1215 (5) 非规格化浮点数:NMR
阶码(8位移码) 最大数=(127)227E尾数(8位补码) 1
尾数= 阶码=1,1111111 最小数=12271
阶码=1,1111111 尾数= 72最大负数=22
7阶码=0,0000000 最小正数=27尾数= 22
阶码=0,0000000 尾数= 7(6) 规格化浮点数: 最大数=(127)2271
尾数= 阶码=1,1111111 最小数=12271
阶码=1,1111111 尾数= 最大负数=(2127)22
阶码=0,0000000 最小正数=217尾数= 22
阶码=0,0000000 尾数= 7P156:2、 (1)
(2)
P156:4-1
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:
(1)X==
阶码(5位补码) 尾数(6位补码) Y== X+Y
X-Y:
1、对阶同上 2、尾数相减:
+ [EX-Y]补 = 3、结果不需规格化
4、舍入处理:[EX-Y]补 =
[X-Y] = 0,0011 1,00101
P108:8-2
X= = Y= =
X-Y:
1、对阶同上 2、尾数相减:
+
[EX-Y]补 = 发生正溢 尾数右移,阶码加1 [EX-Y]补 = [Mx-y] = 3、结果不需规格化
4、舍入处理:[EX-Y]补 =
[X-Y] = 1,1111 0,10100
P108:9-1
阶码(5位移码) (1)X== Y== X*Y
尾数(6位补码)
9-1 X/Y:
9-2 X*Y
9-2 X/Y
《存储体系》
P225:2、 (1) (2)
(3) 128500nss P225:3、
(1) 最大主存容量=216bit
18K16416片
16K12ms15.625s 12821816bit416片芯片;若采用异步刷新,则刷新信号的周期为(2) 共需
K1bit2ms15.625s 128(3) 每块8字节,则Cache容量为
2K16bit51229行,即c=9,Cache采用2路
8Byte21816bit216块,即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…………
主存字地址=462EH=00 0100 01,10 0010 11,10;因此该字映射到Cache的第139组。 (4) 分析地址:
…
主存字节地址主存字块标记816组地址8块内字地址2字内字节地址1A17A16A15A14A13A12A11A1000010101000101A901A801A701A601A501A401A301A201A101A001最小128KRAM… …11… …保留区01010101
11111111100101010101010101… …11最高端8KROM128K的RAM区由
128K16bit8216片SRAM芯片构成;分为8组,组与组之间进行
16K8bit字扩展;每个组内有2片进行位扩展。
MREQA17A16A15A14A13DCBAEN4:16译码器Y15…Y7Y6…Y0……CPUA12~A013CSAROMD88888K×1613A13CSCSA16K×8 (2)RAM(1)A1313CSCSA16K×8 (4)RAM(3)A13…13………A13ACSCS16K×8 (16)RAM(15)WE8D8WEDWEDWEDWEDWEDR/WD15~D8D7~D0
P225:5、
平均访问时间tahctc(1hc)hm(tmtc)(1hc)(1hm)(tmtctp) 其中:ta —— 平均访问时间;tc —— Cache的存储周期;tm —— 主存的存储周期;tp —— 磁盘的存储周期;hc —— Cache的命中率;hm —— 主存的命中率。 所以,
ta90%20ns10%60%80ns10%40%(80ns1200ns)ta18ns4.8ns3.2ns48ns74ns
P168:6、
命中率h3900100%97.5%
3900100平均访问时间
tahtc(1h)tmta97.5%40ns2.5%240ns39ns6ns45ns
e = tc/ta=40/45=8/9
P168:7、
4路组相联映射,所以r=2 每块4字,所以b=2; 每字32位,所以每字包含4字节。 Cache容量为
8K字节512行29行,故c=9
44字节主存容量为
16M字节1M块220块,故m=20
44字节主存字块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)
…
c-r
= 2 = 128组。
9-2
主存字节地址主存字块标记1320组地址7块内字地址2字内字节地址2
P226:8、
4路组相联映射,所以r=2 每块字,所以b=6; Cache容量为
8K字27行,故c=7 字主存容量为
256K字212块,故m=12
字主存字块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,因此这
字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命中率htm, 108448211322020176876100%100%99.7%
844821177408tmt11tmhm(1h)1010设使用Cache比不使用Cache在速度上提高x倍,则
xtmhtc(1h)(tmtc)9.7倍
《指令系统》
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) 19ADDR(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
指令为双字长指令,格式如下:
操作码,寻址方式码,寄存器号(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=00 … OP=11 OP=00 … OP=11
无操作数指令格式: OP(16位) 60条双操作数指令
OP=000 … A1(6位) A1(6位) A2(6位) A1(6位) A2(6位) A1(6位) OP=011
设某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 —— (R3)+02H=32H —— (PC)+01H =2CH+01H =2DH —— —— 源操作数 (20H)=22H 20H (32H)=04H 0FH —— —— —— 执行结果 (R1)=22H (R1)=(R1)+20H =42H (R1)=(R1)-04H =3EH (R1)=(R1)·0FH =0EH· (PC)=2DH —— 停机
《控制器》
6、设某机平均执行一条指令需要两次访问内存,平均需要三个机器周期,每个机器 周期包含4个节拍周期。若机器主频为25MHz,试回答:
1)若访问主存不需要插入等待周期,则平均执行一条指令的时间为多少? 2)若每次访问内存需要插入2个等待节拍周期,则平均执行一条指令的时间是
又多少?
解:(1)
时钟周期11 主频25MHz平均指令周期34时钟周期0.48s
(2)
平均指令周期34时钟周期22时钟周期0.s
7、设某机主频为8MHz,每个机器周期包含4个节拍周期,该机平均指令执行速度为1MIPS。试回答:1)该机的平均指令周期是多少时间?2)平均每条指令周期包含几个机器周期? 解:(1)平均指令周期11s
机器速度4(2) 8MHz平均每条指令•机器周期2机器周期
8、参见图7-41的数据通路,指令“INC R1”将R1寄存器的内容加1,画出其指令周期微程序流程图,并根据表7-11和表7-12写出每一条微指令码。
解: INC R1;(R1)+1R1
PC AR、PC+1R1DA1RAM IRDA1+1R1J1# 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 Rd PC AR、PC+1PC AR、PC+1RsDA2RAM IRRAM ARDA1-DA2RAMJ1#RAM DA1 所以,共需要8个机器周期,共访存4次。 (2)JMP DISP; (PC)+DISP→PC
PC AR、PC+1PC AR、PC+1RAM IRRAM DA1DA1+DA2PCPCDA2J1# 所以,共需要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#RAMDD2R2 MARDD1+DD2RAM (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) 画出对应这种微指令格式的微程序控制器逻辑框图。
29
解:(1)2=4,512=2 控制字段(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)因为微指令中判断测试位为直接控制法,只有2种转移测试和顺序执行,所以判断测
00H试位需要3位二进制。 A 01H(2)假如微指令B的下址字BI5I4=01I5I4=10I5I4=11段为10000B,设微程序入口地I5I4=0011H12H13H(1)10H址根据I5I4两位修改微指令BCDEF的下址字段的末两位,则微程02H06H0AH0FH序入口地址=100 I5I4 B。假如GHIJ07H0BH14H(2)微指令G的下址字段为F=0F=119HMNO18H11000B,设条件转移地址根据KL08H0CH15HF位修改微指令G的下址字段03H04HRSTPQ09H0DH的第1位,则条件转移地址05HVW=1100F B。则每条微指令的微U0EH地址如图所示。 X 16H(3) 设3位判断测试字段Y码: 判断测试字段码=1H: 判断测试字段码=2H: 判断测试字段码=4H: 微指令 A B C D E F G H I J 判断测试字段码 1H 2H 1H 1H 1H 1H 4H 1H 1H 1H 下址字段内容 01H 10H 02H 06H 0AH 0FH 18H 07H 08H 14H 微指令 N O P Q R S T U V W 判断测试字段码 1H 1H 1H 1H 1H 1H 1H 1H 1H 1H 下址字段内容 0CH 15H 16H 05H 09H 0DH 0EH 16H 16H 0EH 顺序执行(后继微地址 = 下址字段) 微程序入口散转(后继微地址 = 下址字段末两位 AND I5I4 ) 条件转移(后继微地址 = 下址字段第1位 AND F) K L M (4)
1H 1H 1H 03H 04H 08H X Y 1H 1H 16H 00H 操作码地址码IR状态标志微地址散转及修改电路开机置微地址初值+ μAR控制存储器控制字段测试下址图7-20 判定方式产生后继微地址的原理图
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务