微机第三版教材习题参考答案 马维华 下载本文

微机原理与接口技术(第三版)课堂布置及需要关注习题参考答案 5

问的数据,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时指令MOV EAX,[ESI]对应源操作数的物理地址及指令执行后EAX中的值。

[ESI]对应源操作数的物理地址及指令执行后EAX(2)当CR0=70000011H时 求指令MOV EAX,中的值。该段的最多能容纳多少字节数据?根据访问权字节说明该段是什么样的段,是否存在存储器中?

地址 : 00011267H 00011266H 00011265H 00011264H 00011263H 00011262H 00011261H 00011260H 数据 : 00H 70H 00H 01H 75H 39H 2AH 00H 地址 : 00011237H 00011236H 00011235H 00011234H 00011233H 00011232H 00011231H 00011230H 数据 : 00H 00H 11H 47H 32H 30H 31H 36H 地址 : 00001047H 00001046H 00001045H 00001044H 00001043H 00001042H 00001041H 00001040H 数据 : 00H 01H 1EH 13H 00H 00H 1FH FFH 地址 : 00001007H 00001006H 00001005H 00001004H 00001003H 00001002H 00001001H 00001000H 数据 : 00H 40H F3H 01H 00H 00H 1FH FFH 解:CR4=0表示没有页的扩展,默认4KB页大小

(1)由CR0=70000010H可知,PE=0,处于实地址方式,因此物理地址=段地址×16+偏移地址EAX的值=75392A00H; =10030H+00001230H=00011260H,由表可知执行完MOV EAX,[ESI]之后,

