首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网卡的DMA环缓冲区与TX/RX环的关系是什么?

网卡的DMA环缓冲区与TX/RX环的关系是什么?
EN

Stack Overflow用户
提问于 2017-11-23 07:56:50
回答 3查看 11.1K关注 0票数 12

我知道对于网卡来说,操作系统必须为它分配tx/rx环,这样当OS想接收/发送数据包时,网卡就会知道数据包在哪里,哪些数据包将被传输。

当我读到DMA的时候,我看到了一个叫做DMA环缓冲器的东西。DMA环和tx/rx环是一样的吗?或者是什么关系?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-23 08:15:15

简短回答:这些都是一样的。

详细信息:首先,请参阅与您的问题非常相关的这个职位

这篇文章中,它说:

异步方法的一个变体经常出现在网卡上。这些卡通常期望看到在与处理器共享的内存中建立的循环缓冲区(通常称为DMA环形缓冲区);每个传入的数据包被放置在环网中的下一个可用缓冲区中,并发出中断信号。然后,驱动程序将网络数据包传递给内核的其余部分,并在环中放置一个新的DMA缓冲区。

DMA环允许NIC直接访问软件使用的内存。软件(内核情况下的NIC驱动程序)为环分配内存,然后将其映射为DMA内存,这样NIC就会知道它可以访问它。TX数据包将由软件在此内存中创建,并由NIC读取和传输(通常是在软件发出NIC信号之后,它应该开始发送)。RX数据包将由NIC写入此内存,并由软件读取和处理(通常是在发出中断以发出工作信号之后)。

希望这能有所帮助。

票数 7
EN

Stack Overflow用户

发布于 2019-12-26 18:07:38

  1. 环形缓冲器包含RAM中缓冲区的起始地址和结束地址。TX环将在RAM中包含缓冲区地址,其中包含要传输的数据。RX环将在RAM中包含缓冲区地址,NIC将在其中放置数据。 这些环存在于RAM中。
  2. TX缓冲器和RX缓冲器位于TX/RX环所指向的RAM中。
  3. 现在网卡寄存器在RAM中有环形缓冲器的位置。

现在1和2可以是DMA可缓存,它们被称为DMA TX/RX环和DMA TX/RX缓冲器。现在,由于RX/TX环必须始终保持,所以它们是作为一致/相干DMA类型的。缓冲器是流/单一DMA类型的内存。

票数 17
EN

Stack Overflow用户

发布于 2020-07-18 13:21:32

DMA环缓冲器和TX/RX环是相同的。

DMA有两种类型的环形缓冲区。

  • TX环形缓冲区-用于从内核到设备的数据传输。
  • RX环形缓冲区-用于从设备到内核接收数据。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47450231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档