微型计算机原理及其接口技术第七章部分习题答案 林志贵
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 ACK
6、有一个结束处理的输入信号——
EOP,允许外界用此输入端来结束DMA传送或重新初始化7、8237A可以级联,任意扩展通道数
7-7、某8086系统中使用8237A完成从存储器到外设端口的数据传送任务,若已知通道0的地址寄存器,终点计数器,方式寄存器端口地址分别为EEE0H、EEE1H和EEE8H,要求通过通道0将寄存器中偏移地址为1000H—10FFH的内容传送到显示器输出,请编初始化写程序。
解:
;清高/低触发器(清0后,先写低地址,然后高/低触发器自动变1,再写高地址)
MOV DX , 0EEEDH
OUT DX , AL
;写通道0的基地址寄存器,先写低地址,再写高地址
MOV DX , 0EEE0H
MOV AX , 1000H
OUT DX , AL
MOV AL , AH
OUT DX . AL
;写通道0的基字节计数器,先写低地址,再写高地址
MOV DX , 0EEE1H
MOV AX , 00FFH
OUT DX , AL
MOV AL , AH
OUT DX , AL
;写工作方式字,块方式传送,地址增值,禁止自动初始化,读传递,通道0
MOV DX , 0EEEBH
MOV AL , 88H
OUT DX , AL
;写单通道屏蔽寄存器,开放指定DMA通道0的屏蔽位
MOV DX , 0EEEAH
MOV AL , 00H
OUT DX , AL
;写控制寄存器,DACK有效为低,DREQ有效为低,滞后写,固定优先权,允许8237A工作,正常定时,禁止存储器到存储器
MOV DX , 0EEE8H
MOV AL , 40H
OUT DX , AL
7-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 9DH , AL
;写通道0的基地址寄存器,先写低地址,再写高地址
MOV AX , 1000H
OUT 90H , AL
MOV AL , AH
OUT 90H , AL