第8章 微型计算机输入输出接口技术习题参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第八章习题及答案

8.1 CPU与外设传送数据时为什么需要I/O接口?I/O接口的基本功能有那些?

答:由于外部设备和装置的工作原理、驱动方式、信息格式和数据处理速度等各不相同,必须经过中间电路才能与CPU相连,这部分中间电路就是I/O接口。

I/O接口的基本功能有:

1、设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异;

2、进行信息格式的转换,如串行和并行的转换;

3、协调CPU与外设在信息类型和电平上的差异,如电平转换驱动器、数/模和模/数转换器等;

4、协调时序差异,同步CPU与外设的工作;

5、地址译码和设备选择功能,使CPU在某一时刻只能选中一个I/O端口;

6、提供联络信号,承担CPU与外设之间的联络工作,联络的具体信息有控制信息、状态信息和请求信号等,如外设的“Ready”、“Busy”等状态;

7、设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下,产生中断和DMA 请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。

8.2 I/O接口传送的信息分为哪几类?传送的数据信息分为哪几种?

答:I/O接口信息通常包括数据信息、状态信息和控制信息等。其中数据信息包括数字量、模拟量和开关量三种基本形式。

8.3 统一编址方式和独立编址方式各有什么特点和优缺点?

答:统一编址方式的主要优点是:

1、端口寻址手段丰富,对其数据进行操作可与对存储器操作一样灵活,且不需要专门的I/O指令,有利于I/O程序的设计;

2、I/O寄存器数目与外设数目不受限制,而只受总存储容量的限制,读写控制逻辑比较简单。

其缺点是:

1、I/O端口要占用存储器的一部分地址空间,使可用的内存空间减少;

2、存储器操作指令通常要比I/O指令的字节多,故加长了I/O操作的时间。

独立编址方式的优点是:

1、I/O口的地址空间独立,且不占用存储器地址空间;

2、地址线较少,寻址速度相对较快;

3、使用专门I/O指令,编制的程序清晰,便于理解和检查。

其缺点是:

1、I/O指令较少,访问端口的手段远不如访问存储器的手段丰富,导致程序设计的灵活性较差;

2、需要存储器和I/O端口两套控制逻辑,增加了控制逻辑的复杂性。

8.4 简述CPU与外设之间进行数据传送的几种常用形式,各有何优缺点?

答:CPU与外设之间的数据传送方式主要有直接程序控制方式、中断控制方式、直接存储器存取方式等。

直接程序控制方式可分为无条件传送方式和条件传送方式两种:无条件传送方式主要用于对简单外设进行操作,或者外设的定时是固定或已知的场合;条件传送方式在执行输入/

输出操作之前,需通过测试程序对外部设备的状态进行检查。当所选定的外设已准备“就绪”后,才开始进行输入/输出操作。在程序查询传送方式中,由于CPU要等待外设完成数据传输任务,对CPU资源的使用造成很大浪费,使整个系统性能下降。

中断传送方式能节省大量的CPU时间,实现CPU与外设并行工作,提高CPU的使用效率,并使外设的服务请求得到及时处理。但这种控制方式的硬件比较复杂,软件开发与调试也比程序查询方式困难。

DMA传送方式是在硬件控制下完成,不需CPU的介入,传输速度高,适用于数据量较大的传送,如存储器与高速外设之间、高速外设与高速外设之间和存储器与存储器之间的数据传送。缺点是需要专门的DMA控制器,电路结构复杂,硬件开销较大。

8.5 简述CPU与外设以查询方式传送数据的过程。现有一输入设备,其数据端口的地址为0FEE0H,并从端口0FEE2H提供状态,当其D0位为1时表明输入数据准备好。试编写采用查询方式进行数据传送的程序段,要求从该设备读取100个字并输入到从2000H:2000H开始的内存单元中。(程序中需加注释)

答:查询传送方式在执行输入/输出操作之前,需通过测试程序对外部设备的状态进行检查。当所选定的外设已准备“就绪”后,才开始进行输入/输出操作。查询传送方式的工作流程包括两个基本环节:查询环节和传送环节。查询环节主要通过读取状态端口的标志位来检查外设是否“就绪”。若没有“就绪”,则程序不断循环,直至“就绪”后才继续进行下一步工作。当查询环节完成后,将对数据端口实现寻址,并利用输入指令从数据端口输入数据,或利用输出指令从数据端口输出数据。

相应程序段为:

……

MOV AX,2000H ;取缓冲区首地址

MOV DS,AX

MOV DI,2000H

MOV CX,100 ;传送个数

NEXT: MOV DX,0FEE2H

ASK:IN AL,DX ;从状态端口读入状态信息

TEST AL,00000001B ;检测D4位

JZ ASK ;D4=0,继续查询

MOV DX,0FEE0H

IN AL,DX ;从数据端口读入数据

MOV [DI], AL ;送缓冲区

INC DI ;修改缓冲区指针

LOOP NEXT ;传送下一个

……

8.6 试画出8个I/O端口地址为650H~657H的译码电路(译码电路有8个输出端)。

答:

A A

A A A A A A A A

A

相关文档
最新文档