Download - Um Circuito Assíncrono.docx

Transcript
Page 1: Um Circuito Assíncrono.docx

Circuito assíncrono

Um circuito assíncrono, é um circuito lógico digital sequencial que não é regido por um circuito

de relógio ou sinal de relógio global. Em vez disso, eles frequentemente usam sinais que

indicam a conclusão de instruções e operações, indicados por protocolos de transferência de

dados simples. A maioria dos dispositivos digitais de hoje usam circuitos síncronos. No entanto

circuitos assíncronos têm o potencial de ser mais rápido, e pode também ter vantagens em

menor consumo de energia, a interferência eletromagnética inferior, e melhor modularidade

em grandes sistemas. Circuitos assíncronos são uma área ativa de pesquisa em design de lógica

digital.

Circuitos Sincronos vs assíncronos.

Recordando, existem circuitos sequenciais e combinacionais, sendo que nos circuitos

combinacionais a saída depende somente da entrada, enquanto que nos circuitos

combinacionais a saída depende além das entradas de um sinal de realimentação. Os circuitos

sequencias são divididos em circuitos síncronos e assíncronos.

Em circuitos lógicos síncronos, um oscilador eletrônico gera uma série de impulsos espaçados

igualmente chamado o sinal de relógio. O sinal de relógio é aplicado a todos os elementos de

memória no circuito, chamadas flip-flops. A saída dos flip-flops altera apenas quando

disparado pela borda do impulso de relógio, de modo que alterações nos sinais lógicos em

todo o circuito começam todos ao mesmo tempo e em intervalos regulares, sincronizados pelo

relógio. As saídas de todos os elementos de memória de um circuito, é chamado de estado do

circuito. O estado de um circuito de sincronismo altera apenas no impulso de relógio. As

alterações no sinal exigem uma certa quantidade de tempo para se propagar através das

portas lógicas no circuito. Isto é chamado de atraso de propagação. O período do sinal de

relógio é feito por tempo suficiente para que a saída de todas as portas lógicas, tenham tempo

para resolver para valores estáveis antes do próximo pulso de clock. Enquanto essa condição

for atendida, os circuitos síncronos irão operar de forma estável, de modo que eles são fáceis

de projetar.

No entanto, uma desvantagem dos circuitos síncronos é que eles podem ser lentos. A taxa

máxima de relógio possível é determinada pela lógica do caminho com o retardo de

propagação mais longo, o chamado caminho crítico. Então caminhos lógicos que completam

suas operações rapidamente estão ociosos a maior parte do tempo. Outro problema é que o

sinal de relógio amplamente distribuído tem um monte de poder, e deve ser executado se o

circuito está recebendo estimulos ou não.

Em circuitos assíncronos, não existe nenhum relógio, e o estado dos circuitos alteram logo que

a entrada muda. Uma vez que eles não têm de esperar por um pulso de clock para começar a

processar as entradas, circuitos assíncronos podem ser mais rápidos do que circuitos

síncronos, e sua velocidade é teoricamente limitada apenas pelos atrasos de propagação das

portas lógicas. No entanto, os circuitos assíncronos são mais difíceis de projetar e sujeitos a

problemas que não são encontrados em circuitos síncronos. Isto acontece porque o estado

resultante de um circuito assíncrono pode ser sensível aos tempos de chegada relativos de

Page 2: Um Circuito Assíncrono.docx

entradas nos portões. Se transições em duas entradas chegam quase ao mesmo tempo, o

circuito pode entrar em um estado errado dependendo ligeiras diferenças nos atrasos de

propagação das portas. Isso é chamado de uma condição de corrida. Em circuitos síncronos

este problema é menos grave, porque as condições de corrida, só podem ocorrer devido a

entradas de fora do sistema síncrono, entradas assíncronas. Embora alguns sistemas digitais

completamente assíncronos foram construídos (ver abaixo), hoje circuitos assíncronos são

tipicamente usados em algumas partes críticas de sistemas síncronos de outra forma, onde a

velocidade é um prêmio, tais como circuitos de processamento de sinal.

Fundamentação teórica

A lógica assíncrona é um termo usado para descrever uma variedade de estilos de design, que

utilizam diferentes hipóteses sobre as propriedades do circuito [1] Estes variam a partir do

modelo atraso incluído -. Que utiliza elementos de processamento de dados «convencionais»

com a conclusão indicada por um modelo atraso gerado localmente - projeto para atrasar-

insensitive - onde os atrasos arbitrários por meio de elementos de circuito podem ser

acomodados. O último estilo tende a produzir circuitos que são maiores do que as

implementações de dados em pacotes, mas que são insensíveis à layout e variações

parametricas e são, portanto, "correct by design".

A lógica assíncrona é a lógica necessária para a concepção de sistemas digitais assíncronas.

Estes funcionam sem um sinal de relógio e elementos lógicos de modo individuais não podem

ser invocados para ter um verdadeiro estado discreto / false em um determinado momento. A

lógica booleana é inadequada para isso e por isso são necessárias extensões. Karl Fant

desenvolveu um tratamento teórico deste em seu trabalho de design Logicamente determinou

em 2005 que usou a lógica de quatro valorizado com nulo e intermediário sendo os valores

adicionais. Esta arquitetura é importante porque é quase atraso insensível. [2] Scott Smith e Jia

Di desenvolveu uma variação ultra-low-power de nulo Convenção Lógica de Fant que

incorpora CMOS multi-limite. [3] Esta variação é denominado Multi-limiar Null Convenção

Logic (MTNCL), ou alternativamente sono Convenção Logic (SCL). [4] Vadim Vasyukevich

