当前位置:文档之家› 微机与接口第七章习题

微机与接口第七章习题

7-1、I/O接口的信号有哪几种?各有什么特点?答:接口信号通常有以下四种:1、开关量:只有2种状态,用一位二进制数(0或1)表示开或关。

2、数字量:二进制形式的数据或是已经过编码的二进制形式的数据。

3、脉冲量:脉冲信号是以脉冲形式表示的一种信号。

关注的是信号发生的跳变情况。

4、模拟量:用模拟电压或模拟电流幅值大小表示的物理量。

7-2、什么是接口?接口的主要功能是什么?答:接口是CPU与外设之间进行数据传输的桥梁。

接口的主要功能:1、信号形式转换2、电平转换和放大3、锁存器缓冲4、I/O定向5、并行及串行I/O转换7-3、什么是端口?端口和存储单元有什么区别?答:端口指输入/输出接口中的寄存器。

区别:I/O单元地址使用的是绝对地址,而内存单元需要使用段地址和偏移地址来寻址。

7-4、I/O端口编址有几种方式?他们各有什么特点?答、I/O端口有两种编址方式:统一编址方式是将I/O端口与内存单元统一起来进行编号。

该方式优点是不需要专门的I/O指令,对I/O端口操作的指令类型多;缺点是端口要占用部分存储器的地址空间,不容易区分是访问存储器还是外部设备。

独立编址的端口单独构成I/O地址空间,不占用存储器地址。

优点是地址空间独立,控制电路和地址译码电路简单,采用专用的I/O指令,使得端口操作的指令在形式上与存储器操作指令有明显区别,程序容易阅读;缺点是指令类别少,一般只能进行传送操作。

7-5、I/O接口的控制方式有几种?简述各个方式的特点?答:CPU和外设之间的数据传送方式通常有四种:程序传送方式、中断传送方式、DMA传送方式和I/O处理机方式。

1、程序控制方式:在程序控制下进行信息传送,分为有条件传送方式和无条件传送方式。

无条件传送方式主要用于对简单外设进行操作,或者外设的定时是固定的或已知的场合。

条件传送方式主要用于不能保证输入设备总是准备好了数据或者输出设备已经处在可以接收数据的状态。

2、中断控制方式:中断传送方式下,当外设要求交换数据时,向CPU发中断请求,CPU 在执行完当前指令后,即可中断当前任务的执行,并根据中断源转入相应的中断处理服务程序,实现对请求中断外设的管理。

中断控制方式主要用于需要提高CPU利用率和进行实时数据处理的情况。

3、直接存储器存取方式(DMA方式):DMA方式是在存储器与外设间开辟一条高速数据通道,使外设与内存之间直接交换数据,不需要CPU的干预。

DMA控制方式主要用于快速完成大批的数据交换任务。

4、输入/输出处理器方式:(1)拥有自己的指令系统,可以独立执行自己的程序。

(2)支持DMA传送。

7-6、什么叫DMA传送方式?DMA控制器8237A的主要功能是什么?答:DMA方式是在存储器与外设间开辟一条高速数据通道,使外设的数据不经过CPU 直接送入内存储器,或者,从内存储器不经过CPU直接送往外部设备。

8237A的主要功能:1、8237A中有4个独立的DMA通道,但需要一片8位地址锁存器配合使用2、每一个通道的DMA请求都可以分别被允许和禁止3、每一个通道的DMA请求有不同的优先权,优先权可以固定的,也可以是旋转的4、每一个通道一次传输数据最大长度可达64KB.可以在存储器与外设间进行数据方式以及级联方式。

在存储器的两个区域之间进行传递5、8237A的数据的传递有4种工作方式:单字节传送方式,数据块传送方式,请求传送方式以及级联方式。

在每一种工作方式下,8237A都能接受外设的请求信号DREQ,并向CPU发出DMA请求信号HRQ。

当接收到CPU的响应信号HLDA后就可以接管总线进行DMA传送,并向外设发出响应信号——D ACK6、有一个结束处理的输入信号——EOP,允许外界用此输入端来结束DMA传送或重新初始化7、8237A可以级联,任意扩展通道数7-7、某8086系统中使用8237A完成从存储器到外设端口的数据传送任务,若已知通道0的地址寄存器,终点计数器,方式寄存器端口地址分别为EEE0H、EEE1H和EEE8H,要求通过通道0将寄存器中偏移地址为1000H—10FFH的内容传送到显示器输出,请编初始化写程序。

解:;清高/低触发器(清0后,先写低地址,然后高/低触发器自动变1,再写高地址)MOV DX , 0EEECHOUT DX , AL;写通道0的基地址寄存器,先写低地址,再写高地址MOV DX , 0EEE0HMOV AX , 1000HOUT DX , ALMOV AL , AHOUT DX . AL;写通道0的基字节计数器,先写低地址,再写高地址MOV DX , 0EEE1HMOV AX , 00FFHOUT DX , ALMOV AL , AHOUT DX , AL;写工作方式字,块方式传送,地址增值,禁止自动初始化,读传递,通道0MOV DX , 0EEEBHMOV AL , 88HOUT DX , AL;写单通道屏蔽寄存器,开放指定DMA通道0的屏蔽位MOV DX , 0EEEAHMOV AL , 00HOUT DX , AL;写控制寄存器,DACK有效为低,DREQ有效为低,滞后写,固定优先权,允许8237A工作,正常定时,禁止存储器到存储器MOV DX , 0EEE8HMOV AL , 40HOUT DX , AL7-8、某8086系统中使用8237A完成从存储器的数据传送,已知源数据块首地址的偏移地址值为1000H,目标数据块首地址的偏移地址为1050H,数据块长度为100B。

