I / O I/O I/O处理器与 D M A DMA DMA控制器的区别
-
I / O I/O I/O处理器有自己的指令集,而 D M A DMA DMA没有。
总结来说I/O处理器通常比DMA控制器更强大,因为它可以执行更复杂的逻辑和计算任务。它具备完整的指令集和执行单元,能够执行更多功能和算法,如对数据进行处理、转换、压缩等操作,而 D M A DMA DMA就是把数据搬到内存里,相当于 I / O I/O I/O有一个解码功能,而 D M A DMA DMA不太有。 -
I / O I/O I/O处理器与 C P U CPU CPU集成在芯片内并且属于协处理器,而 D M A DMA DMA位于主板上。
I / O I/O I/O处理器与 D M A DMA DMA的应用场景:
在计算机系统中,当涉及到数据传输和处理的时候,可以根据具体需求和场景选择使用 I / O I/O I/O处理器或 D M A DMA DMA技术。
- 一般来说,以下情况可以考虑使用 I / O I/O I/O处理器:
(
1
)
.
(1).
(1).处理较简单的
I
/
O
I/O
I/O操作:例如,读取键盘输入、鼠标操作、简单的控制设备等。
(
2
)
.
(2).
(2).需要对输入或输出进行实时处理或转换:例如,音频或视频流的实时编解码、格式转换等。
(
3
)
.
(3).
(3).需要进行较为复杂的协议处理和管理:例如,
U
S
B
、
E
t
h
e
r
n
e
t
USB、Ethernet
USB、Ethernet等通信协议的处理和控制。
- 而以下情况可以考虑使用 D M A DMA DMA技术:
(
1
)
.
(1).
(1).需要高速数据传输:
D
M
A
DMA
DMA技术可以直接将数据从外设设备传输到内存,或者从内存传输到外设设备,无需
C
P
U
CPU
CPU的干预,可以实现高速、高效的数据传输。
(
2
)
.
(2).
(2).大规模数据传输:当需要大量的数据传输时,使用
D
M
A
DMA
DMA可以减轻
C
P
U
CPU
CPU的负担,提高系统的性能和效率。例如,硬盘读写、图形渲染等场景。
(
3
)
.
(3).
(3).需要并行处理多个
I
/
O
I/O
I/O请求:
D
M
A
DMA
DMA控制器可以同时处理多个
I
/
O
I/O
I/O请求,提高并发处理能力。
需要根据具体的应用场景和需求来选择使用
I
/
O
I/O
I/O处理器还是
D
M
A
DMA
DMA技术。通常,较为简单和实时性要求较高的
I
/
O
I/O
I/O操作可以使用
I
/
O
I/O
I/O处理器,而对于大规模数据传输和并发处理需求较高的情况,可以选择使用
D
M
A
DMA
DMA技术。
通道控制方式与 D M A DMA DMA控制方式的区别:
- D M A DMA DMA控制方式中需要 C P U CPU CPU来控制所传输数据块的大小、内存地址;而通道控制方式中这些消息都是由通道来控制的
- 一个 D M A DMA DMA控制器只能与一个外设建立连接传输数据;而一个通道可以控制多台设备与内存的数据交换
- 通道还可以执行内存中的一段程序, D M A DMA DMA不行。
通道可以分为字节多路通道、数组选择通道、数组多路通道。
- 字节多路通道有多个非分配型子通道,多个设备按照时间片轮转,每次和内存交换一个字节。
- 数组选择通道有一个分配型子通道,这个就是非抢占式的通道,一个设备占有后便一直使用。但是可以传送很多数据。
- 数组多路通道有多个非分配型子通道,这个是可抢占式的通道,多个设备都可以与内存交换大量数据。
I / O I/O I/O交换系统发展的四个阶段:程序中断查询 → \rightarrow → D M A → DMA\rightarrow DMA→ I / O I/O I/O通道 → \rightarrow → I / O I/O I/O处理器
参考文章: