微机习题Word下载.docx
《微机习题Word下载.docx》由会员分享,可在线阅读,更多相关《微机习题Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
1.微处理器:
执行程序指令,完成各种运算和控制功能;
2.主存储器:
ROM(只读):
存储某些固定不变的程序或数据;
RAM(随机存取):
存储计算机运行过程中随时需要读入或写入的程序或数据;
3.总线:
分时地发送与接收各部件的信息;
4.I/O接口:
控制主机与外部设备之间的信息交换与传输。
思考题:
以执行一条指令为例,说明计算机(CPU)执行指令的基本过程,例如执行如下x86指令:
2000H:
ADD[1000H],AL
P77.9.若80x86实模式下当前段寄存器的值为CS=2010H,DS=3010H,则对应的代码段及数据段在存储空间中物理地址的首地址及末地址是什么?
解:
由CS=2010H,其代码段首地址:
20100H
末地址:
300FFH
由DS=3010H,其数据段首地址:
30100H
400FFH
10.设现行数据段位于存储器
10000H~1FFFFH单元,则DS寄存器的内容
应为多少?
1000H.
13.某系统中已知当前SS=2100H,SP=080AH,
说明该堆栈段在存储器中的物理地址范围。
若当前堆栈中存入10个字节数据后,那么
SP的内容变为何值?
实模式下,“段基址”和“偏移量”均是16
位,故1个段的大小为64K。
即:
2100H*16+0000H~2100H*16+0FFFFH。
错误结果:
21080AH
加入10个字节后,栈指针向低地址转移,
故SP=080AH-0AH=0800H
1)080AH+0AH
2)080AH-10H5
解:
物理地址:
21000H+FFFFH=30FFFH
故范围为:
21000H~30FFFH
存入10个字节数据后,SP=0800H
14.已知当前数据段中存有如图3.13所示的字符串数据,现要求在该字符串之后添加两个字节数据0DH和0AH(回车、换行符).试说明需给出的段基值和偏移量。
13008H-12000H=1008H
13009H-12000H=1009H
故:
段基值:
1200H;
偏移量:
1008H;
1009H。
P122.1.1.分别指出下列指令中源操作数和目的操作数的寻址方式。
(1)MOVDI,300
(2)MOV[SI],AX
(3)ANDAX,DS:
[2000H]
(4)MOVCX,[DI+4]
(5)ADDAX,[BX+DI+7]
(6)PUSHF
指令操作,先将SP的值减2,再将标志寄存器的内容传送到由SP所指示的栈顶,标志寄存器的内容不变。
源操作数,标志寄存器中,故寄存器寻址
目的操作数,SP保存目的地址,存器间接寻址
2.设CS=2500H,DS=2400H,SS=2430H,ES=2520H,BP=0200H,SI=0010H,DI=0206H,试计算下列指令源操作数的有效地址和物理地址。
(1)MOVAX,[BP+SI+4]
(2)ADDAX,[DI+100H]
源操作数,相对基址加变址寻址。
默认的段寄存器由所选用的基址寄存器决定:
BP段则段寄存器为SS。
2430H*16+0200H+0010H+4H=24514H
(1)有效地址:
EA=0200H+0010H+4=0214H
24000H+0214H=24214H
(2)有效地址:
EA=0206H+100H=0306H
24000H+0306H=24306H
3.判断下列8086指令是否正确,并说明理由。
(1)MOVBL,AX
错误。
因为这是在16位与8位寄存器之间传送数据,指令的两个操作对象的位数不一致。
(2)INC[BX]
因为操作数的位数不确定。
(3)MOVBX,[AX]
因为不能用AX进行寄存器间接寻址。
(4)MOVAX,[BX]
正确。
(5)POPBX
(6)POPCS
因为目的寄存器不能是CS(系统不允许随意修改CS)
(7)MOV5,AL
因为立即数不能作为目的操作数。
(8)ADDBYTEPTR[BX],[DI]
因为两个操作数不能均为寄存器间接寻址。
(9)MOV[BX],20H
因为操作数类型不明确。
(10)OUT258H,AL
因为端口地址大于255时,不能用直接寻址。
(11)MOV[50-BP],AX
因为寄存器左边不能用减号。
(12)MOVBP,SP
4.编写程序段分别实现下列运算(假设运算中各变量均为带符号字变量)
(1)Z←X+Y-Z
(2)Z←X+(Y-6)-(W+100)
(3)Z←(W*X)/(Y+100),R←余数
5.编写两段程序分别将标志寄存器中的单步标志置1、清0,并且不改变其它各标志位的值。
8.数据段从偏移地址1000H处开始连续存放了200H个字节的数据,编写一段程序将这些数据移到数据段从偏移地址1100H处开始的连续区域中。
P155.1.判别下列标识符是否合法:
Y3.5
不合法,“.”不能在标识符内部出现,只能是第一个字符。
3DATA
不合法,标识符不能以数字开头。
BCD#
不合法,标识符中不能使用“#”。
(one)
不合法,标识符中不能使用“()”。
PL*1
不合法,标识符中不能使用“*”。
ALPHA-1
不合法,标识符中不能使用“-”,应用“_”代替。
PROC-A
AAA
不合法,AAA为保留字,加法的ASCII为调整指令,故不可作为标识符。
5.
答案:
B
9.在下面的汇编语言程序横线处填空,使语句完整,保证程序正确执行.
上述程序执行后,RLT的内容是____(用十六进制表示);
若将程序中的“JLCONT”指令改为“JGECONT”指令,则该程序执行后,RLT的内容是____(用16进制表示)。
BX;
ENDS;
0004H;
0002H
10.下列程序段运行后,A单元的内容为_____。
250H
11.将下列伪指令语句定义的数据填充到图示的存储单元中。
(注:
A的ASCII码为41H,B的ASCII码为42H。
)
ONEDB‘AB’
TWODW‘AB’
DATADW100H,9AH
ARRAYDB2DUP(0,1,?
2)
P206.1.简要说明Pentium处理器内部所包含的主要功能部件。
1.总线接口单元BIU2.指令Cache与数据Cache3.超标量流水线结构4.动态转移预测及转移目标缓冲器BTB5.指令预取器和预取缓冲器6.指令译码器7.执行单元EU8.浮点处理单元FPU9.控制单元CU
3.在片内Cache的设置上,Pentium与80486有何不同?
Pentium采用哈佛结构,即把Cache分为“指令Cache”和“数据Cache”分别设置从而避免了仅仅设置统一Cache时发生存储器访问冲突现象。
4.以Pentium处理器为例,解释现代微处理器设计中所采用的下列技术:
流水线方式、流水级、超级流水线(超流水)、超标量结构。
流水线方式:
把一个重复的过程分解为若干子过程,每个子过程可以与其它子过程并行进行。
流水级:
每条流水线所划分所得的不同阶段。
(Pentium的5个流水级:
取指、译码、地址生成、执行、写结果)。
超流水:
流水线的若干流水级进一步细分为更多的阶段(流水小级),每个“流水小级”可以与其他指令的不同“流水小级”并行执行,进一步提高指令吞吐率。
超标量结构:
具有两条或两条以上能够并行工作的流水线结构。
5.试说明现代微处理器采用“转移预测”策略的必要性。
“转移预测”通常是发生在指令执行全过程的哪个阶段?
必要性:
在流水线结构中,转移指令会改变指令流向,破坏流水模式。
当转移指令被执行并确实发生转移时,产生转移开销:
将按顺序预取的指令废除(即“排空流水线”),从转移目标地址重新取指令。
其极大的影响流水线的性能。
发生在:
取指的同时(Xscale);
译码完成后(Pentium);
取指的同时预译码完成后(UltraSPARCⅢ)。
6.简要说明Pentium处理器实现“动态转移预测”的基本方法及工作过程。
1.译码完成后,根据转移指令的地址访问BTB
2.BTB命中——历史信息转移预测器;
BTB未命中——顺序执行
3.BTB更新
补充题:
参考课件中提供总线逻辑电路示意图,画出包含3个主模块和2个从模块的总线逻辑电路示意图。
P222.2.I/O端口的编址方式有哪两种?
各自的优缺点是什么?
1)I/O编址方式:
I/O端口和存储器统一编址、I/O端口和存储器分开编址。
2)统一编址优缺点:
1.访问存储器的指令功能比较齐全
2.I/O端口占用存储器地址空间,使用户的存储地址空间相对减小
3.指令的长度通常比单独I/O指令要长,指令的执行时间也较长
3)分开编址优缺点:
1.I/O端口不占用存储器地址,不会减少用户的存储器地址空间
2.单独I/O指令的地址码较短,地址译码方便,执行速度快
3.采用单独的I/O指令,使程序中I/O操作和其他操作层次清晰
4.单独I/O指令的功能有限
5.由于采用了专用的I/O操作时序及I/O控制信号线,增加了CPU本身控制逻辑的复杂性
5.主机与外设之间的数据传送控制方式有哪几种?
各自的特点是什么?
程序控制方式一:
无条件传送方式,控制程序简单,但只适用于简单外设的操作?
程序控制方式二:
程序查询传送方式,比无条件传送方式准确和可靠,但查询外设状态占用了大量的时间
中断控制方式:
与程序查询方式相比提高了CPU的工作效率;
外围设备具有申请服务的主动权;
CPU可以和外设并行工作;
可适合实时系统对I/O处理的要求
DMA方式:
不需要CPU干预,在专门硬件控制电路控制之下进行外设与存储器间直接数据传送,该专门硬件控制电路称为DMA控制器,简称DMAC
7.试说明DMA控制器(DMAC)的基本功能。
1.能接收I/o接口的DMA请求,并向CPU发出“总线请求”信号;
2.当CPU发出“总线回答”信号后,接管对总线的控制,进入DMA传送程序;
3.能实现有效的寻址,即能输出地址信息并在数据传送过程中自动修改地址;
4.能向存储器和I/O接口发出相应的读/写控制信号;
5.能控制数据传送的字节数,控制DMA传送是否结束;
6.在DMA传送结束后,能释放总线给CPU,恢复CPU对总线的控制。
10.DMA控制器通常有哪几种传输方式?
1.单字节传输方式:
DMAC每传送完一个字节即交还控制权给CPU,适用于相对来说较缓慢的I/O设备与内存之间的数据传输;
2.块传输方式:
DAMC在获得总线控制权后连续传输数据字节,待整个数据块全部传送完成后再释放总线控制权;
数据传输率高,CPU利用率低;
3.请求传输方式:
通过控制“DMA请求”信号的有效或无效,可把一个数据块分几次传送,以允许接口的数据没准备好时,暂时停止传送。
P239.1.80X86实模式的中断可分为哪几类?
根据进入中断的方式:
自愿中断、强迫中断;
根据中断的重要性:
可屏蔽中断、非屏蔽中断;
根据中断源的位置:
内部中断、外部中断;
5.中断类型码为14H的中断向量存放在内存哪4个字节单元中?
若这4个字节单元的内容从低地址到高地址依次为10H、20H、30H、40H,则相应的中断服务程序入口地址是什么?
14H的中断类型码:
14H<
<
2=50H,故中断向量存放于内存的00050H~00053H这四个字节单元里面?
中断服务的入口地址为4030H:
2010H(中断向量的低两个字节存放偏移量,中断向量的高两个字节入口地址的段基址)
14H*4=(16+4)D*4=(80)D=50H
故存放地址:
0000:
0050H、0000:
0051H、0000:
0052H、0000:
0053H;
入口地址:
40030H、2010H
6.在8086系统的中断向量表中,若从0000H:
005CH单元开始从低地址到高地址依次存放00H、20H、00H、30H4个字节的内容,则该中断对应的中断类型码和中断服务程序入口地址分别为____。
A.16H,3000H:
2000H
B.16H,2000H:
3000H
C.17H,2000H:
D.17H,3000H:
D
(5CH)/4=17H
7.可编程中断控制器8259A的中断屏蔽寄存器IMR用于:
____
A.存放从外设发来的中断请求信号
B.记忆正在处理的中断请求
C.设置中断结束方式
D.控制能否向CPU发中断请求
中断请求寄存器IRR:
A
优先级裁决器PR:
C比较中断请求,比较其优先级
中断服务寄存器ISR:
中断屏蔽寄存器IMR:
D对IRR起屏蔽作用
8.
试指出该外部中断的类型码是多少?
该程序段为它设置的中断向量是什么?
STOSW:
教材116页,串操作指令(ES:
DI)<
-AX,DI<
DI+2(DF=0)
该外设对应与中断向量表的地址为:
ES:
DI,ES=0,所以中断类型码为进入中断时DI寄存器的值除以4
低字节2000H,高字节1000H,所以中断服务的入口地址为1000H:
2000H
外部中断类型码:
DI/4
中断向量:
1000H:
P257.12.分别读入接于8255A端口A的开关状态KA0~KA7和接于端口B的开关状态KB0~KB7,将二者求和后从端口C送出。
要求:
①画出连线简图;
②编写8255A的初始化程序及有关控制程序,并加简要注释(8255A的端口地址D0H~D3H).
.
13.一个交通灯微机控制模拟实验接口如图10.16所示,其中接于并行接口片8255A端口C的PC0位的开关K用来模拟十字路口支道车辆通行情况(开关状态为“1”表示支道上有车辆要通行);
端口A的PA2、PA1、PA0位用来控制主道的红(R)、黄(Y)、绿(G)灯,端口B的PB2、PB1、PB0位用来控制支道的红(R)、黄(Y)、绿(G)灯。
平时主道放行(绿灯亮),支道禁止通行(红灯亮);
当支道上有车辆要通过时(PC0端为“1”),主道交通灯由绿→黄(延迟5秒)→红(禁行),支道交通灯由红→绿(放行);
支道放行20秒后,其交通灯由绿→黄(延迟5秒)→红,然后主道放行;
要求主道至少放行40秒。
①画出实现上述控制过程的程序流程框图;
②编写8255A的初始化程序,并加简要注释(8255A的端口地址为DOH~D3H)。
.
P278.7.设异步传输时,每个字符对应1个起始位,7个有效数据位,1个奇/偶校验位和1个停止位,若波特率为1200,则每秒钟传输的最大字符数为多少?
1200/(1+7+1+1)=120
故每秒传输最大字符数为120个。
8.简述8251A的内部结构及各部分的作用。
(1)接收器:
接收器实现有关接收的所有工作。
(2)发送器:
在异步方式下,发送器接收CPU送来的并行数据,加上起始位,并根据规定的奇偶校验要求(是奇校验还是偶校验)加上校验位,最后加上1位、1.5位或2位停止位,由TxD输出线发送出去;
发送中止符。
在同步方式下,发送器首先根据初始化程序对同步格式的设定,发送一个同步字符(单同步)或两个同步字符(双同步),然后发送数据块。
(在发送数据块时,如果初始化程序设定为有奇偶校验,则发送器会对数据块中每个数据字符加上奇/偶校验位。
另外,在同步发送时,如果CPU来不及把新的数据提供给8251A,此时8251A发送器会自动插入同步字符。
(3)数据总线缓冲器:
数据总线缓冲器用来把8251A和系统数据总线相连,在CPU执行输入/输出指令期间,通过数据总线缓冲器发送和接收数据。
此外,控制和状态信息也通过数据总线缓冲器来传输。
(4)调制解调器控制电路:
调制解调器控制电路提供了四个用于和Modem或其他数据终端设备接口时的控制信号——
、
和
,通过它们可以有效地实现数据通信过程的联络与控制。
(5)读/写控制逻辑电路:
读/写控制逻辑电路实现对CPU输出的控制信号(C/
等)的译码,以实现相应的读/写操作功能。
12.对8251A进行初始化编程:
工作于异步方式,偶校验,7位数据位,2个停止位,波特率因子为16;
使出错标志位复位,发送器允许,接收器允许。
8251A的端口地址为50H、51H。
操作命令字中无关位置0。
13.对8251A进行初始化编程:
工作于同步方式,内同步,双同步字符,奇校验,每字符7个数据位;
使出错标志位复位,发送器允许,接收器允许,开始搜索同步字符,通知调制解调器数据终端设备已准备就绪。
P294.1.说明可编程计数器/定时器的主要工作特点。
方式0:
计数到零产生中断请求
触发方式:
软件启动,计数初值一次有效,不能自动重复;
计数结束时产生的上升沿可作为中断请求信号;
计数过程中GATE对计数操作的控制:
当GATE变低时,暂停计数;
当GATE变高时,继续计数
计数过程中重新写入计数初值的影响:
新的计数初值立即有效,重新开始计数。
方式1:
硬件可重复触发的单稳态触发器
硬件启动,计数初值可多次有效(需要由GATE上升沿触发),不能自动重复
GATE上升沿触发从计数初值开始重新计数;
效果是使输出负脉冲的宽度增加
本次计数不受影响,新的计数初值在下个计数周期有效。
方式2:
分频器
软件启动,自动重复,周期性输出固定频率的脉冲
当GATE变低时,停止计数;
当GATE变高时,从计数初值开始重新计数
方式3:
方波发生器
软件启动,自动重复,周期性输出固定频率的方波
当GATE变高时,从计数初值开始重新计数;
方式4:
软件触发选通
触法方式:
软件启动,计数初值一次有效,不能自动重复
当GATE为高时,允许计数;
当GATE为低时,禁止计数
新的计数初值立即生效,重新开始计数。
方式5:
硬件触发选通
GATE上升沿触发从计数初值开始重新计数
若有门控触发信号,新的计数初值立即有效;
若无门控触发信号,本次计数不受影响,新的计数初值在下个计数周期有效。
2.简述8253的主要功能。
①具有3个独立的16位计数通道;
②每个计数通道有6种工作方式,均可由程序设置和改变;
③每个计数通道可按二进制或二-十进制(BCD码)计数;
④每个计数通道的计数速率最高可达2MHz;
全部输入输出都与TTL电平兼容。
4.若用8253对外部事件进行计数,并当发生指定次数的外部事件时由计算机进行专门处理,8253应设置为哪种工作方式?
方式0.
例:
8253用作脉冲信号发生器。
可用8253产生如图12.14(a)所示的周期性脉冲信号,其重复周期为5μs,脉冲宽度为1μs。
设外部时钟频率为2MHz。
现用8253的2个计数通道(计数器0和计数器1)来实现指定的功能,连接图如12.14(b)所示。
其中,计数器1工作于方式2(分频器),用以决定脉冲信号的周期。
计数器0工作于方式1(单稳),用以决定脉冲信号的宽度。
计数器1的输出信号OUT1,接至计数器0的GATE0输入端,用作单稳电路的触发输入信号。
由于CLK信号的周期T=1/f—0.5μs,所以计数器0的计数初值应设定为2,使其输出信号(OUT0)负脉冲宽度为1μs,OUT0经反相输出即为所要求的脉冲信号。
显然,通过改变两个计数器的计数初值,即可方便地改变输出脉冲信号的频率和宽度。
这就体现了用可编程计数器/定时器作为脉冲信号发生器的方便灵活之处。
假设8253的端口地址为80H~86H,CPU为8086,即8253控制寄存器端口地址为86H,
计数器0的端口地址为80H,计数器1的端口地址为82H,计数器2的端口地址为84H。
具体的初始化程序段如下:
6.利用8253产生如下图所示的周期性脉冲信号,设输入时钟信号频率f=2MHz,8253的端口地址为40H~43H。
②编写初始化程序并加简要注释。
求解本题的基本思路:
为产生所要求的脉冲信号,需用8253的两个计数通道(假设用计数通道0和计数通道1)。
将计数通道0设定为方式2(分频器),计数通道1设定为方式1(单稳态)。
将计数通道0的输出信号OUT0接至计数通道1的GATE1输入端,利用OUT0的上升沿做为工作于方式1(单稳态)的计数通道1的输入触发信号。
用计数通道0的计数初值来决定所要求脉冲信号的周期(15μs),用计数通道1的计数初值决定所要求脉冲信号的宽度(1μs).OUT1输出的是周期为15μs、脉宽为1μs的负脉冲,经反相后即可得到所要求的脉冲信号。
具体实现如下:
(1)连线简图:
(2)编程:
P333.7.以六管静态RAM为例,说明静态RAM基本存储单元的数据读/写过程。
对基本存储单元写操作时,X、Y地址译