Maybaygiare.org

Blog Network

Interromper

interrupções podem ser implementadas em hardware como um componente distinto com linhas de controle, ou eles podem ser integrados no subsistema de memória.

Se implementado em hardware como um componente distinto, um circuito de controle de interrupção, como o controlador de interrupção programável do IBM PC (PIC) pode ser conectado entre o dispositivo de interrupção e o pin de interrupção do processador para multiplexar várias fontes de interrupção em uma ou duas linhas de CPU tipicamente disponíveis. Se implementado como parte do controlador de memória, as interrupções são mapeadas no espaço de endereçamento de memória do sistema.

Irqsedit compartilhado

múltiplos dispositivos podem compartilhar uma linha de interrupção de borda, se eles são projetados para isso. A linha de interrupção deve ter um resistor pull-down ou pull-up de modo que quando não impulsionado ativamente se instale em seu estado inativo, que é o estado padrão dele. Dispositivos sinalizam uma interrupção, dirigindo brevemente a linha para o seu estado não-padrão, e deixar a linha flutuar (não dirigi-la ativamente) quando não sinalizar uma interrupção. Este tipo de conexão também é referido como coletor aberto. A linha então carrega todos os pulsos gerados por todos os dispositivos. (This is analogous to the pull cord on some buses and trolleys that any passenger can pull to signal the driver that they are requesting a stop.) No entanto, os pulsos de interrupção de diferentes dispositivos podem se fundir se eles ocorrem perto no tempo. Para evitar perder interrupções, a UCP deve accionar na extremidade posterior do impulso (por exemplo, a extremidade ascendente se a linha for puxada para cima e conduzida para baixo). Depois de detectar uma interrupção, a CPU deve verificar todos os dispositivos para requisitos de serviço.

interrupções de Edge-triggered não sofrem os problemas que interrupções de nível-triggered têm com o compartilhamento. O serviço de um dispositivo de baixa prioridade pode ser adiado arbitrariamente, enquanto as interrupções de dispositivos de alta prioridade continuam a ser recebidas e ser atendidas. Se houver um dispositivo que a CPU não sabe como funcionar, o que pode levantar interrupções espúrias, ele não vai interferir com a sinalização de interrupção de outros dispositivos. No entanto, é fácil para uma interrupção a edge-triggered ser perdida – por exemplo, quando as interrupções são mascaradas por um período – e a menos que haja algum tipo de trinco de hardware que registre o evento é impossível recuperar. Este problema causou muitos “lockups” no hardware de computador inicial, porque o processador não sabia que era esperado fazer algo. Hardware mais moderno muitas vezes tem um ou mais registros de Estado de interrupção que bloqueia pedidos de interrupção; bem escrito edge-driven código de manipulação de interrupção pode verificar esses registros para garantir que nenhum evento é perdido.

Os idosos ISA (Industry Standard Architecture) barramento usa disparado por borda interrupções, sem a obrigatoriedade de que os dispositivos devem ser capazes de compartilhar linhas IRQ, mas todos os principais ISA placas-mãe incluir pull-up resistores em suas linhas IRQ, de tão bem comportado dispositivos ISA compartilhamento de linhas IRQ deve apenas funcionar bem. The parallel port also uses edge-triggered interrupts. Muitos dispositivos mais antigos assumem que eles têm uso exclusivo de linhas IRQ, tornando eletricamente inseguro para compartilhá-los.

Existem 3 maneiras de vários dispositivos “compartilhando a mesma linha” podem ser levantados. A primeira é por condução exclusiva (comutação) ou conexão exclusiva (com pinos). O próximo é de ônibus (todos conectados à mesma linha de escuta): os cartões em um ônibus devem saber quando eles devem falar e não falar (ou seja, o ônibus ISA). A conversa pode ser desencadeada de duas maneiras: por um fecho de acumulação ou por portas lógicas. Portas lógicas esperam um fluxo contínuo de dados que é monitorado para sinais chave. Os acumuladores só accionam quando o lado remoto excita a porta para além de um limiar, pelo que não é necessária qualquer velocidade negociada. Cada um tem as suas vantagens de Velocidade em relação à distância. Um gatilho, geralmente, é o método no qual a excitação é detectada: borda ascendente, borda descendente, limiar (osciloscópio pode desencadear uma grande variedade de formas e Condições).

A activação de interrupções de software deve ser incorporada no software (tanto no SO como no app). Um aplicativo ‘ C ‘ tem uma tabela de trigger (uma tabela de funções) em seu cabeçalho, que tanto o aplicativo quanto o OS sabem e usam apropriadamente que não está relacionado ao hardware. No entanto, não confunda isso com interrupções de hardware que sinalizam a CPU (a CPU enata software a partir de uma tabela de funções, da mesma forma que interrupções de software).

dificuldade em compartilhar a interrupção linesEdit

múltiplos dispositivos compartilhando uma linha de interrupção (de qualquer estilo de ativação) todos atuam como fontes de interrupção espúrias em relação uns aos outros. Com muitos dispositivos em uma linha, a carga de trabalho na manutenção interrompe cresce em proporção ao quadrado do número de dispositivos. É, portanto, preferível espalhar os dispositivos uniformemente através das linhas de interrupção disponíveis. A escassez de linhas de interrupção é um problema em projetos de sistemas mais antigos, onde as linhas de interrupção são condutores físicos distintos. Interrupções sinalizadas por mensagem, onde a linha de interrupção é virtual, são favorecidas em novas arquiteturas de sistemas (como PCI Express) e aliviam este problema em uma extensão considerável.

