微机原理课后题

1.2 CPU在内部结构上由哪几部分组成?CPU应具备哪些主要功能?
答:1.CPU在内部结构上由以下几部分组成:
① 算术逻辑部件(ALU);
② 累加器和通用寄存器组;
③ 程序计数器(指令指针)、指令寄存器和译码器;
④ 时序和控制部件。
2.CPU应具备以下主要功能:
① 可以进行算术和逻辑运算;
② 可保存少量数据;
③ 能对指令进行译码并执行规定的动作;
④ 能和存储器、外设交换数据;
⑤ 提供整个系统所需要的定时和控制;
⑥ 可以响应其他部件发来的中断请求。
1.6 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么,要靠什么来区分地址或数据?
答:1.数据总线是双向三态;地址总线是单向输出三态。
2.数据和地址复用时,必须有一个地址选通信号来区分该总线上输出的是地址还是数据。
2.5 状态标志和控制标志有何不同?程序中是怎样利用这两类标志的?8086的状态标志和控制标志分别有哪些?
答:1.不同之处在于:状态标志由前面指令执行操作的结果对状态标志产生影响,即前面指令执行操作的结果决定状态标志的值。控制标志是人为设置的。
2.利用状态标志可进行计算和判断等操作。利用控制标志可对某一种特定功能(如单步操作、可屏蔽中断、串操作指令运行的方向)起控制作用。
3.8086的状态标志有:SF、ZF、PF、CF、AF和OF计6个。
8086的控制标志有:DF、IF、TF计3个。
2.8 在总线周期的T1、T2、T3、T4状态,CPU分别执行什么动作?什么情况下需要插入等待状态TW?TW在哪儿插入?怎样插入?
答:1.在总线周期的T1、T2、T3、T4状态,CPU分别执行下列动作:
① T1状态:CPU往多路复用总线上发出地址信息,以指出要寻找的存储单元或外设端口的地址。
② T2状态:CPU从总线上撤销地址,而使总线的低16位浮置成高阻状态,为传输数据做准备。总线的高4位(A19~A16)用来输出本总线周期的状态信息。
③ T3状态:多路总线的高4位继续提供状态信息。低16位(8088为低8位)上出现由CPU写出的数据或者CPU从存储器或端口读入的数据。
④ T4状态:总线周期结束。
2.当被写入数据或者被读取数据的外设或存储器不能及时地配合CPU传送数据。这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好的信号”,于是CPU会在T3之后插入一个或多个附加的时钟周期TW。
3.TW插在T3状态之后,紧挨着T3状态。
4.插入的TW状态时的总线上的信息情况和T3状态的信息情况一样。当CPU收到存储器或外设完成数据传送时发出的“准备

好”信号时,会自动脱离TW状态而进入T4
状态。
2.25 8086最多可有多少个中断?按照产生中断的方法分为哪两大类?
答:1.8086最多可有256个中断。
2.按照产生中断的方法分为硬件中断和软件中断两大类。
2.27 什么叫中断向量?它放在那里?对应于1CH的中断向量存放在哪里?如果1CH的中断处理子程序从5110H:2030H开始,则中断向量应怎样存放?
答:1.中断处理子程序的入口地址就是中断向量。
2.中断向量放在0段的0~3FFH区域的中断向量表中。
3.对应于类型号为1CH的中断向量应放在00070~00073H的4个单元中。
4.若1CH的中断向量为5110H:2030H,则中断向量的存放方法为:00070H存放30H,00071H存放20H (IP);00072H存放10H,00073H存放51H (CS)。
2.28 从8086/8088的中断向量表中可以看到,如果一个用户想定义某个中断,应该选择在什么范围?
答:应该选择在中断类型码为32(20H)~255(FFH)范围。
2.29 非屏蔽中断处理程序的入口地址怎样寻找?
答:CPU在响应NMI引腿的中断请求时,CPU并不需要从中断类型码计算中断向量的地址,而是直接从中断向量表中读取00008~0000BH这4个单元对应于中断类型2的中断向量就行了。CPU将00008H、00009H两个单元的内容装入IP,而将0000AH、0000BH两个单元的内容装入CS,于是就转入了对非屏蔽中断处理程序的执行。
2.38 8086存储空间最大为多少?怎样用16位寄存器实现对20位地址的寻址?
答:1.8086存储空间最大为220=1MB。
2.采用分段的方法实现16位寄存器实现对20位地址的寻址。
物理地址=段基址×10H+偏移地址
3.1寄存器间接,没有指明段地址
3.2基址+变址 BX,BP
SI,DI
5.1 外部设备为什么要通过接口电路和主机系统相连?存储器需要接口电路和总线相连吗?为什么?
答:1.因为外设的功能多种多样,对于模拟量信息的外设必须要进行A/D和D/A转换,而对于串行信息的外设则必须转换为并行的信息,对于并行信息的外设还要选通。而且外设的速度比CPU慢的多,必须增加缓冲功能。只有这样计算机才能使用这些外设。而所有这些信息转换和缓冲功能均由接口电路才能完成。
2.存储器不需要接口电路和总线相连。
3.因为存储器功能单一,且速度与CPU相当。因此可直接挂在CPU总线上。
5.6 什么叫端口?通常有哪几类端口?计算机对I/O端口编址时通常采用哪两种方法?在8086/8088系统中,用哪种方法对I/O端口进行编址?
答:1.CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口。
2.有数据端口、控制端口、状态端口三类。
3.在微型计算机中通常用两种I/O端口编址方式:存储器映象

