CPU和外设之间的数据传送方式有哪几种

2024年11月06日 11:28
有5个网友回答
网友(1):

CPU与外设之间的数据传输方式有以下几种:

1、查询控制方法:

CPU通过程序主动读取状态寄存器,了解接口情况,完成相应的数据操作。查询操作需要以较少的时钟周期间隔重复,因此CPU效率较低。

2、中断控制模式:

在程序的例行操作中,如果外部有更高优先级的事件,则中断请求会通知CPU,然后CPU读取状态寄存器以确定事件的类型,从而执行不同的分支处理。该方法具有较高的cpu效率和良好的实时性。

3、DMA(直接内存访问)控制模式:

顾名思义,直接存储器访问是指存储器和IO之间的硬件(DMA控制器)直接完成特定的数据传输过程。CPU只在数据传输开始时临时控制DMA,直到数据传输结束。这样,传输速度比cpu快,尤其是在批量传输时。

4、通道控制模式:

基本方法与上述dma控制方式相同,但dma由dma控制器完成,信道控制方式由专用信道总线完成通信和传输。比DMA更有效率。

扩展资料:

CPU与外设之间的数据交换必须通过接口完成。通常,I/O设备接口具有以下功能:

1、设置数据存储和缓冲逻辑,以适应CPU与外设的速度差。接口通常由一些寄存器或ram芯片组成。如果芯片足够大,还可以实现批量数据的传输。

2、能够转换信息格式,如串行和并行转换;

3、能够协调CPU与外设之间的信息类型和电平差,如电平转换驱动器、数模或数模转换器等。

4、协调时差;

5、地址译码和设备选择功能;

6、设置中断和DMA控制逻辑,确保在允许中断和DMA时产生中断和DMA请求信号,并在接收到中断和DMA响应后完成中断处理和DMA传输。

参考资料来源:

百度百科-数据传输

百度百科-统一编址

百度百科-I/O端口

网友(2):

CPU与外设之间的数据传输有以下三种方式:程序方式、中断方式、DMA方式。

其中程序方式又可分为无条件传送方式和条件传送方式两种方式。在CPU外设传送数据不太频繁的情况下一般采用无条件传送方式。

在CPU用于传输数据的时间较长且外设数目不多时采用条件传送方式。在实时系统以及多个外设的系统中,为了提高CPU的效率和使系统具有实时性能,采用中断传送方式。

如I/O设备的数据传输效率较高,那么CPU和这样的外设进行数据传输是,即使尽量压缩程序查询方式和中断方式中的非数据传输时间,也仍然不能满足要求。

这是因为在这两种方式下,还存在另外一个影响速度的原因,即它们都是按字节或字来进行传输的。为了解决这个问题,实现按数据块传输,就需要改变传输方式,这就是直接存储器传输方式,即DMA方式。

扩展资料:

CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为端口。 通常有:数据端口、状态端口、控制端口。

对端口编址的两种方法为:计算机对内存和I/O端口统一编址;计算机对内存和I/O端口分别进行编址。在8086/8088系统中用计算机对内存和I/O端口统一编址。

参考资料来源:百度百科-数据传输

网友(3):

方式有四种:程序直接控制方式、中断控制方式、DMA方式、通道方式。

(1)程序直接控制方式:就是由用户进程直接控制内存或CPU和外围设备之间的信息传送。这种方式控制者都是用户进程。

(2)中断控制方式:被用来控制外围设备和内存与CPU之间的数据传送。这种方式要求CPU与设备(或控制器)之间有相应的中断请求线,而且在设备控制器的控制状态寄存器的相应的中断允许位。

(3)DMA方式:又称直接存取方式。其基本思想是在外围设备和内存之间开辟直接的数据交换通道。

(4)通道方式:与DMA方式相类似,也是一种以内存为中心,实现设备和内存直接交换数据的控制方式。

知识延展:

  • 中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。主要包括运算器和控制器两大部件。此外,还包括若干个寄存器和高速缓冲存储器及实现它们之间联系的数据、控制及状态的总线。

  • 中央处理器拥有多线程、多核心、 乱序执行、NUMA技术、分枝技术和SMP等多项处理技术,与内部存储器和输入/输出设备合称为电子计算机三大核心部件。其功能主要是解释计算机指令以及处理计算机软件中的数据。

网友(4):

共有四种。

1. 无条件传送

 当外设比较简单,工作速度快,无须等待,就可以使用本方式。

 比如,外设是 LED 数码显示器,就可以使用本方式。

 又比如,CPU 在读取状态寄存器时,也是使用本方式。

 又比如,CPU 在对外设输出各种命令时,也是使用本方式。

 这种方式,用时最少,因此 CPU 的效率最高。

2. 查询式传送

 如果外设工作速度慢,须等待它准备好,才能输入输出数据,这时,就可以使用本方式。

 那么,在传送数据之前,必须先(用无条件传送)读取状态寄存器。

 当状态满足条件后,再传送数据。

 这种方式,用时较多,因此,CPU 的效率不高。

 特别是一些水平极低的码农,编个“si 等”的程序,效率,当然就最低。

3. 中断式传送

 这种方式,就不需要 CPU 读取状态寄存器了。

 一旦状态满足条件后,通过硬件,可令 CPU 进入中断程序,马上就传送数据。

 这种方式,用时较少,因此 CPU 的效率就高一些。

4. DMA 传送

 用 CPU 输入输出数据,速度,还是很低的。

 用 DMA 控制器,直接在“存储器”和“IO 接口”之间,进行数据传输,速度,比 CPU 高。尤其是在批量传输时。

 CPU 仅在数据传输开始时,设置一下 DMA 控制器而已。

 进行 DMA 传送时,CPU 是不工作的,也就谈不上 CPU 效率。

 使用 DMA 传送方式,并不是有了 CPU 就能实行的,需要具备相当复杂的硬件设备。

另外,还有某些人瞎说的“通道控制模式 "

 其实,这也是一种 DMA 方式,不能算独立的方式。

 硬件条件,就要求更高了,如果不具备,不过是画饼而已。

网友(5):

CPU与外设之间数据传送都是通过内存实现的。
外围设备和内存之间的常用数据传送控制方式有四种
(1)程序直接控制方式:就是由用户进程直接控制内存或CPU和外围设备之间的信息传送。这种方式控制者都是用户进程。
(2)中断控制方式:被用来控制外围设备和内存与CPU之间的数据传送。这种方式要求CPU与设备(或控制器)之间有相应的中断请求线,而且在设备控制器的控制状态寄存器的相应的中断允许位。
(3)DMA方式:又称直接存取方式。其基本思想是在外围设备和内存之间开辟直接的数据交换通道。
(4)通道方式:与DMA方式相类似,也是一种以内存为中心,实现设备和内存直接交换数据控制方式。

~如果你认可我的回答,请及时点击【采纳为满意回答】按钮
~~手机提问的朋友在客户端右上角评价点【满意】即可。