微机第三版教材习题参考答案--马维华Word文件下载.doc
- 文档编号:869689
- 上传时间:2023-04-29
- 格式:DOC
- 页数:29
- 大小:883.50KB
微机第三版教材习题参考答案--马维华Word文件下载.doc
《微机第三版教材习题参考答案--马维华Word文件下载.doc》由会员分享,可在线阅读,更多相关《微机第三版教材习题参考答案--马维华Word文件下载.doc(29页珍藏版)》请在冰点文库上搜索。
BTB(分支目标缓冲器)可对分支指令进行预测,目的是提高流水线执行效率。
在Pentium微处理器中,使用了BTB预测分支指令,这样可在分支指令进入指令流水线之前预先安排指令的顺序,而不致使指令流水线的执行产生停滞或混乱。
2-18总结一下8086/8088到Corei7处理器外部地址线、数据线条数、通用寄存器的位数以及所处的工作方式。
各自的位长以及所能寻址的物理地址空间有多大?
从8086到Corei的相关参数如下表所示表。
处理器
主要参数
8086
80286
80386
80486
Pentium
P6(Pro,PII,PIII)
Pentium4
Core2Duo
Corei7
Corei3/i5/i7
(二代到六代)
通用寄存器位数
16
32
32/64
外部数据线条数
64
外部地址线条数
20
24
36
物理地址空间
1MB
16MB
4GB
64GB
I/O组织(端口个)
64K
工作方式
实方式
保护方式
保护V86
保护、V86
实,保护、V86、系统管理
实、保护、V86、系统管理
实、保护、系统管理、IA-32E
2-26已经从内存1FF00000开始存放12H,34H,56H,78H,90H,ABH,CDH,EFH,11H,22H,33H,44H,55H,66H,77H,88H,99H,00H,AAH,BBH,CCH,DDH,EEH,FFH,试说明从1FF00000H开始取一个双四字的值,从1FF00008H开始取双字的值,以及从1F00010H开始取四字和一个字的值。
解:
按照数据低字节存放在低地址的原则,在Intel处理器中,为了保持兼容性,仍然定义一个字为16位(尽管字长已经是32位或64位)
从1FF00000H开始的双四字的值=8877665544332211EFCDAB9078563412H
从1FF00008H开始的双字的值=44332211H
从1FF00010H开始的四字的值=FFEEDDCCBBAA0099H
从1FF00010H开始的一个字的值=0099H
2-32对于IA-32或Intel64处理器采用16位运算(用16位寄存器),求以下运算结果及相应各标志位:
(1)5439H+4567H
(2)2345H+5219H(3)54E3H-27A0H(4)1A9FH+E561H
(1)
5439H+4567H=99A0H
0101010000111001
+0100010101100111
1001100110100000
AF=1,PF=1,ZF=0,CF=0,OF=1,SF=1
(2)
2345H+5219H=755EH
0010001101000101
+0101001000011001
0111010101011110
AF=0,PF=0,ZF=0,CF=0,OF=0,SF=0
(3)法1直接相减
54E3H-27A0H=2D43H
0101010011100011
-0010011110100000
0010110101000011
法2变减为加
54E3H-27A0H=54E3+D860H=2D43H
+1101100001100000
10010110101000011
AF=0,PF=0,ZF=0,CF=1,OF=0,SF=0
说明:
可见这两种方法算出的结果是一样的,但进借位标志完全不同。
(4)
1A9FH+E561=0000H
0001101010011111
+1110010101100001
10000000000000000
AF=1,PF=1,ZF=1,CF=1,OF=0,SF=0
2-37内存数据如表2.26所示,指出实地址方式下,执行下列程序段后AX中的值。
MOV AX,1100H
MOV DS,AX
MOVBX,200H
MOVAX,[BX+62H]
表2.26题2-38,2-43和2-44表(内存数据分布情况)
地址
数据
:
00011267H
00H
00011237H
00001047H
00001007H
00011266H
70H
00011236H
00001046H
01H
00001006H
40H
00011265H
00011235H
11H
00001045H
1EH
00001005H
F3H
00011264H
00011234H
47H
00001044H
13H
00001004H
00011263H
75H
00011233H
32H
00001043H
00001003H
00011262H
39H
00011232H
30H
00001042H
00001002H
00011261H
2AH
00011231H
31H
00001041H
1FH
00001001H
00011260H
00011230H
36H
00001040H
FFH
00001000H
从程序段知DS=1100H,有效地址(偏移地址)=200H+62H=262H,因此物理地址=11000H+262H=11262H,11262H开始的一个字为7539H,所以AX=7539H
2-38IA-32处理器描述符中所含有的基地址为089C0000H,段界限为0003FH,求
(1)G=0时该描述符所寻址段的地址范围,该段如果要存汉字,能容纳多少个?
(2)G=1时,对于4K页,描述的段的地址范围。
(1)G=0,段以字节为单位,段大小=段界+1=3FH+1=40H=64,末地址=段基址+段大小-1=段基址+段界=089C0000H+3FH=089C0000H~0x89C0003F,可容纳汉字64/2=32个;
(2)G=1时,段大小以页为单位(4K页),段大小=(段界+1)×
4K=(3FH+1)×
1000H=40000H=262144,末地址=段基址+段大小-1=089C0000H+40000-1=089C0000H+3FFFFH=089FFFFFH,可容纳汉字262144/2=131072个。
2-39试定义IA-32处理器的两个段描述符来描述一个存储器段,均为一个可写、向上增长的用户访问的在物理存储器中、未访问过的数据段,
(1)地址范围为03000000H~03001FFFH,
(2)01000000H~027FFFFFH。
(1)定义段描述符就是确定段基址、段界和相关属性
段基址=03000000H,段界=末地址-首地址=1FFFH,段界<
FFFF,因此,属性G=0,另外根据IA-32处理器,默认D=1(32位数据),AVL=0,
访问权字节,P=1,DPL=11,S=1,TYPE=001,A=0,对照描述符格式
31…………………24
23
22
21
19……16
15
1413
12
11109
8
7………………0
段基址(B31-B24)
G
D/B
0
AVL
段界(L19-L16)
P
DPL
S
Type
A
基地址(B23-B16)
4
基地址(B15-B0)
段界(L15-L0)
所以段描述符为:
0340F20000001FFFH
(2)段基址=01000000H,段大小=027FFFFFH-01000000H+1=017FFFFFH=01800000H>
FFFFFH+1因此,G=1,由于段大小=(段界+1)×
4K,因此段界=段大小/4K-1=01800000H/4K-1=1800H-1=17FFH,其它属性同上,则段描述符=01C1F200000017FFH
2-41已知从00100000H开始存放FFH,01H,00H,04H,10H,F2H,0AH,06H,FFH,03H,00H,00H,10H,F2H,40H,02H,从02100000H开始存放35H,36H,31H,30H,30H,32H,39H,38H,3AH,DS=000BH,EBX=0000002H,GDTR=001000001FFFH,CR0=60000011H,CR3=00034000H,对于IA-32处理器,执行指令MOVEAX,[EBX]时:
(1)求源操作数对应的描述符表可存放描述符个数
(2)求源操作数对应段描述符的值以及该描述符描述段的地址范围
(3)求源操作数所对应的物理地址
(4)求指令执行后EAX中的内容。
(5)从已知条件中还能得到什么信息?
DS=000BH=0000000000001011B,对照选择子的格式可知TI=0,选中GDT表,RPL=11为普通用户使用,索引×
8=08H
(1)GDT表可存放的描述符的个数由GDTR中的界决定,GDT表的界=1FFFH,因此可存放的段描述符的个数=(1FFFF+1)/8=400H=1K个;
(2)先找出描述符存放的首地址=GDT表首址(GDTR高32位)+索引×
8=00100000H+08H=00100008H,以段描述符为0240F210000003FFH,段描述符描述的段的大小取决于段界和G,对照段描述符的格式可知G=0,段界=003FFH,段基址=02100000H,因此段地址范围为02100000H~0210003FFH;
(3)CR0=600000011H,因此PE=1,PG=0,是分段而不分页的保护方式,因此CR3多余,段内偏移地址=EBX的值=00000002H,因此物理地址=段基址+段内偏移地址=02100000H+00000002H=02100002H;
(4)021000002H开始的4个字节就是EAX的值=32303031H;
(5)由段描述符可知,G=0,D=1为32位数据,此外决定其它属性的主要是访问权字节,访问权字节中为F2H=11110010B,即P=1表示数据在物理存储器中,DPL=11表示一般用户程序访问的数据,S=1表示段描述符,A=0表示该段还没有被访问过,TYPE=001表示该段是向上增长的可写的数据段。
2-42已知内存中的数据如表2.26所示,对于IA-32处理器,已知内部相应寄存器的值为:
ESI=00001230H,DS=SS=ES=FS=GS=1003H。
GDT表和LDT表的首地址均为0,CR4=0。
CR3=000011FFH,内存数据如下所示。
(1)当CR0=70000010H时指令MOVEAX,[ESI]对应源操作数的物理地址及指令执行后EAX中的值。
(2)当CR0=70000011H时求指令MOVEAX,[ESI]对应源操作数的物理地址及指令执行后EAX中的值。
该段的最多能容纳多少字节数据?
根据访问权字节说明该段是什么样的段,是否存在存储器中?
CR4=0表示没有页的扩展,默认4KB页大小
(1)由CR0=70000010H可知,PE=0,处于实地址方式,因此物理地址=段地址×
16+偏移地址=10030H+00001230H=00011260H,由表可知执行完MOVEAX,[ESI]之后,EAX的值=75392A00H;
(2)由CR0=70000011H知PE=1且PG=0为仅分段的保护方式,由DS=1003H=0001000000000011B,可知,TI=0选择的是GDT表,RPL=11表示一般用户访问,索引×
8=1000H
段描述符存放的首地址=GDT表首址+索引×
8=00001000H,所以通过上表可知,
段描述符=0040F30100001FFFH,段基址=00010000H,段界=01FFFH,G=0,段内偏移量=ESI=00001230H,因此物理地址=段基址+偏移地址=00010000H+00001230H=00011230H,由表可得执行MOVEAX,[ESI]后,EAX的值就是从00011230H开始的4个字节,即EAX=32303136H;
由于G=0时段大小=段界+1=01FFFH+1=2000H=8192字节,即可容纳8192字节的数据
访问权字节=F3H=11110011B,A=1该已经被访问过,同P=1在物理存储器中,是向上增长的可写的数据段。
(3)由CR0=E0000011H知PE=1且PG=10为分段且页的保护方式,
由
(2)得线性地址=00011230H,由于CR4=0页大小为4KB(不扩展)
00011230H=00000000000000010001001000110000B,偏移地址=230H
CR3=000011FFH,因此页目录基地址=00001000H,页目录索引*4=0,因此目录项地址=00001000H,从表中找出页目录项为00001FFFH,因此页表基址=00001000H,页表索引*4=11H*4=44H因此页表项地址=00001044H,页表项=00011E13H,页基地址=00011000H,物理地址=页基地址+页内偏移量=00011000H+230H=00011230H,EAX的值就是从00011230H开始的4个字节,即EAX=32303136H;
2-43已知内存中的据如表2.26所示,IA-32处理器复位后,立即执行以下指令,求出指令执行完EAX中的值并说明处理器的工作状态。
(注意自复位后处理器的状态,参见2.3.1中图2.22)。
MOVEAX,CR0
OREAX,1
MOVCR0,EAX
MOVEAX,00011000H
MOVCR3,EAX
OREAX,80000000H
MOVEAX,[23401000H]
F4H
由前三条指令可知CR0.0(PE)=1转入保护方式,CR3=00011000H,知页目录表基址=00011000H,由第6,7,8条指令可知,CR0.31(PG)=1,即处理器工作在分段和分页的保护方式
由于复位后除代码段外,其它段基地址=0因此段描述符所描述的段基地址也为0,因此线性地址=段内偏移地址=23401000H=00100011010000000001000000000000B
页目录索引×
4=001000110100B×
4=234H,页表索引×
4=0000000001H×
4=00000004H
页目录项基地址=00011000H,因此页目录项的地址为页目录基地址+页目录索引值×
4=00011000H+234H=00011234H,因此页目录项=00001147H,页表基地址=00001000H,因此页表项地址为页表基地址+页表索引×
4=00001000H+00000004H=00001004H,页表项=00001147H,页基地址=00001000H,物理地址=页基地址+页内偏移地址=00001000H+0=00011000H,因此EAX=00001FFFH
第五章作业
5-2简述半导体存储器的分类及主要性能指标。
(1)分类
(2)主要性能指标:
存储容量、存取速度和带宽(带宽=存储器总线频率×
数据宽度/8(单位:
字节/S))
5-3说明SRAM、DRAM、MROM、PROM、EPROM及FRAM的特点及简单工作原理。
SRAM靠双稳态触发器的两个稳定状态存储信息的;
DRAM靠极间电容的充放电来存储信息的;
MROM靠光刻技术确定是否保留MOS管决定信息的,跨接MOS管,信息为0,没有跨接MOS管,信息为1;
PROM是靠熔丝的通断决定信息的,没有熔断,则信息为1,熔断信息为1;
EPROM是靠雪崩注入式场效应管(FAMOS管)的浮置栅是否积累足够的电荷来存储信息的,有足够的电荷积累,则记录信息0,没有足够的电荷积累信息记录;
FRAM是靠铁电电容来存储信息的。
5-4已知一个SRAM芯片的容量为4M×
8,该芯片有一个片选信号引脚和一个读/写控制引脚,问该芯片至少有多少个引脚?
SRAM的引脚的确定从地址线、数据线、控制线及电源线四方面考虑,地址线m决定字数,2m=4M,因此m=22,容量4M×
8,所以n=8,片选一条,读写控制一个,电源和地各一条,芯片共有引脚=22+8+1+1+2=34条。
如果算出来为奇数,则加1变偶数,以便于对称,便于制作。
5-650ns的512M×
8的DRAM芯片,其外部数据线和地址线为多少条?
1秒钟至少可存取多少次?
如果系统接内存的总线周期40ns的微机系统,在访问存储器时要不要插入等待周期?
如果处理器是Pentium,则需要插入多少ns的等待时间?
(1)寻址的地址线=log2(单元数)=log2(512M)=log2(229)=29条,由于DRAM的外部地址线是内部的一半,因此DRAM的外部地址线为15条,数据线8条,1s/50ns=109/50=20000000次,即每秒可存取2千万次,总线周期为40ns,因此比50ns快,因此需要插入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 第三 教材 习题 参考答案 马维华