(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,由表可得执行MOV EAX,[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=0000 0000 0000 0001 0001 0010 0011 0000B,偏移地址=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)。

MOV EAX,CR0 OR EAX,1 MOV CR0,EAX

MOV EAX,00011000H

6 IA-32 & Intel64微机原理与接口技术(第三版) 布置的习题参考答案

MOV CR3,EAX MOV EAX,CR0

OR EAX,80000000H MOV CR0,EAX

MOV EAX, [23401000H]

地址 : 00011267H 00011266H 00011265H 00011264H 00011263H 00011262H 00011261H 00011260H 数据 : 00H 70H 00H 01H 75H 39H 2AH 00H 地址 : 00011237H 00011236H 00011235H 00011234H 00011233H 00011232H 00011231H 00011230H 数据 : 00H 00H 11H 47H 32H 30H 30H 39H 地址 : 00001007H 00001006H 00001005H 00001004H 00001003H 00001002H 00001001H 00001000H 数据 : 00H 40H F4H 01H 00H 00H 1FH FFH 解:由前三条指令可知CR0.0(PE)=1转入保护方式,CR3=00011000H,知页目录表基址=00011000H,由第6,7,8条指令可知,CR0.31(PG)=1,即处理器工作在分段和分页的保护方式 由于复位后除代码段外,其它段基地址=0因此段描述符所描述的段基地址也为0,因此线性地址=段内偏移地址=23401000H=0010001101 0000000001 0000 0000 0000B

页目录索引×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简述半导体存储器的分类及主要性能指标。

SRAM-静态随机存取存储器,主要用于Cache RAM DRAM-动态随机存取存储器,主要用于内存模块 MROM-掩膜型只读存储器 PROM-一次可编程只读存储器 ROM EPROM-紫外线可擦除可编程只读存储器,早期ROM BIOS EPROM-电可擦除可编程只读存储器 Flash-闪速存储器,现代ROM BIOS 新型存储器 答:(1)分类

2传统半导体存储器 FRAM-铁电存储器,非易失性RAM MRAM-磁阻式存储器,非易失性RAM

(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,

微机原理与接口技术(第三版)课堂布置及需要关注习题参考答案 7

容量4M×8,所以n=8,片选一条,读写控制一个,电源和地各一条,芯片共有引脚=22+8+1+1+2=34条。如果算出来为奇数,则加1变偶数,以便于对称,便于制作。

5-6 50ns的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快,因此需要插入等待周期,才能正常访问50ns的存储器。如果是Pentium处理器,,是由于一个总线周期含2个状态,因此一个状态为20ns,因此等待一个状态20ns后,访问时间为40ns+20ns=60ns超过50ns即可访问。因此要插入20ns的等待时间。

5-9 试计算外频(内存模块的核心频率)为200MHz时DDR、DDR2、DDR3、双通道DDR4的带宽。 解:由于DDR、DDR2、DDR3、DDR4数据宽度为64位,200MHz下的速度如下: (1) DDR:200MHz×2×64/8=1600MB/s (2) DDR2:200MHz×4×64/8=3200MB/s (3) DDR3:200MHz×8×64/8=6400MB/s (4)DDR4:双通道200MHz×8×2×64/8=25600MB/S 5-10已知RAM的容量为

(1) 16K×8 (2) 64K×8 (3) 128K×8 (4) 256K×8

如果RAM的起始地址为3450H,则各RAM对应的末地址为多少?

解:(1)16K×8,单元数16K=24×210=3FFFH+1,所以末地址=首地址+大小-1=3450H+3FFFH=744FH (2)64K=216=FFFFH+1,末地址=3450H+FFFFH=1344FH (3)128K=217=1FFFFH+1,末地址=3450H+1FFFFH=2344FH (4)256K=218=3FFFFH+1,末地址=3450H+3FFFFH=4344FH

5-11如果一个应用系统中ROM为8KB,最后一个单元地址为57FFH,RAM紧接着ROM后面编址,RAM为16KB,求该系统中存储器的第一个地址和最后一个单元地址。

解:ROM最后一个单元为57FFH,8K=213=1FFFH+1,因此首地址=末地址-(大小-1)=57FFH-1FFFH=3800H,由于RAM紧跟ROM后面编址,因此RAM的首地址=57FFH+1=5800H,RAM大小16K=214=3FFFH+1,所以RAM的最后地址就是系统存储器的末地址(最后一个单元的地址)=5800H+3FFFH=97FFH

5-14用4K×8的SRAM芯片构成16K×16的存储器,要求起始地址为08000H,画出联接图,选用8086。 解:需要的芯片数:16K×16/(4K×8)=4×2=8片。起始地址=08000H,容量16K×16=32K×8=32KB(微机是按字节编址的),因此32K=215=7FFFH+1,末地址=08000H+7FFFH=0FFFFH,需要增加的地址线3条,08000H~0FFFFH可变的地址为A14~A0,其中A14、A13为增加的地址线,分别接2-4译码器输入端B和A,A11~A0是芯片本身的地址线接系统地址总线的A12~A1,不变的地址A19~A16均为0,A15=1,A0与RD逻辑或后接存储器的偶地址(低字节)存储模块的读信号,A0与WR或后接存储器的偶地址(低字节)存储模块的写信号,BHE与RD逻辑或后接存储器的奇地址(高字节)存储模块的读信号,BHE与WR或后接存储器的奇地址(高字节)存储模块的写信号,即当读或写偶地址存储体时,A0=0,能对如1#,3#,5#,7#进行读写操作,当读或写奇地址存储体时,

BHE=0,能对2#,4#,6#,8#进行读操作,以保证对奇偶存储体的访问,当A0=0并且BHE=0时,可对一个字

(16位)进行访问,连接示意如图所示。

8 IA-32 & Intel64微机原理与接口技术(第三版) 布置的习题参考答案

A19 A18 A17 A16 A15 M/IOD15~D0 74LS139 WRY0D15~D8 D7~D0 D15~D8 D7~D0 WR D7~D0(1#) CS OE A11~A0 WE D7~D0(2#) WE D7~D0(3#)CS OE A11-A0 WE D7~D0(4#) CS OE A11~A0CS OE A11~A0E A14 A13 Y2 Y1Y3D15~D8 D7~D0 D15~D8 D7~D0 BA WE D7~D0(5#)BHE RD A0 2 WE D7~D0(6#)CS OE A11~A0 WE D7~D0 (7#) WE D7~D0(8#) CS OE A11~A0CS OE A11~A0CS OE A11~A0 A12~A11345-16写出图5.43(a)所示的片选信号CS以及(b)中Y0~Y7对应的端口地址。 DAENA9A81213A9A6A4A8A71U1A2123456111212U2A3U4A7A58CSA3AENA2A1A012131245U7B6910U7C8321CBAU7A3654DU3A12U5A12U6E3E2E1Y7Y6Y5Y4Y3Y2Y1Y079101112131415CA6A5A4A3A2A1A0B (a) Title (b) 图5.43 题5-16图 =07FH; ANumberRevision解:(a)由CS=0可知:A9=0,A8=0,A7=0,A6=1,A5=1,A4=1,A3Size=1,A2=1,A1=1,A0=1,地址=0001111111BA4Date:File:3-Sep-2004 Sheet of F:\\教学\\WJ\\第二版微机书稿\\书稿电路图.ddbDrawn By:4A(b)由3-8译码器使能端有效即E3=1,E2=E112=0知:A9=1,A8=0,A7=0,A6=31,A5=0,A4=1,A3=0 Y0:A2A1A0=000,因此Y0的地址=1001010000B=250H Y1:A2A1A0=001,因此Y1的地址=1001010001B=251H Y2:A2A1A0=010,因此Y2的地址=1001010010B=252H Y3:A2A1A0=011,因此Y3的地址=1001010011B=253H Y4:A2A1A0=100,因此Y4的地址=1001010100B=254H Y5:A2A1A0=101,因此Y5的地址=1001010101B=255H Y6:A2A1A0=110,因此Y6的地址=1001010110B=256H Y7:A2A1A0=111,因此Y7的地址=1001010111B=257H

5-17 简述8088、8086、80386、Pentium、Pentium II、Pentium III、Pentium4以及Core 2系统存储器的组成形式。 解: 8088为8位存储器组织,共一个8位存储体,总容量最大1MB;

8086和80286为16位存储器组织,共2个8位存储体,1个偶地址存储体和1个奇地址存储体,其中8086

的每个存储体最大512KB,共1MB,而80286每个8MB,共16MB;

80386为32位存储器组成,共4个8位存储体,每个最大1MB,共4GB;

Pentium~CureX均为64位存储器组织,共8个8位存储体,Pentium每个存储体最大512MB,共4GB,

PentiumII~CoreX每个最大8GB,共64GB。

5-19 对于80386/80486设计一个32位存储器模块,使用EPROM芯片,地址范围FFFF0000H~FFFFFFFFH。 解:80386/80486地址线32条,数据线32条,EPROM容量为FFFFFFFFH-FFFF0000H+1=10000H即64KB, 64KB=64K×8=(16×4)×8=16K×32,即可用4片16KB的EPROM 27128通过位扩展构成这一存储器模块。