【汇编】第六章问题与解答

汇编第六章问题与解答

1、接口的功能

接口的基本功能是在系统总线和I/O设备之间传输信号,提供缓冲作用,让接口两边的速度匹配

执行cpu命令的功能

cpu将对外设的控制命令发到接口电路中的命令寄存器

返回外设状态的功能

通过状态寄存器完成,包括正常工作状态和故障状态。

数据缓冲的功能

数据寄存器,对cpu对外设备传送的数据进行中转。

设备寻址的功能

cpu某个时刻只能和一台外设交换数据,cpu发出的地址信号经过接口电路中的地址译码电路选中I/O设备。

信号转换功能

当cpu与外设信号的逻辑关系、电平高低以及工作时序不兼容时,接口电路要完成信号转换。

I/O端口及其编址方式

I/O端口和I/O操作

端口

端口是接口电路中能被微处理器直接访问寄存器地址。微处理器通过这些地址,向接口电路的寄存器发送命令。

一个接口部件可以有多个端口,一般的I/O操作是,对I/O端口进行操作

编址方式

存储器映像编址

I/O端口地址置于存储器空间,和存储器单元统一编址;

优点:可以用访问存储器方式,访问I/O端口,很灵活

缺点:占用了部分存储空间

独立编址

把接口中的地址单独编址,系统中将有两个地址空间:存储器地址空间&I/O地址空间

优点:不占用存储空间,I/O指令短,执行速度快。

缺点:需要设置专门的I/O指令和控制信号,增加系统开销。

I/O端口地址译码

固定式单端口地址译码电路

译码电路只能产生一个不可更改的端口地址

固定式多端口地址译码电路

同时译出多个地址,但都不能改变

可选式地址译码电路

如果用户要求接口电路的端口地址能适应不同的地址分配场合,或为系统以后扩充留有余地,需要采用可选式地址译码电路

I/O端口寻址

直接端口寻址

格式:In al,32h

32h为8位端口地址,范围是0~255

间接端口寻址

格式:in al,dx

由dx寄存器指出端口地址,范围为0~65535

输入指令

格式:in 累加器,端口

功能:把一个字节/字由输入端口传送到Al/AX中

如:

 in  al,21h      ;把端口21h的8位数据给al
 mov dx,201h     ;把201h,202h给dx
 in  ax,dx       ;把端口201h,202h的两个8位数据给ax

输出指令

格式:out 端口,累加器

功能:把AX中的16位AL中的8位数据传送到端口

如:

 out 22h,al      ;把al数据给22h端口
 mov dx,511h     ;511h和512h给dx
 out dx,ax       ;把ax数据输出到511h和512h

cpu与外设数据传输控制方式

程序控制方式

利用程序,对cpu与外设的传输进行控制(控制能否发送,怎样发送才会有冲突……)

无条件传送

cpu不需了解外设工作状态,每隔一定时间,cpu与外设进行数据交换,即进行数据的发送和接收。

但每次进行数据交换前,确保输入设备总是处于“准备好”状态,或输出设备处于“不忙”状态,否则会出错

很难保证每次传输时,设备都准备好或不忙

有条件传送

条件传送又称为“查询方式”,cpu传输前,需要查询设备状态

如果设备处于“就绪”时才能传送,即:接口有数据要到cpu或者接口已经准备好接收来自cpu的数据

输入设备

提供ready信号,当ready为1时,表示输入数据准备好了

输出设备

提供busy信号,当busy为1时,表示输出设备忙;当busy为0时,表示设备空闲,可以接收来自cpu的数据

如果有多个设备进行查询时,就有优先级问题。一般采用轮流查询方式

中断控制方式

顾名思义,当接口有数据要到cpu或者接口已经准备好接收来自cpu数据时,通过接口电路向cpu发出中断请求

当cpu满足一定条件时,会暂停当前工作,来处理中断程序,处理好后再继续处理原工作

优点:

利用中断处理,提高了cpu利用率,因为cpu不用主动查询外设是否可用了

缺点

每次中断,需要cpu保存断点信息,以方便恢复,这也占用了cpu时间,并增加了系统开销

而且

如果短时间内大量中断,会使系统过载

DMA中断方式

Direct Memory Access方式

数据交换不用经过cpu处理,而是利用专门的接口电路直接与存储器进行数据交换

优点

传送速度只取决于存储器和外设的工作速度,极大提高系统效率

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录