Como uma NIC envia uma interrupção de hardware? [fechadas]

3

Algum contexto.

Algumas semanas atrás, uma NIC foi substituída em uma caixa sem muita solução de problemas para encontrar uma solução clara para o problema. Um administrador sênior entrou em uma pequena discussão com um administrador de nível de entrada sobre interrupções de hardware e placas de rede. Especificamente, como eles funcionam. O administrador de nível de entrada deu uma resposta vaga, insistiu que estava correto e o assunto foi encerrado sem uma conclusão real.

Eu sei, em teoria, como funciona uma interrupção de hardware, mas como ela funciona especificamente quando uma NIC recebe pacotes de informações? O que está acontecendo em um nível de hardware? Como alguém poderia diagnosticar corretamente se houve ou não dano físico para evitar o que essencialmente equivale a jogar peças em um problema?

    
por barix 17.09.2013 / 03:28

1 resposta

4

I know, in theory, how a hardware interrupt works, but how does it specifically function when a NIC receives packets of information? What is happening on a hardware level?

Quando a NIC recebe informações, ela verifica se as condições são atendidas para acionar uma interrupção de hardware. Isso geralmente é feito no firmware no controlador da NIC. Se, por exemplo, uma interrupção de recebimento já foi enviada, mas ainda não foi confirmada, não há motivo para enviar outra.

Se a NIC decidir enviar uma interrupção, o mecanismo real dependerá da interface da NIC e de como ela está configurada. A maneira antiga era realmente mudar a tensão em uma linha de interrupção dedicada. Isso iria para o controlador de interrupção, que normalmente afirmaria alguma outra linha que combinasse várias interrupções. O SO perguntaria então ao controlador de interrupção que as interrupções haviam sido acionadas.

A maneira mais recente é a "mensagem sinalizada interrupções" ( MSI ) onde o NIC basicamente escreve uma palavra específica para um determinado endereço e isso faz com que uma interrupção seja gerada por alguma outra peça de hardware, geralmente o controlador de barramento. Isso permite que um dispositivo tenha mais interrupções e também direcione interrupções para processadores específicos.

How would one properly diagnose whether or not physical damage has occurred in order to avoid what essentially amounted to throwing parts at a problem?

Geralmente é difícil fazer isso e é improvável que a maioria das pessoas tenha experiência suficiente para diagnosticar o problema. O hardware pode falhar de diferentes maneiras e muitas vezes é difícil dizer onde a falha ocorreu. Geralmente, é mais eficiente simplesmente substituir a parte com falha mais provável, verificar se o problema desaparece e, em seguida, repetir. Se houver evidência de um problema de hardware da NIC, tentarei substituir a NIC primeiro.

    
por 17.09.2013 / 04:35