Sistema asíncrono

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

El enfoque principal de este artículo es el control asíncrono en sistemas electrónicos digitales. En un sistema síncrono, las operaciones (instrucciones, cálculos, lógica, etc.) están coordinadas por una o más señales de reloj centralizadas. Por el contrario, un sistema asincrónico no tiene un reloj global. Los sistemas asíncronos no dependen de tiempos estrictos de llegada de señales o mensajes para un funcionamiento confiable. La coordinación se logra utilizando una arquitectura basada en eventos activada por la llegada de paquetes de red, cambios (transiciones) de señales, protocolos de intercambio y otros métodos.

Modularidad

Los sistemas asincrónicos, al igual que el software orientado a objetos, normalmente se construyen a partir de 'objetos de hardware' modulares, cada uno con interfaces de comunicación bien definidas. Estos módulos pueden funcionar 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. Luego, los módulos se pueden combinar para formar un sistema que funcione correctamente, sin referencia a una señal de reloj global. Normalmente, se obtiene baja potencia ya que los componentes se activan sólo según demanda. Además, se ha demostrado que varios estilos asíncronos se adaptan a interfaces sincronizadas y, por lo tanto, admiten el diseño de temporización mixta. Por lo tanto, los sistemas asíncronos satisfacen bien la necesidad de metodologías de corrección por construcción para ensamblar sistemas heterogéneos y escalables a gran escala.

Estilos de diseño

Existe un amplio espectro de estilos de diseño asincrónicos, 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 versus velocidad. Los diseños más robustos utilizan 'circuitos insensibles al retardo', cuyo funcionamiento es correcto independientemente de retrasos en puertas y cables; sin embargo, sólo se pueden diseñar sistemas útiles limitados con este estilo. Ligeramente menos robustos, pero mucho más útiles, son los circuitos casi insensibles al retardo (también conocidos como circuitos independientes de la velocidad), como la síntesis minterm insensible al retardo, que funcionan correctamente independientemente de los retardos de la puerta; sin embargo, los cables en cada punto de distribución 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 retardos coincidentes (ver más abajo). En el extremo, los "circuitos cronometrados" Se han propuesto, que utilizan estrictas restricciones de temporización de dos lados, donde aún se puede evitar el reloj pero se requiere un ajuste de retardo físico cuidadoso, como para algunas aplicaciones de tuberías de alta velocidad.

Comunicación asincrónica

La comunicación asincrónica normalmente se realiza en canales de comunicación. La comunicación se utiliza tanto para sincronizar operaciones del sistema concurrente como para pasar datos. Un canal simple normalmente consta de dos cables: una solicitud y un reconocimiento. En un 'protocolo de intercambio de contactos de 4 fases' (o retorno a cero), la solicitud es afirmada por el componente emisor y el receptor responde afirmando el reconocimiento; luego ambas señales se anulan a su vez. En un 'protocolo de 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 reconocimiento. Los canales también se pueden ampliar para comunicar datos.

Rutas de datos asincrónicas

Las rutas de datos asíncronas normalmente se codifican utilizando varios esquemas. Los esquemas robustos utilizan dos cables o 'rieles' para cada bit, lo que se denomina "codificación de doble carril". En este caso, se afirma que el primer carril transmite un valor 0 o que el segundo carril transmite un valor 1. Luego, el carril afirmado se restablece a cero antes de que se transmita el siguiente valor de datos, lo que indica "sin datos" o un 'espaciador' estado. Un esquema menos robusto, pero ampliamente utilizado y práctico, se llama "datos agrupados de un solo carril". En este caso, se puede utilizar un bloque de funciones de carril único (es decir, de estilo síncrono), acompañado de 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 para el retraso coincidente. Cuando el retraso coincidente produce un mensaje 'hecho' salida, el bloque garantiza haber completado el cálculo. Si bien este esquema tiene restricciones de tiempo, son simples, localizadas (a diferencia de los sistemas síncronos) y unilaterales, por lo que suelen ser fáciles de validar.

Literatura

La literatura en este campo existe en una variedad de actas de congresos y revistas. El simposio principal es el IEEE Async Symposium (Simposio internacional sobre circuitos y sistemas asíncronos), fundado en 1994. También se han publicado una variedad de artículos asíncronos 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 Archivado el 16 de marzo de 2010 en Wayback Machine e Advanced Research en VLSI, así como en revistas líderes como IEEE Transactions on VLSI Sistemas, Transacciones IEEE sobre diseño de circuitos y sistemas integrados asistido por computadora y Transacciones sobre informática distribuida.

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save