cpu与io端口之间进行数据传输的方式有哪几种?

如题所述

第1个回答  2022-11-18

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,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

中央处理器主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。

相似回答