CPU与I/O设备之间的数据传送有哪几种方式?每种方式的工作特点是什么?

问题描述:

CPU与I/O设备之间的数据传送有哪几种方式?每种方式的工作特点是什么?
什么叫端口?I/O端口的编址方式有哪两种?它们各有什么特点?
CPU 与I/O接口电路之间传送的信息有哪些?各表示什么含义?
希望大侠帮我回答详细些

1、程序查询方式2、程序中断3、直接内存访问4、通道方式5、外围处理机方式
数据传送控制方式有程序直接控制方式、中断控制方式、DMA方式和通道方式4种.
程序直接控制方式就是由用户进程来直接控制内存或CPU和外围设备之间的数据传送.它的优点是控制简单,也不需要多少硬件支持.它的缺点是CPU和外围设备只能串行工作;设备之间只能串行工作,无法发现和处理由于设备或其他硬件所产生的错误.
中断控制方式是利用向CPU发送中断的方式控制外围设备和CPU之间的数据传送.它的优点是大大提高了CPU的利用率且能支持多道程序和设备的并行操作.它的缺点是由于数据缓冲寄存器比较小,如果中断次数较多,仍然占用了大量CPU时间;在外围设备较多时,由于中断次数的急剧增加,可能造成CPU无法响应中断而出现中断丢失的现象;如果外围设备速度比较快,可能会出现 CPU来不及从数据缓冲寄存器中取走数据而丢失数据的情况.
DMA方式是在外围设备和内存之间开辟直接的数据交换通路进行数据传送.它的优点是除了在数据块传送开始时需要CPU的启动指令,在整个数据块传送结束时需要发中断通知CPU进行中断 处理之外,不需要CPU的频繁干涉.它的缺点是在外围设备越来越多的情况下,多个DMA控制 器的同时使用,会引起内存地址的冲突并使得控制过程进一步复杂化.
通道方式是使用通道来控制内存或CPU和外围设备之间的数据传送.通道是一个独立与CPU的专管 输入/输出控制的机构,它控制设备与内存直接进行数据交换.它有自己的通道指令,这些指令受CPU启动,并在操作结束时向CPU发中断信号.该方式的优点是进一步减轻了CPU的工作负担,增加了计算机系统的并行工作程度.缺点是增加了额外的硬件,造价昂贵 .
端口是接口电路中能被CPU直接访问的寄存器的地址.
I/O端口的编址方式可以分为统一编址与独立编址两种.
统一编址方式是从存储器空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令,有一部分对存储器使用的指令也可用于端口.
统一编址的情况是:优点:指令类型多、功能齐全,不仅使访问I/O端口可实现输入/输出操作而且可对端口进行算数逻辑运算、移位等;另外能给端口较大的编址空间.缺点:端口占用了存储器的地址空间,使存储器容量减小,另外指令长度比专门I/O指令长,因而执行速度较慢.
独立编址使接口中的端口地址单独编址而不和存储空间合在一起.
独立编址的特点是:优点:I/O端口地址不占用存储空间;使用专门的I/O指令对端口进行操作,I/O指令短执行速度快;并且由于专门I/O指令与存储器访问指令有明显的区别,使程序中I/O操作合存储器操作层次清晰,程序的可读性强.缺点:指令少,只有输入与输出功能.
CPU 与I/O接口电路之间传送的信息有
数据信息 包括三种形式:数字量、模拟量 、开关量
状态信息 是外设通过接口往 CPU 传送的
如:“准备好” (READY) 信号、“忙”( BUSY )信号
控制信息 是 CPU 通过接口传送给外设的
如:外设的启动信号、停止信号就是常见的控制信息