请编写初始化程序,并画出硬件连接图。

解:题目分析:(1)寄存器的端口地址:高4位地址A7~A4经译码后,选通片选端CS,这里假设地址的高4位A7~A4为1001时选通CS,即DMA的16个端口地址从90H开始。

(2)题目要求的是数据传送是从存储器到存储器,源数据块的首地址的偏移地址为1000H,目标数据块首地址的偏移地址为1050H,这里利用DMA的通道0作为源数据块的输出端,通道1作为目的地址的输入端,而且通道1的基字节计数器存放要传送的字节数。

最后通过软件DMA请求通道0进行数据的传送。

程序如下:;清高/低触发器(清0后,先写低地址,然后高/低触发器自动变1,再写高地址)OUT 9CH , AL;写通道0的基地址寄存器,先写低地址,再写高地址MOV AX , 1000HOUT 90H , ALMOV AL , AHOUT 90H , AL;写通道1的基地址寄存器,先写低地址,再写高地址MOV AX , 1050HOUT 92H , ALMOV AL , AHOUT 92H , AL;写通道1的基字节计数器,先写低地址,再写高地址,由题意可知传送的数据块长度为100B,转化为16进制并且减1后为63HMOV AX , 0063HOUT 93H , ALMOV AL , AHOUT 93H , AL;写工作方式字,块方式传送,地址增值,允许自动初始化,写传递,通道1MOV AL , 10010101BOUT 9BH , AL;写屏蔽寄存器,开放指定DMA通道0和通道1的屏蔽位MOV AL , 00001100BOUT 9EH , AL;写控制寄存器,DACK有效为低,DREQ有效为低,滞后写,固定优先权,允许8237A工作,禁止通道0地址保持,允许存储器到存储器MOV AL , 01000001BOUT 98H , AL;写请求寄存器,通过软件DMA请求通道0进行数据的传送MOV AL , 00000100BOUT 99H , AL硬件连线图如下:(下面的图应该把外设改为存储器,图是书上的图)8-3:什么叫中断嵌套?中断嵌套的原则是什么?答:CPU在处理级别较低的中断过程中,出现了级别较高的中断请求。

CPU停止执行低级别中断的处理程序而去优先处理高级别中断,等高级别中断处理完毕后,再接着执行低级别的未处理完的中断处理程序,这种中断处理方式称为多重(级)中断或中断嵌套。

中断嵌套的原则:高级别的中断可以嵌套低级别中断,低级别中断不能嵌套高级别中断,同级别中断不能互相嵌套。

对于可屏蔽中断,由于CPU在响应中断时已将IF清零,所以一定要在中断处理程序中加入开中断指令,才有可能进行中断嵌套。

8-6:什么叫矢量中断?什么是中断矢量表?中断矢量表的内容是什么?答:中断矢量就是中断服务程序的入口地址。

8086的中断系统能够处理256个不同的中断,每一个中断安排一个编号,范围为0~255,称为中断类型。

每种中断类型对应的中断服务程序的入口地址称为中断矢量(或中断向量)。

把系统中所有的中断矢量按中断类型从小到大的顺序放到存储器的特定区域,该区域称为中断矢量表。

每个中断矢量在中断矢量表中占用4字节,CPU响应中断后通过将中断类型×4得到中断矢量在中断矢量表中的首地址。

8-8:8086/8088共有多少矢量号?每一个矢量号中断入口地址占用矢量表的几个字节空间?它们的内容是什么?中断矢量表定位于内存何处?答:8086/8088共有256个中断矢量号,每个中断矢量入口地址占用4个字节空间,内容是中断服务程序入口的偏移地址和段地址,中断矢量表位于存储器的最低地址区(0000H~003FFH)8-9:请叙述中断矢量号(中断类型)、中断矢量表和中断服务程序的入口地址三者的关系。

答:每个中断矢量号与一个中断服务程序相对应,中断服务程序的入口地址存放在内存的中断矢量表内。

中断矢量表是中断矢量号与它相应的中断服务程序入口地址之间的转换表。

8-11:若中断号N=13H,计算此中断服务程序的入口地址在矢量表中的地址。

答:4CH-4FH8-12:若当前CPU正在对某一外部中断请求IRQ m服务,而外部又有两个中断请求信号IRQ n 和IRQ i同时有效,试说明IRQ i的请求马上得到响应的条件是什么(0<=(m,n,i)<=7)?答:IRQi的请求马上得到响应的条件是IRQi的中断屏蔽位为0,相应的中断请求位为1,而且中断服务优先级要高于IRQm和IRQn8-13:微机从00020开始的一段内存地址及其内容对应如下所列十六进制数;地址(H):20,21,22,23,24,25,26,27,28,29,2A,2B内容(H):3C,00,86,0E,45,00,88,0E,26,00,8E,0E外部可屏蔽中断|IRQ i的中断|矢量号0AH,问:1、外部可屏蔽中断IRQ2的中断矢量地址是多少?2、IRQ2中断服务程序入口地址是多少(用物理地址回答)?答:(1)28H-2BH(2)IRQ2的中断服务程序入口地址为0E8E0 + 0026H = 0E906H8-14:8086CPU每一次中断响应发出两个响应信号——I NTA各有什么作用?答:当8259A接收到CPU发出的第一个INTA有效的负脉冲后,将被相应的中断源置入ISR(中断服务寄存器)的对应位,即ISR的对应位置1,说明需要服务的中断子程序对应的IRQn,同时把IRR(中断请求寄存器)的对应位清0当8259A接收到CPU发出的第二个INTA有效的负脉冲后,就将其中断类型号送入到数据总线,以找到其相应的中断服务子程序入口。

相关主题