寻址和I/O端口单独寻址。
4.在8086/8088系统中,用I/O端口单独寻址方式编
址。
5.11 设一个接口的输入端口地址为0100H,而它的状态端口地址为0104H,状态口中第5位为1表示输入缓冲区中有一个字节准备好,可输入。设计具体程序实现查询式输入。
答:DATA SEGMENT
BUFFER DB 20 DUP(?) ;接收数据缓冲区
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
STAT: MOV AX,DATA ;对DS初始化
MOV DS,AX
MOV DI,OFFSET BUFFER
MOV DX,0104H
STATIN: IN AL,DX
TEST AL,20H ;测试第5位
JZ STATIN ;第5位为0继续测试
MOV DX,0100H
IN AL,DX ;输入数据
MOV [DI],AL
CODE ENDS
END STAT
5.14 叙述可屏蔽中断的响应和执行过程。
答:① 接口发中断请求信号。
② CPU的IF=1时,当前指令执行完后,CPU进行中断回答,发两个 负脉冲。
③ 接口将中断类型号n送CPU。
④ 当前的PSW、CS和IP推入堆栈,并清除IF和TF。
⑤ (4×n)作为IP,(4×n+2)作为CS,即取中断向量。
⑥ 执行中断子程序,并开中断。
⑦ 中断返回IRET指令使IP、CS和PSW弹出堆栈。
⑧ 返回被中断的程序。
6.7 为什么串行接口部件中的4个寄存器可以只用1位地址线来进行区分?
答:一位地址线可编址二个地址,再加上读和写信号可对2个只读寄存器和2个只写寄存器进行端口寻址。而串行接口部件的控制寄存器和数据输出寄存器是只写的,状态寄存器和数据输入寄存器是只读的,所以可用一位地址线来区分。
6.10 什么叫波特率因子?什么叫波特率?设波特率因子为64,波特率为1200,时钟频率为多少?
答:1.波特率因子:时钟频率和位传输率的比值。此比值必须为16、32或 64。
2.波特率:位传输率即为波特率。
3.时钟频率=波特率因子×波特率=64×1200=76800Hz。
6.24 8251A的模式字格式如何?参照教材上给定格式编写如下模式字:异步方式,1个停止位,偶校验,7个数据位,波特率因子为16。
答:1.8251A的模式字格式为:(含义见书240页图6.11所示)
S2 S1 EP PEN L2 L1 B2 B1 SCS ESD EP PEN L2 L1 0 0
异步模式字 同步模式字
2.因是异步方式,波特率因子为16:B2B1=10;1个停止位:S2S1=01;偶校验:EP=1,PEN=1;7个数据位:L2L1=10。所以模式字为01111010B=7AH。
6.27 参考初始化流程,用程序对8251A进行同步模式设置。奇地址端口的地址为66H,规定用内同步方式,同步字符为2个,用奇校验,7个数据位。
答:模式字为:00011000B=18H。两个同步字符取16H,控制字为97H,它使8251A对同步字符进行检索;同时使状态寄存器中的3个出错标志复位;使8251A的发送器启动,接收器也启动;CPU当前已准备好进行数据传输。具体程序

段如下:
MOV AL,18H ;设置模式字
OUT 66H,AL
MOV AL,16H ;发送两个同步字符
OUT 66H,AL
OUT 66H,AL
MOV AL,97H ;
设置控制字
OUT 66H,AL
6.28 设计一个采用异步通信方式输出字符的程序段,规定波特率因子为64,7个数据位,1个停止位,用偶校验,端口地址为40H、42H,缓冲区首址为2000H:3000H。
答:模式字为:01111011B=7BH。控制字为:00110101B=35H。
MOV AL,0 ;为发复位命令作准备
OUT 42H,AL
OUT 42H,AL
OUT 42H,AL
MOV AL,40H ; 发复位命令
OUT 42H,AL
MOV AL,7BH ;设置模式字,异步方式,规定波特率因子为64
;7个数据位,1个停止位,偶校验
OUT 42H,AL
MOV AL,35H ;设置控制字,使发送器和接收器启动,并清除
;出错标志
OUT 42H,AL
PUSH DS
MOV BX,2000H ;DS:BX指向输出缓冲区首址
MOV DS,BX
MOV BX,3000H ;缓冲区指针初始化
MOV CX,100H ;发送100H个字节
BEGIN: IN AL,42H ;读取状态字,测试TxRDY是否为1
TEST AL,01H
JZ BEGIN ;为0表示外设还未取走字符
MOV AL,[BX] ;从输出缓冲区取数
OUT 40H,AL ;发送字符
INC BX ;修改缓冲区指针
LOOP BEGIN ;则再发送下一个字符
POP DS