desenvolveu uma abordagem diferente com base em uma nova operação lógica que ele

chamou venjunction. Isso leva em conta não apenas o valor atual de um elemento, mas

também a sua história. [5]

Redes de Petri são um modelo atraente e poderoso para o raciocínio sobre circuitos

assíncronos. No entanto, redes de Petri têm sido criticadas por sua falta de realismo físico.

Posteriormente as Redes de Petri outros modelos da concorrência foram desenvolvidas que

podem modelar circuitos assíncronos, incluindo o modelo de ator e processo de cálculo.

Page 3: Um Circuito Assíncrono.docx

Beneficios

Uma variedade de vantagens têm sido demonstradas por circuitos assíncronos, incluindo tanto

Delay Insensitive (QDI) circuitos Quasi (geralmente aceitou ser a forma mais "pura" da lógica

assíncrona que mantém a universalidade computacional) e formas menos puras de circuito

assíncrono que utilizam restrições de tempo para maior desempenho e menor área e potência:

Desvantagens

-> Área de sobrecarga pode ser até o dobro do número de circuitos elementos (transistores), devido à adição de detecção de conclusão e design-para-teste de circuitos

-> Menos pessoas são treinados neste estilo em relação ao projeto síncrono

-> Projetos síncronos são inerentemente mais fácil de testar e depurar do que os projetos

assíncronos.

-> Relógio gating em projetos síncronos mais convencionais é uma aproximação do ideal

assíncrona e, em alguns casos, sua simplicidade pode superam as vantagens de um design

totalmente assíncrona.

-> Desempenho (velocidade) de circuitos assíncronos pode ser reduzida em arquiteturas que

requerem entrada-completude (caminho de dados mais complexo).

Os protocolos de comunicação

Existem várias maneiras para criar canais de comunicação assíncronas. Normalmente, o

remetente indica a disponibilidade de dados com um pedido, Req, e o receptor indica a

conclusão com um sinal de confirmação, o ACK, o que indica que ele é capaz de processar os

novos pedidos; este processo é chamado de um aperto de mão. As diferenças residem na

forma como esta sinais são codificados.

Protocolos

Há duas famílias de protocolo em circuitos assíncronos, que diferem na maneira como os

eventos são codificados:

Eles podem ser representados por qualquer transição de um fio, de 0 a 1, bem como 1 a 0. Isto

é chamado de sinalização de transição, o protocolo de duas fases, um meio de codificação

handshake ou não-retorno a zero

Page 4: Um Circuito Assíncrono.docx

Ou os sinais podem exigir uma reinicialização antes de outras operações são executadas. Por

exemplo, o remetente repõe os fios de pedido uma vez que o reconhecimento é recebido, e o

receptor repõe o reconhecimento depois. Este é o quatro fases aperto de mão protocolo, de

quatro fases, ou Return-to-Zero codificação. Apesar de ser aparentemente mais complicado, as

implementações no nível do circuito são geralmente mais rápido e mais simples.

Esta distinção básica não leva em conta a grande variedade de protocolos. Estes eventos

podem codificar os pedidos e reconhecimentos única ou codificar os dados, o que leva às

codificações populares multi-fio. Um monte de outros protocolos, menos comuns têm sido

propostas. Aqueles incluem o uso de um fio único de pedido e reconhecimento, usando várias

tensões significativas, utilizando apenas pulsos ou equilíbrio horários, a fim de remover as

travas.

Codificação de dados [editar]

Existem várias maneiras para codificar dados assíncronos em circuitos. A codificação mais

óbvia, semelhante ao que pode ser encontrado nos circuitos síncronos, é a codificação de

dados empacotados, que utiliza um fio por bit de dados e um fio separado pedido. Outra

forma comum para codificar os dados é a utilização de fios múltiplos para codificar um único

dígito: o valor é determinado pelo fio no qual o evento ocorre. Isso evita alguns dos

pressupostos de atraso necessárias com codificação de dados agrupados, uma vez que o

pedido e os dados não são mais separados.

Codificação de dados empacotado [editar]

Esta é a mesma codificação de circuitos síncronos: utiliza um fio por bit de dados. O pedido eo

reconhecimento são enviados em fios separados com vários protocolos. Estes circuitos

geralmente assumem um modelo delimitadas atraso, os sinais de conclusão sendo adiada por

tempo suficiente para os cálculos a ter lugar.

Tais circuitos são muitas vezes referidos como micropipelines, se utilizar um protocolo de duas

fases ou quatro fases, mesmo que a palavra foi inicialmente introduzido por bifásicos-dados

empacotados.

Codificação multi-rail [editar]

Aqui, o pedido não é enviado em um fio dedicado: está implícito, quando a transição acontece

em um fio. Qualquer m de n encoding pode ser usado, onde um dígito é representado por m

transições de n fios, ea recepção dessas transições é equivalente a um pedido, com a

vantagem de que esta comunicação é atraso e minúsculas. Normalmente, uma codificação de

uma quente (1 de N) é o preferido. Eles podem representar um dígito na raiz n.

Codificação dual-rail é de longe o mais comum, principalmente com um protocolo de quatro

fases que também é chamado de codificação de três estados, uma vez que tem dois estados

válidos (10 e 01, após uma transição) e um estado de reposição (00). Outra codificação

comum, o que leva a implementação mais simples do que um quente de duas fases de dupla

Page 5: Um Circuito Assíncrono.docx

via férrea, é quatro estado codificação, ou codificado nível duplo-carril, que usa um bit de

dados e um bit de paridade para atingir um protocolo de duas fases.

https://en.wikipedia.org/wiki/Asynchronous_circuit