El enfoque principal de este artículo es el control asincrónico en sistemas electrónicos digitales. [1] [2] En un sistema sincrónico , las operaciones ( instrucciones , cálculos , lógica , etc.) están coordinadas por una o más señales de reloj centralizadas . Un sistema asincrónico , por el contrario, no tiene un reloj global. Los sistemas asincrónicos no dependen de tiempos de llegada estrictos de señales o mensajes para un funcionamiento confiable. La coordinación se logra utilizando una arquitectura impulsada por eventos que se activa por la llegada de paquetes de red , cambios (transiciones) de señales, protocolos de enlace y otros métodos.
Los sistemas asincrónicos, al igual que el software orientado a objetos , se construyen típicamente a partir de "objetos de hardware" modulares , cada uno con interfaces de comunicación bien definidas . Estos módulos pueden operar a velocidades variables, ya sea debido al procesamiento dependiente de los datos, al escalamiento dinámico de voltaje o a la variación del proceso . Los módulos pueden luego combinarse para formar un sistema de trabajo correcto, sin referencia a una señal de reloj global . Por lo general, se obtiene baja potencia ya que los componentes se activan solo a demanda. Además, se ha demostrado que varios estilos asincrónicos admiten interfaces sincronizadas y, por lo tanto, admiten el diseño de temporización mixta. Por lo tanto, los sistemas asincrónicos se adaptan bien a la necesidad de metodologías de construcción correcta para ensamblar sistemas heterogéneos y escalables a gran escala.
Existe un amplio espectro de estilos de diseño asincrónico, con compensaciones entre robustez y rendimiento (y otros parámetros como la potencia). La elección del estilo de diseño depende del objetivo de la aplicación: confiabilidad/facilidad de diseño vs. velocidad. Los diseños más robustos utilizan " circuitos insensibles al retardo ", cuyo funcionamiento es correcto independientemente de los retrasos de la compuerta y del cable ; sin embargo, solo se pueden diseñar sistemas útiles limitados con este estilo. Un poco menos robustos, pero mucho más útiles, son los circuitos cuasi-insensibles al retardo (también conocidos como circuitos independientes de la velocidad), como la síntesis de minterm insensible al retardo , que funcionan correctamente independientemente de los retrasos de la compuerta ; sin embargo, los cables en cada punto de abanico de salida deben ajustarse para retrasos aproximadamente iguales. Los circuitos menos robustos pero más rápidos, que requieren restricciones de temporización unilaterales localizadas simples, incluyen controladores que utilizan operación en modo fundamental (es decir, con requisitos de configuración/retención sobre cuándo se pueden recibir nuevas entradas) y rutas de datos agrupadas que utilizan retrasos coincidentes (ver más abajo). En el extremo, se han propuesto "circuitos temporizados" de alto rendimiento, que utilizan restricciones de temporización bilaterales estrictas, donde todavía se puede evitar el reloj pero se requiere un ajuste cuidadoso del retardo físico, como en algunas aplicaciones de tuberías de alta velocidad.
La comunicación asincrónica se realiza normalmente en canales de comunicación . La comunicación se utiliza tanto para sincronizar operaciones del sistema concurrente como para pasar datos. Un canal simple consta normalmente de dos cables: una solicitud y un acuse de recibo. En un " protocolo de enlace de 4 fases " (o retorno a cero), el componente emisor confirma la solicitud y el receptor responde confirmando el acuse de recibo; luego, ambas señales se des-afirman a su vez. En un " protocolo de enlace de 2 fases " (o señalización de transición), el solicitante simplemente alterna el valor en el cable de solicitud (una vez) y el receptor responde alternando el valor en el cable de acuse de recibo. Los canales también se pueden ampliar para comunicar datos.
Las rutas de datos asincrónicas se codifican normalmente utilizando varios esquemas. Los esquemas robustos utilizan dos cables o "rieles" para cada bit, denominados "codificación de doble riel". En este caso, se afirma que el primer riel transmita un valor 0, o se afirma que el segundo riel transmita un valor 1. El riel afirmado se restablece a cero antes de que se transmita el siguiente valor de datos, lo que indica "sin datos" o un estado de "espaciador". Un esquema menos robusto, pero ampliamente utilizado y práctico, se denomina "datos agrupados de un solo riel". Aquí, se puede utilizar un bloque de función de un solo riel (es decir, de estilo sincrónico), con un retraso coincidente en el peor de los casos . Después de que llegan entradas de datos válidas, se afirma una señal de solicitud como entrada al retraso coincidente. Cuando el retraso coincidente produce una salida "hecho", se garantiza que el bloque ha completado el cálculo. Si bien este esquema tiene restricciones de tiempo, son simples, localizadas (a diferencia de los sistemas sincrónicos ) y unilaterales, por lo que suelen ser fáciles de validar.
La literatura en este campo existe en una variedad de actas de conferencias y revistas. El simposio principal es el IEEE Async Symposium (Simposio internacional sobre circuitos y sistemas asincrónicos), fundado en 1994. También se han publicado diversos artículos asincrónicos desde mediados de la década de 1980 en conferencias como IEEE/ACM Design Automation Conference , IEEE International Conference on Computer Design, IEEE/ACM International Conference on Computer-Aided Design , International Solid-State Circuits Conference Archived 2010-03-16 at the Wayback Machine y Advanced Research in VLSI, así como en revistas líderes como IEEE Transactions on VLSI Systems, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems y Transactions on Distributed Computing.
{{cite book}}
: |author=
tiene un nombre genérico ( ayuda ) , pp. 255–284, ( incluye indicadores de chips asincrónicos recientes, así como cobertura de técnicas CAD para circuitos de control asincrónicos ).Adaptado de la columna de Steve Nowick en el boletín electrónico ACM SIGDA por Igor Markov.
El texto original está disponible en https://web.archive.org/web/20060624073502/http://www.sigda.org/newsletter/2006/eNews_060115.html