NIC 如何发送硬件中断?

NIC 如何发送硬件中断?

一些背景。

几周前,有人更换了一台机器上的 NIC,但并未进行太多故障排除,也没有找到问题的明确解决方案。一位高级管理员与一位初级管理员就硬件中断和以太网卡发生了小争执。具体来说,就是它们的工作方式。这位初级管理员给出了一个模糊的答案,坚称自己是正确的,事情就这样不了了之了。

理论上,我知道硬件中断是如何工作的,但当 NIC 收到信息包时,它具体是如何工作的?硬件层面发生了什么?如何正确诊断是否发生了物理损坏,以避免在出现问题时更换零件?

答案1

理论上,我知道硬件中断是如何工作的,但是当网卡接收到信息包时,它具体是如何工作的呢?硬件层面发生了什么?

当 NIC 收到信息时,它会检查是否满足触发硬件中断的条件。这通常在 NIC 控制器的固件中完成。例如,如果已经发送了接收中断但尚未确认,则没有理由再发送另一个。

如果 NIC 决定发送中断,实际机制取决于 NIC 接口及其配置方式。旧方法是实际更改专用中断线上的电压。这将转到中断控制器,该控制器通常会断言结合多个中断的其他线路。然后操作系统会询问中断控制器触发了哪些中断。

较新的方法是“消息信号中断”(微星),其中 NIC 基本上将特定字写入特定地址,这会导致其他硬件(通常是总线控制器)生成中断。这允许设备拥有更多中断,也可以将中断定位到特定处理器。

如何才能正确诊断是否发生了物理损坏,以避免本质上将零件扔到问题上?

通常很难做到这一点,而且大多数人不太可能有足够的经验来诊断问题。硬件可能会以不同的方式出现故障,而且通常很难判断故障发生在哪个环节。通常更有效的方法是更换最有可能出现故障的部件,看看问题是否消失,然后重复。如果有证据表明 NIC 硬件存在问题,我会先尝试更换 NIC。

相关内容