O que significam os termos “assíncrono” e “síncrono”, no que diz respeito à definição de uma interrupção?

7

Citado no link :

an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution.

Eu queria saber o que "assíncrono" e "síncrono" significam?

    
por Tim 02.08.2011 / 19:54

3 respostas

8

Quando o artigo da Wikipedia menciona uma interrupção assíncrona, eles estão usando a definição clássica de clocked vs. non-clocked de ( a) síncrono, que se aplica a um circuito digital.

Diz-se que um circuito digital é síncrono quando cada parte da lógica é conectada a um relógio comum (como em seu processador). Na subida ou descida de cada ciclo de clock, o estado do circuito é atualizado. Um circuito digital assíncrono, por outro lado, não tem clock, mas o próximo estado é dependente do atual (e mudará assim que puder). A leitura da lógica de outros circuitos que não compartilham o mesmo clock comum também pode ser definida como assíncrona, mas em relação ao outro circuito .

Se uma interrupção assíncrona for acionada, isso significa que o processador (provavelmente no próximo ciclo de clock) salvará seu ambiente de execução atual e atenderá à solicitação de interrupção. Este é um exemplo de uma interrupção de hardware (uma que é acionada por uma conexão externa ao processador). Todas as interrupções de software, conforme mencionado no artigo, são tecnicamente síncronas, uma vez que são iniciadas pela própria CPU - que é um circuito síncrono.

Como nenhum dispositivo externo compartilha o mesmo clock comum da CPU, todas as interrupções externas podem ser consideradas assíncronas. Mesmo que o dispositivo que acionou a interrupção possa ser um circuito síncrono, do ponto de vista da CPU , essas interrupções são disparadas de forma assíncrona (já que não está compartilhando um sinal de relógio com o dispositivo).

A própria interrupção externa signal é assíncrona, mas todos os manipuladores de interrupção da CPU são síncronos, eles detectarão apenas uma interrupção no próximo clock , já que esse é o ponto de um sistema síncrono (para permitir apenas que o estado do sistema mude em conjunto). Se você está curioso sobre como um processador lida com interrupções, consulte este excelente recurso da Intel ( especificamente, Volume 3, Parte 1).

    
por 03.08.2011 / 04:47
3

Do Dicionário Etimológico para Synchronous ,

1660s, "existing or happening at the same time,"
from L.L. synchronus "simultaneous,"
from Gk. synchronos "happening at the same time,"
from syn- "together" + khronos "time."
Meaning "recurring at the same successive instants of time" is attested from 1670

asynchronous significa "não síncrono".

Agora você lê tudo isso no contexto de interrupts novamente.

A interrupção assíncrona não estaria diretamente relacionada à atividade das mãos - pense nisso como se você estivesse lendo isso e de repente você ouve um barulho atrás de você; você se vira - é porque você foi interrompido de forma assíncrona para fazer isso :-)

Agora, se você está lendo a página da wikipedia para interrupções, e você vê a palavra asynchronous , você a procura (como acima) - isto é uma interrupção síncrona em seu fluxo de pensamento; a causa dessa interrupção foi o que você leu - como resultado, você parou de ler, procurou a palavra e, eventualmente, voltou a ler isso.

    
por 02.08.2011 / 20:11
1

Basicamente, é uma maneira de chamar a atenção do kernel ou de um programa.

Um exemplo: Vamos dizer que eu tenho um programa de baixar um arquivo. Eu quero que meu programa ainda seja responsivo enquanto o arquivo está sendo baixado e eu preciso dizer ao meu programa que estou pronto. Enquanto isso, meu programa deve continuar fazendo o que quiser, até que seja ** interrompido ** pela conclusão de um arquivo baixado. Em seguida, faz tudo o que precisa fazer. É assíncrona porque não acontecerá em um horário pré-definido ou em uma ordem pré-definida.

Sincronização significa que você espera que isso aconteça em seguida. Async significa que você não sabia quando ou se isso aconteceria.

    
por 02.08.2011 / 20:09