alguns dispositivos com uma interface de programação mal projetada não fornecem nenhuma maneira de determinar se eles solicitaram o serviço. Podem fechar ou portar-se mal se forem reparados quando não o quiserem. Tais dispositivos não podem tolerar interrupções espúrias, e assim também não podem tolerar compartilhar uma linha de interrupção. Os cartões ISA, devido ao design e construção frequentemente baratos, são notórios para este problema. Tais dispositivos estão se tornando muito mais raros, à medida que a lógica de hardware se torna mais barata e novas arquiteturas de sistemas mandatam interrupções compartilháveis.

HybridEdit

alguns sistemas usam um híbrido de sinalização de nível despoletado e de borda despoletada. O hardware não só procura uma aresta, mas também verifica que o sinal de interrupção permanece ativo por um determinado período de tempo.

um uso comum de uma interrupção híbrida é para a entrada NMI (interrupção não-inquebrável). Uma vez que o NMIs geralmente sinaliza eventos do sistema maiores – ou mesmo catastróficos–, uma boa implementação deste sinal tenta garantir que a interrupção é válida, verificando que ele permanece ativo por um período de tempo. Esta abordagem de 2 etapas ajuda a eliminar interrupções falsas de afetar o sistema.

Message-signaledEdit

Main article: Message Signaled Interrupts

a message-signaledededit

Main article: Message Signaled Interrupts

a message-signaled interrupt não usa uma linha de interrupção física. Em vez disso, um dispositivo sinaliza o seu pedido de serviço, enviando uma mensagem curta sobre alguns meios de comunicação, tipicamente um barramento de computador. A mensagem pode ser de um tipo reservado para interrupções, ou pode ser de algum tipo pré-existente, como uma escrita de memória.

as interrupções sinalizadas pela mensagem comportam-se muito como interrupções desencadeadas pela borda, na medida em que a interrupção é um sinal momentâneo ao invés de uma condição contínua. O software de manipulação de interrupção trata os dois da mesma maneira. Tipicamente, múltiplas interrupções de mensagem pendentes sinalizadas com a mesma mensagem (a mesma linha de interrupção virtual) são permitidas para se fundir, assim como interrupções de borda espaçadas podem se fundir.os vetores de interrupção sinalizados por Mensagem podem ser compartilhados, na medida em que o meio de comunicação subjacente pode ser compartilhado. Não é necessário qualquer esforço adicional.

porque a identidade da interrupção é indicada por um padrão de bits de dados, não exigindo um condutor físico separado, muitas interrupções mais distintas podem ser manuseadas eficientemente. Isso reduz a necessidade de compartilhar. Mensagens de interrupção também podem ser passadas sobre um ônibus série, não exigindo quaisquer linhas adicionais.

PCI Express, um barramento de computador serial, usa mensagens-sinalizadas interrupções exclusivamente.

DoorbellEdit

esta secção não cita quaisquer fontes. Por favor, ajude a melhorar esta seção adicionando citações a fontes confiáveis. O material não recolhido pode ser desafiado e removido. (Dezembro de 2020) (Saiba como e quando para remover este modelo de mensagem)

Em um botão de ação analogia aplicada a sistemas de computador, o termo campainha campainha de uma porta de interrupção é frequentemente utilizado para descrever um mecanismo através do qual um sistema de software pode ser um sinal ou notificar um computador dispositivo de hardware que há algum trabalho a ser feito. Tipicamente, o sistema de software irá colocar dados em alguns locais de memória bem conhecidos e mutuamente acordados, e “tocar a campainha” escrevendo para um local de memória diferente. Este diferente local de memória é muitas vezes chamado de região da campainha, e pode até haver várias Campainhas servindo propósitos diferentes nesta região. É este ato de escrever para a região de campainha da memória que” toca a campainha ” e notifica o dispositivo de hardware que os dados estão prontos e esperando. O dispositivo de hardware saberia agora que os dados são válidos e podem ser atuados. Ele normalmente escreveria os dados para uma unidade de disco rígido, ou enviá-los através de uma rede, ou criptografá-los, etc.

O termo interrupção da campainha é geralmente um nome errado. É semelhante a uma interrupção, porque faz com que algum trabalho seja feito pelo dispositivo; no entanto, a região da campainha às vezes é implementada como uma região pesquisada, às vezes a região da campainha escreve através de registros de dispositivos físicos, e às vezes a região da campainha é conectada diretamente aos registros de dispositivos físicos. Ao escrever através ou diretamente para registros físicos de dispositivos, isso pode causar uma interrupção real a ocorrer na unidade central de processador do dispositivo (CPU), se ele tem um.

interrupções da campainha podem ser comparadas com interrupções sinalizadas da mensagem, pois elas têm algumas semelhanças.

Multiprocessor IPIEdit

In multiprocessor systems, a processor may send an interrupt request to another processor via inter-processor interrupts (IPI).

Deixe uma resposta

O seu endereço de email não será publicado.