.
第一章 微型计算机概述
1. 微处理器、微型计算机和微型计算机系统三者之间有什么不同? 答:① 微处理器是微型计算机的核心,是微型计算机的一部分。它是集成在一块芯片上的CPU,由运算器和控制器组成。 ② 微型计算机包括微处理器、存储器、I/O接口和系统总线,是微型计算机系统的主体。
③ 微型计算机系统包括微型计算机、外设及系统软件三部分。
第二章 8086微处理器
1. 总线接口部件有哪些功能?请逐一进行说明。
答:1.总线接口部件的功能是负责与存储器、I/O端口传送数据。 2.具体讲:① 总线接口部件要从内存取指令送到指令队列; ② CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或者外设端口中取数据,将数据传送给执行部件,或者把执行部件的操作结果传送到指定的内存单元或外设端口中。
1. 总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?如一个CPU的时钟频率为24MHz,那么,它的一个时钟周期为多少?一个基本总线周期为多少?如主频为15MHz呢?
答:1.总线周期的含义是总线接口部件完成一个取指令或传送数据的完整操作所需的最少时钟周期数。
2.8086/8088的基本总线周期由4个时钟周期组成。
3.当主频为24MHz时,Tφ=1/24MHz≈41.7ns,T总=4Tφ≈167ns。 4.当主频为15MHz时,Tφ=1/15MHz≈66.7ns,T总=4Tφ≈267ns。
1. CPU启动时,有哪些特征?如何寻找8086/8088系统的启动程序? 答:1.CPU启动时,有以下特征: ① 内部寄存器等置为初值; ② 禁止中断(可屏蔽中断); ③ 从FFFF0H开始执行程序; ④ 三态总线处于高阻状态。
2.8086/8088系统的启动程序从FFFF0H单元开始的无条件转移指令转入执行。
1. 在中断响应过程中,8086往8259A发的两个信号分别起什么作用? 答:第一个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;外设接口收到第二个负脉冲后,往数据总线上放中断类型码,从而CPU得到了有关此中断请求的详尽信息。
1. 非屏蔽中断有什么特点?可屏蔽中断有什么特点?分别用在什么场合? 答:1.非屏蔽中断的特点有:中断请求从NMI引腿进入,不受中断允许标志IF的影响。非屏蔽中断只有一个,其中断类型码为2。
2.可屏蔽中断的特点有:中断请求从INTR引腿进入,只有在IF=1时CPU才响应该中断。可屏蔽中断有若干个,其中断类型码可以是5~255。
. . .
.
3.非屏蔽中断用来处理系统的重大故障,如掉电等。可屏蔽中断用在一般外部设备申请的中断中。
1. 什么叫中断向量?它放在那里?对应于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)。
1. 从8086/8088的中断向量表中可以看到,如果一个用户想定义某个中断,应该选择在什么范围?
答:应该选择在中断类型码为32(20H)~255(FFH)范围。
1. 中断处理子程序在结构上一般是怎样一种模式? 答:① 保护中断时的现场,即保护CPU各寄存器的值。
② 一般应置IF=1来开放中断,以允许级别较高的中断请求进入。 ③ 中断处理的具体内容。 ④ 恢复中断时的现场。 ⑤ 中断返回指令。
1. 软件中断有哪些特点?在中断处理子程序和主程序的关系上,软件中断和硬件中断有什么不同之处? 答:1.软件中断有如下特点:
① 用一条中断指令进入中断处理子程序,并且,中断类型码由指令提供。 ② 进入中断时,不需要执行中断响应总线周期。 ③ 不受中断允许标志IF的影响。 ④ 软件中断的优先级最高。 ⑤ 软件中断没有随机性。
2.软件中断允许在主程序和中断处理子程序之间传递数据。而硬件中断由于是随机的,所以不能传递数据。
第五章 微型计算机和外设的数据传输
1. 外部设备为什么要通过接口电路和主机系统相连?存储器需要接口电路和总线相连吗?为什么?
答:1.因为外设的功能多种多样,对于模拟量信息的外设必须要进行A/D和D/A转换,而对于串行信息的外设则必须转换为并行的信息,对于并行信息的外设还要选通。而且外设的速度比CPU慢的多,必须增加缓冲功能。只有这样计算机才能使用这些外设。而所有这些信息转换和缓冲功能均由接口电路才能完成。 2.存储器不需要接口电路和总线相连。
3.因为存储器功能单一,且速度与CPU相当。因此可直接挂在CPU总线上。
. . .
.
1. 接口电路的作用是什么?按功能可分为几类?
答:1.接口电路的作用就是在外设和CPU之间起信息变换和缓冲功能。 1. 按功能可分为两类:
? 一种是使微处理器正常工作所需要的辅助电路。 ? 另一种是输入/输出接口电路。
1. 什么叫端口?通常有哪几类端口?计算机对I/O端口编址时通常采用哪两种方法?在8086/8088系统中,用哪种方法对I/O端口进行编址? 答:
1.CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口。
2.有数据端口、控制端口、状态端口三类。
3.在微型计算机中通常用两种I/O端口编址方式:存储器映象寻址和I/O端口单独寻址。
4.在8086/8088系统中,用I/O端口单独寻址方式编址。
1. 在查询方式、中断方式和DMA方式中,分别用什么方法启动数据传输过程? 答:① 查询方式:通过程序来检测接口中状态寄存器中的“准备好”位,以确定当前是否可以进行数据传输。 ② 中断方式:当接口中已经有数据要往CPU输入或者准备好接收数据时,接口会向CPU发一个外部中断请求。CPU响应中断后,便通过运行中断处理程序来实现输入/输出。
③ DMA方式:外设要求传送数据时,接口会向DMA控制器发DMA请求信号,DMA控制器转而向CPU发一个总线请求信号,以请求得到总线控制权,如果得到CPU允许,那么,就可在没有CPU参与的情况下,实现DMA传输。
1. 在数据通信系统中,什么情况下可以采用全双工方式,什么情况下可用半双工方式?
答:对于近距离较大信息量的传输应采用全双工方式。而对于远距离或较少信息量的传输或单向的输入或输出设备时应采用半双工方式。
1. 什么叫同步通信方式?什么叫异步通信方式?它们各有什么优缺点? 答:
1.在同一时钟控制下需用同步字符同步的信息按组传送的方式叫同步通信方式。 2.在两个相近频率的时钟分别控制下只需一个起始位的信息按字符传送的方式叫异步通信方式。
3.在传输率相同时同步方式的信息有效率要比异步方式下的高。但同步方式必须传送时钟信号,异步方式只要两端的时钟频率相近即可。
. . .
.
1. 什么叫波特率因子?什么叫波特率?设波特率因子为64,波特率为1200,时钟频率为多少?
答:1.波特率因子:时钟频率和位传输率的比值。此比值必须为16、32或 64。 2.波特率:位传输率即为波特率。
3.时钟频率=波特率因子×波特率=64×1200=76800Hz。
1. 设异步传输时,每个字符对应1个起始位、7个信息位、1个奇/偶校验位和1个停止位,如果波特率为9600,则每秒钟能传输的最大字符数为多少?
答:每个字符所占的总位数为:1+7+1+1=10位。所以每秒钟能传输的最大字符数为9600/10=960个字符。
1. 8086/8088系统中,8251A的C/端应当和哪个信号相连,以便实现状态端口、数据端口、控制端口的读/写?
答:8251A的C/端应与地址总线的A1相连。
1. 参考初始化流程,用程序对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
1. 设计一个采用异步通信方式输出字符的程序段,规定波特率因子为64,7个数据位,1个停止位,用偶校验,端口地址为40H、42H,缓冲区首址为2000H:3000H。 答:
模式字为:01111011B=7BH。控制字为:00110101B=35H。 MOV AL,0 ;为发复位命令作准备 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 ┆ 1.
当数据从8255A的端口C往数据总线上读出时,8255A的几个控制信号
、
分别是什么电平?
、
A1、A0、
答:=0、A1=1、A0=0、=0、=1。“0”为低电平,“1”为高电平。
1. 对8255A设置工作方式,8255A的控制口地址为00C6H。要求端口A工作在方式1,输入;端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。 答: MOV DX,00C6H MOV AL,0B1H ;取方式选择控制字为B1H(10110001B)或B9H OUT DX,AL
1. 设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
. . .