计算机输入输出与处理单元知识解析
1. 网络接口卡(NIC)
网络接口卡(NIC)是一种特殊的 I/O 设备,用于管理网络数据通信,每个 NIC 都有一个 MAC 地址,用于在互联网上唯一标识该设备。NIC 主要负责网络与主机操作系统之间的数据(帧)传输和接收,其数据传输过程可分为发送和接收两个方面。
1.1 数据发送流程
发送单个以太网帧的步骤如下:
1. 主机操作系统得知主机内存中有一个帧准备好发送,在主机内存中为该帧构建一个缓冲区描述符。
2. 操作系统通知 NIC 主机内存中有新的缓冲区描述符准备好被获取和处理,这通常被称为“邮箱”事件。
3. NIC 启动直接内存访问(DMA)读取待处理的缓冲区描述符并进行处理。
4. 确定待处理帧的主机地址后,NIC 启动 DMA 读取帧内容。
5. 当帧的所有段(可能使用多个缓冲区描述符和缓冲区)都到达时,NIC 将帧传输到以太网上。
6. 根据操作系统对 NIC 的配置,NIC 可能会中断主机以指示帧已发送完成。
下面是发送流程的 mermaid 流程图:
graph LR
A[主机内存中有帧待发送] --> B[操作系统构建缓冲区描述符]
B --> C[操作系统通知 NIC]
C --> D[NIC 读取缓冲区描述符]
D --> E[NIC 读取帧内容]
E --> F[NIC 传输帧到以太网]
F --> G{是否中断主机}
G -- 是 --> H[中断主机]
超级会员免费看
订阅专栏 解锁全文
11万+

被折叠的 条评论
为什么被折叠?