6.34 8255A有哪几种工作方式?对这些工作方式有什么规定?
答:1.8255A有三种工作方式:方式0、方式1、方式2。
2.端口A可以工作于方式0、方式1、方式2;端口B可以工作于方式0、方式1;端口C只能工作于方式0或者配合端口A和端口B工作。
6.35 对8255A设置工作方式,8255A的控制口地址为00C6H。要求端口A工作在方式1,输入;端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。
答: MOV DX,00C6H
MOV AL,0B1H ;取方式选择控制字为B1H(10110001B)或B9H
OUT DX,AL
6.36 设8255A的4个端口地址为00C0H,00C2H,00C4H,00C6H,要求用置1/置0方式对PC6置1,对PC4置0。
答: MOV DX,00C6H
MOV AL,0DH ;对PC6置1的控制字为0DH
OUT DX,AL
MOV AL,08H ;对PC4置0的控制字为08H
OUT DX,AL
7.3 8259A的全嵌套方式和特殊全嵌套方式有什么差别?各自用在什么场合?
答:1.全嵌套工作方式,只有更高级的中断请求来到时,才会进行嵌套。而特殊全嵌套方式则能被同级和高级的中断请求所嵌套。
2.全嵌套方式用于单片8259A的场合。特殊全嵌套方式用于多片8259A系统。
7.4 8259A的优先级循环方式和优先级特殊循环方式有什么差别?
答:在优先级特殊循环方式中,一开始的最低优先级是由编程确定的,从而最高优先级也由此而定。而优先级自动循环方式初始优先级队列为IR0~IR7。
7.9 8259A的ICW2设置了中断类型码的哪几位?说明对8259A分别设置ICW2为30H、38H、36H有什么差别?
答:1.8259A的ICW2设

置了中断类型码的高5位。低3位中断类型码对应引入中断的引腿号。
2.当设置ICW2为30H和36H时,完全相同。对应的8个中断类型码为30H~37H。而设置ICW2为38
H时,对应的8个中断类型码为38H~3FH。
7.17 试说明在DMA方式时内存往外设传输数据的过程。
答:当一个接口要由内存往其输出数据时,就往DMA控制器发一个DMA请求;DMA控制器接到请求以后,便往控制总线上发一个总线请求;若CPU允许让出总线便发出一个总线允许信号;DMA控制器接到此信号后,就将地址寄存器的内容送到地址总线上,同时往接口发一个DMA回答信号并发一个I/O写信号和一个内存读信号;内存接到读信号后将数据送到数据总线,I/O写信号将数据送到接口,并撤除DMA请求信号,于是DMA控制器的地址寄存器的内容加1或减1,计数器的值减1,而且撤除总线请求信号,就完成了对一个数据的DMA输出传输。
7.20 8237A有哪几种工作模式?各自用在什么场合?
答:1.8237A有4种工作模式:单字节传输模式、块传输模式、请求传输模式、级联传输模式。
2.单字节传输模式用于单个字节的DMA输入/输出;块传输模式用于连续进行多个字节的传输;请求传输模式用于受接口控制的连续字节传输;级联传输模式用于多片主从式DMA系统中的主片的工作模式。
7.29 编程将8253计数器0设置为模式1,计数初值为3000H;计数器1设置为模式2,计数初值为2010H;计数器2设置为模式4,计数初值为4030H;地址设为0070H、0072H、0074H、0076H。
答: MOV AL,32H ;设置计数器0为模式1
OUT 76H,AL
MOV AX,3000H ;写计数初值
OUT 70H,AL
MOV AL,AH
OUT 70H,AL
MOV AL,74H ;设置计数器1为模式2
OUT 76H,AL
MOV AX,2010H ;写计数初值
OUT 72H,AL
MOV AL,AH
OUT 72H,AL
MOV AL,0B8H ;设置计数器2为模式4
OUT 76H,AL
MOV AX,4030H ;写计数初值
OUT 74H,AL
MOV AL,AH
OUT 74H,AL


相关文档
最新文档