Circuito asíncrono ( circuito sin reloj o auto-sincronizado ) [ 1 ] : Lección 12 [ nota 1 ] [ 2 ] : 157–186 es un circuito lógico digital secuencial que no utiliza un circuito de reloj global o generador de señales para sincronizar sus componentes. [ 1 ] [ 3 ] : 3–5 En cambio, los componentes son controlados por un circuito de intercambio de instrucciones que indica la finalización de un conjunto de instrucciones. El intercambio de instrucciones funciona mediante protocolos simples de transferencia de datos . [ 3 ] : 115 Muchos circuitos síncronos se desarrollaron a principios de la década de 1950 como parte de sistemas asíncronos más grandes (por ejemplo, ORDVAC ). Los circuitos asíncronos y la teoría que los rodea son parte de varios pasos en el diseño de circuitos integrados , un campo de la ingeniería electrónica digital .
Los circuitos asíncronos se contraponen a los circuitos síncronos , en los que los cambios en los valores de la señal se activan mediante pulsos repetitivos denominados señal de reloj . La mayoría de los dispositivos digitales actuales utilizan circuitos síncronos. Sin embargo, los circuitos asíncronos tienen el potencial de ser mucho más rápidos, consumir menos energía, sufrir menos interferencias electromagnéticas y ofrecer una mejor modularidad en sistemas de gran tamaño. Los circuitos asíncronos constituyen un área activa de investigación en el diseño de lógica digital . [ 4 ] [ 5 ]
No fue hasta la década de 1990 cuando se demostró la viabilidad de los circuitos asíncronos mediante productos comerciales reales. [ 3 ] : 4
Descripción general
Todos los circuitos lógicos digitales se pueden dividir en lógica combinacional , en la que las señales de salida dependen únicamente de las señales de entrada actuales, y lógica secuencial , en la que la salida depende tanto de la entrada actual como de las entradas anteriores. En otras palabras, la lógica secuencial es lógica combinacional con memoria . Prácticamente todos los dispositivos digitales prácticos requieren lógica secuencial. La lógica secuencial se puede dividir en dos tipos: lógica síncrona y lógica asíncrona.
Circuitos síncronos
En los circuitos lógicos síncronos , un oscilador electrónico genera una serie repetitiva de pulsos igualmente espaciados, denominada señal de reloj . Esta señal se suministra a todos los componentes del circuito integrado. Los flip-flops solo cambian de estado al ser activados por el flanco del pulso de reloj, por lo que los cambios en las señales lógicas a lo largo del circuito comienzan simultáneamente y a intervalos regulares. El estado de todos los elementos de memoria del circuito se denomina estado del circuito. El estado de un circuito síncrono cambia únicamente con el pulso de reloj. Los cambios en la señal requieren un cierto tiempo para propagarse a través de las compuertas lógicas combinacionales del circuito. Este tiempo se denomina retardo de propagación .
A partir de 2021La sincronización de los circuitos integrados síncronos modernos requiere importantes esfuerzos de ingeniería y sofisticadas herramientas de automatización del diseño . [ 6 ] Los diseñadores deben asegurarse de que la llegada del reloj no sea defectuosa. Con el tamaño y la complejidad cada vez mayores de los circuitos integrados (por ejemplo, los ASIC ), es una tarea desafiante. [ 6 ] En circuitos enormes, las señales enviadas a través de la red de distribución de reloj a menudo terminan en diferentes momentos en diferentes partes. [ 6 ] Este problema se conoce ampliamente como " desfase de reloj ". [ 6 ] [ 7 ] : xiv
La frecuencia de reloj máxima posible está limitada por la ruta lógica con el retardo de propagación más largo, denominada ruta crítica. Por ello, las rutas que podrían operar rápidamente permanecen inactivas la mayor parte del tiempo. Una red de reloj ampliamente distribuida disipa mucha energía útil y debe funcionar independientemente de si el circuito recibe entradas o no. [ 6 ] Debido a este nivel de complejidad, las pruebas y la depuración consumen más de la mitad del tiempo de desarrollo en todas las dimensiones para los circuitos síncronos. [ 6 ]
circuitos asíncronos
Los circuitos asíncronos no necesitan un reloj global, y el estado del circuito cambia tan pronto como cambian las entradas. Se pueden seguir empleando bloques funcionales locales, pero el problema de la desviación del reloj aún se puede tolerar. [ 7 ] : xiv [ 3 ] : 4
Dado que los circuitos asíncronos no tienen que esperar un pulso de reloj para comenzar a procesar las entradas, pueden operar más rápido. Su velocidad está teóricamente limitada únicamente por los retardos de propagación de las compuertas lógicas y otros elementos. [ 7 ] : xiv
Sin embargo, los circuitos asíncronos son más difíciles de diseñar y presentan problemas que no se encuentran en los circuitos síncronos. Esto se debe a que el estado resultante de un circuito asíncrono puede ser sensible a los tiempos de llegada relativos de las entradas a las compuertas. Si las transiciones en dos entradas llegan casi simultáneamente, el circuito puede entrar en un estado incorrecto dependiendo de pequeñas diferencias en los retardos de propagación de las compuertas. Esto se conoce como condición de carrera . En los circuitos síncronos, este problema es menos grave porque las condiciones de carrera solo pueden ocurrir debido a entradas externas al sistema síncrono, denominadas entradas asíncronas .
Aunque se han construido algunos sistemas digitales totalmente asíncronos (véase más abajo), hoy en día los circuitos asíncronos se utilizan normalmente en algunas partes críticas de sistemas que, de otro modo, serían síncronos, donde la velocidad es fundamental, como por ejemplo en los circuitos de procesamiento de señales.
Fundamentos teóricos
La teoría original de los circuitos asíncronos fue creada por David E. Muller a mediados de la década de 1950. [ 8 ] Esta teoría fue presentada posteriormente en el conocido libro "Teoría de la conmutación" de Raymond Miller. [ 9 ]
El término «lógica asíncrona» se utiliza para describir diversos estilos de diseño que emplean diferentes supuestos sobre las propiedades de los circuitos. [ 10 ] Estos varían desde el modelo de retardo agrupado —que utiliza elementos de procesamiento de datos «convencionales» con una indicación de finalización mediante un modelo de retardo generado localmente— hasta el diseño insensible al retardo —donde se pueden acomodar retardos arbitrarios a través de los elementos del circuito—. Este último estilo tiende a generar circuitos más grandes que las implementaciones de datos agrupados, pero que son insensibles a las variaciones de diseño y paramétricas, y por lo tanto son «correctos por diseño».
lógica asíncrona
La lógica asíncrona es la necesaria para el diseño de sistemas digitales asíncronos. Estos funcionan sin señal de reloj , por lo que no se puede confiar en que los elementos lógicos individuales tengan un estado discreto verdadero/falso en un momento dado. La lógica booleana (de dos valores) resulta insuficiente para esto, por lo que se requieren extensiones.
Desde 1984, Vadim O. Vasyukevich desarrolló un enfoque basado en nuevas operaciones lógicas que denominó venjunción (con el operador asíncrono " x ∠ y " que significa "cambiar x sobre el fondo y " o "si x cuando y entonces") y secuencia (con los signos de prioridad " x i ≻ x j " y " x i ≺ x j "). Esto tiene en cuenta no solo el valor actual de un elemento, sino también su historial . [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
Karl M. Fant desarrolló un tratamiento teórico diferente de la lógica asíncrona en su obra Diseño determinado lógicamente en 2005, que utilizaba lógica de cuatro valores con el valor nulo y el valor intermedio como valores adicionales. Esta arquitectura es importante porque es cuasi-insensible al retardo . [ 16 ] [ 17 ] Scott C. Smith y Jia Di desarrollaron una variación de ultrabajo consumo de la lógica de convención nula de Fant que incorpora CMOS multiumbral . [ 18 ] Esta variación se denomina lógica de convención nula multiumbral (MTNCL), o alternativamente lógica de convención de sueño (SCL). [ 19 ]
redes de Petri
Las redes de Petri son un modelo atractivo y potente para razonar sobre circuitos asíncronos (véase Modelos posteriores de concurrencia ). Un tipo particularmente útil de redes de Petri interpretadas, llamadas Grafos de Transición de Señal (GTS), fue propuesto independientemente en 1985 por Leonid Rosenblum y Alex Yakovlev [ 20 ] y Tam-Anh Chu [ 21 ] . Desde entonces, los GTS se han estudiado ampliamente en teoría y práctica [ 22 ] [ 23 ], lo que ha llevado al desarrollo de herramientas de software populares para el análisis y la síntesis de circuitos de control asíncronos, como Petrify [ 24 ] y Workcraft [ 25 ] .
Posteriormente a las redes de Petri se han desarrollado otros modelos de concurrencia que pueden modelar circuitos asíncronos, incluyendo el modelo de actor y los cálculos de procesos .
Beneficios
Los circuitos asíncronos han demostrado diversas ventajas. Tanto los circuitos cuasi-insensibles al retardo (QDI, por sus siglas en inglés) (considerados generalmente como la forma más "pura" de lógica asíncrona que conserva la universalidad computacional) como las formas menos puras de circuitos asíncronos que utilizan restricciones de temporización para lograr un mayor rendimiento y un menor consumo de área y energía presentan varias ventajas.
- Manejo robusto y económico de la metaestabilidad de los árbitros .
- Rendimiento en el caso promedio: el tiempo (retraso) promedio de operación no se limita al peor caso de tiempo de finalización del componente (puerta, cable, bloque, etc.) como sucede en los circuitos síncronos. [ 7 ] : xiv [ 3 ] : 3 Esto resulta en un mejor rendimiento de latencia y rendimiento de procesamiento. [ 26 ] : 9 [ 3 ] : 3 Los ejemplos incluyen la finalización especulativa [ 27 ] [ 28 ] que se ha aplicado para diseñar sumadores de prefijo paralelos más rápidos que los síncronos, y un sumador de punto flotante de doble precisión de alto rendimiento [ 29 ] que supera a los principales diseños síncronos.
- Finalización anticipada : la salida puede generarse con antelación, cuando el resultado del procesamiento de entrada es predecible o irrelevante.
- Elasticidad inherente: en cualquier momento pueden aparecer en las entradas de la tubería un número variable de elementos de datos (tubería significa una cascada de bloques funcionales vinculados). Esto contribuye a un alto rendimiento al tiempo que maneja con elegancia las tasas variables de entrada y salida debido a los retrasos de las etapas de la tubería (bloques funcionales) no sincronizadas (sin embargo, aún pueden producirse congestiones y también se debe tener en cuenta el retraso de las puertas de entrada-salida [ 30 ] : 194 ). [ 26 ]
- Tampoco es necesario sincronizar los bloques funcionales. Si bien existen diferentes modelos de retardo (predicciones de los tiempos de retardo de las compuertas/cables), esto depende del enfoque real de implementación del circuito asíncrono. [ 30 ] : 194
- Liberación de las dificultades cada vez mayores que supone distribuir una señal de reloj con un alto factor de ramificación y sensible a la temporización.
- La velocidad del circuito se adapta a las condiciones cambiantes de temperatura y voltaje en lugar de estar fija a la velocidad impuesta por las suposiciones del peor caso. [ 3 ] : 3
- Menor consumo de energía bajo demanda; [ 7 ] : xiv [ 26 ] : 9 [ 3 ] : 3 consumo de energía en espera cero. [ 3 ] : 3 En 2005, Epson informó un consumo de energía un 70 % menor en comparación con el diseño síncrono. [ 31 ] Además, se pueden eliminar los controladores de reloj, lo que puede reducir significativamente el consumo de energía. Sin embargo, al usar ciertas codificaciones, los circuitos asíncronos pueden requerir más área, agregando una sobrecarga de energía similar si el proceso subyacente tiene propiedades de fuga deficientes (por ejemplo, procesos submicrométricos profundos utilizados antes de la introducción de dieléctricos de alta κ ).
- No es necesario igualar la potencia entre los dominios funcionales asíncronos locales de los circuitos. Los circuitos síncronos tienden a consumir una gran cantidad de corriente justo en el flanco del reloj y poco después. El número de nodos que conmutan (y, por lo tanto, la cantidad de corriente consumida) disminuye rápidamente después del flanco del reloj, llegando a cero justo antes del siguiente. En un circuito asíncrono, los tiempos de conmutación de los nodos no se correlacionan de esta manera, por lo que el consumo de corriente tiende a ser más uniforme y menos irregular.
- Robustez frente a la variabilidad transistor a transistor en el proceso de transferencia de fabricación (que es uno de los problemas más graves a los que se enfrenta la industria de semiconductores a medida que se reducen los chips), variaciones de la fuente de alimentación de voltaje, temperatura y parámetros del proceso de fabricación. [ 3 ] : 3
- Interferencia electromagnética (EMI) menos severa . [ 3 ] : 3 Los circuitos síncronos generan una gran cantidad de EMI en la banda de frecuencia igual o muy cercana a su frecuencia de reloj y sus armónicos; los circuitos asíncronos generan patrones de EMI mucho más uniformemente distribuidos en todo el espectro. [ 3 ] : 3
- Modularidad de diseño (reutilización), inmunidad mejorada al ruido y compatibilidad electromagnética. Los circuitos asíncronos son más tolerantes a las variaciones del proceso y a las fluctuaciones de voltaje externas. [ 3 ] : 4
Desventajas
- Sobrecarga de área causada por lógica adicional que implementa el protocolo de enlace. [ 3 ] : 4 En algunos casos, un diseño asíncrono puede requerir hasta el doble de recursos (área, velocidad del circuito, consumo de energía) que un diseño síncrono, debido a la adición de circuitos de detección de finalización y diseño para pruebas. [ 32 ] [ 3 ] : 4
- En comparación con un diseño síncrono, a finales de los 90 y principios de los 2000 no mucha gente estaba capacitada o tenía experiencia en el diseño de circuitos asíncronos. [ 32 ]
- Los diseños síncronos son inherentemente más fáciles de probar y depurar que los diseños asíncronos. [ 33 ] Sin embargo, esta postura es cuestionada por Fant, quien afirma que la aparente simplicidad de la lógica síncrona es un artefacto de los modelos matemáticos utilizados por los enfoques de diseño comunes. [ 17 ]
- En los diseños síncronos más convencionales, el control de reloj es una aproximación al ideal asíncrono y, en algunos casos, su simplicidad puede superar las ventajas de un diseño totalmente asíncrono.
- El rendimiento (velocidad) de los circuitos asíncronos puede verse reducido en arquitecturas que requieren completitud de entrada (ruta de datos más compleja). [ 34 ]
- Falta de herramientas EDA comerciales dedicadas y asíncronas centradas en el diseño . [ 34 ] Sin embargo, a partir de 2006 la situación estaba mejorando lentamente. [ 3 ] : x
Comunicación
Existen varias formas de crear canales de comunicación asíncronos que pueden clasificarse según su protocolo y codificación de datos.
Protocolos
Existen dos familias de protocolos ampliamente utilizadas que difieren en la forma en que se codifican las comunicaciones:
- Protocolo de dos fases (también conocido como protocolo de dos fases, codificación sin retorno a cero (NRZ) o señalización de transición): Las comunicaciones se representan mediante cualquier transición de cable; las transiciones de 0 a 1 y de 1 a 0 cuentan como comunicaciones.
- Protocolo de cuatro fases (también conocido como protocolo de cuatro fases o codificación de retorno a cero (RZ)): Las comunicaciones se representan mediante una transición de cable seguida de un reinicio; una secuencia de transición de 0 a 1 y de vuelta a 0 cuenta como una sola comunicación.

A pesar de implicar más transiciones por comunicación, los circuitos que implementan protocolos de cuatro fases suelen ser más rápidos y sencillos que los de dos fases, ya que las líneas de señal vuelven a su estado original al final de cada comunicación. En los protocolos de dos fases, las implementaciones del circuito tendrían que almacenar internamente el estado de la línea de señal.
Cabe señalar que estas distinciones básicas no abarcan la amplia variedad de protocolos. Estos protocolos pueden codificar únicamente las solicitudes y confirmaciones, o también los datos, lo que da lugar a la popular codificación de datos multihilo. Se han propuesto muchos otros protocolos menos comunes, como el uso de un solo hilo para la solicitud y la confirmación, el uso de varios voltajes significativos, el uso exclusivo de pulsos o el ajuste de la temporización para eliminar los pestillos.
Codificación de datos
En los circuitos asíncronos existen dos codificaciones de datos ampliamente utilizadas: la codificación de datos agrupados y la codificación multicanal.
Otra forma común de codificar los datos es usar varios cables para codificar un solo dígito: el valor viene determinado por el cable en el que se produce el evento. Esto evita algunas de las suposiciones sobre el retardo necesarias con la codificación de datos agrupados, ya que la solicitud y los datos ya no están separados.
Codificación de datos agrupados
La codificación de datos agrupados utiliza un cable por cada bit de datos, con una señal de solicitud y una de confirmación. Esta es la misma codificación que se usa en los circuitos síncronos, sin la restricción de que las transiciones ocurran en el flanco del reloj. La solicitud y la confirmación se envían por cables separados con uno de los protocolos mencionados. Estos circuitos suelen asumir un modelo de retardo limitado, con las señales de finalización retrasadas lo suficiente para que se realicen los cálculos.
En funcionamiento, el remitente indica la disponibilidad y validez de los datos mediante una solicitud. El receptor, a su vez, confirma la recepción con un acuse de recibo, lo que indica que puede procesar nuevas solicitudes. Es decir, la solicitud se adjunta a los datos, de ahí el nombre de "datos agrupados".
Los circuitos de datos agrupados suelen denominarse micropipelines, independientemente de si utilizan un protocolo de dos o cuatro fases, aunque el término se introdujo inicialmente para los datos agrupados de dos fases.

Codificación multiriel
La codificación multirraíl utiliza múltiples cables sin una relación uno a uno entre bits y cables, y requiere una señal de confirmación independiente. La disponibilidad de datos se indica mediante las transiciones en uno o más cables de datos (según el tipo de codificación multirraíl), en lugar de mediante una señal de solicitud como en la codificación de datos agrupados. Esto ofrece la ventaja de que la comunicación de datos es insensible a la latencia. Dos codificaciones multirraíl comunes son la one-hot y la dual-rail. La codificación one-hot (también conocida como 1 de n) representa un número en base n mediante una comunicación en uno de los n cables. La codificación dual-rail utiliza pares de cables para representar cada bit de los datos; un cable del par representa el bit 0 y el otro el bit 1. Por ejemplo, un número de dos bits codificado en dual-rail se representará con dos pares de cables, para un total de cuatro cables. Durante la comunicación de datos, se producen comunicaciones en uno de cada par de cables para indicar los bits de los datos. En el caso general, un mLa codificación n representa los datos como m palabras de base n.

Codificación de doble riel
La codificación de doble riel con un protocolo de cuatro fases es la más común y también se denomina codificación de tres estados , ya que tiene dos estados válidos (10 y 01, después de una transición) y un estado de reinicio (00). Otra codificación común, que resulta en una implementación más sencilla que la codificación de doble riel de dos fases con codificación one-hot, es la codificación de cuatro estados o codificación de doble riel por niveles, que utiliza un bit de datos y un bit de paridad para lograr un protocolo de dos fases.
CPU asíncrona
Las CPU asíncronas son una de las varias ideas para cambiar radicalmente el diseño de las CPU .
A diferencia de un procesador convencional, un procesador sin reloj (CPU asíncrona) no tiene un reloj central que coordine el flujo de datos a través de la tubería. En cambio, las etapas de la CPU se coordinan mediante dispositivos lógicos denominados "controladores de tubería" o "secuenciadores FIFO". Básicamente, el controlador de tubería activa la siguiente etapa lógica cuando la etapa actual se completa. De esta forma, no se necesita un reloj central. De hecho, puede resultar incluso más sencillo implementar dispositivos de alto rendimiento en lógica asíncrona, en comparación con la lógica síncrona.
- En una CPU asíncrona, los componentes pueden funcionar a diferentes velocidades; en una CPU con reloj, todos los componentes principales deben permanecer sincronizados con el reloj central.
- Una CPU tradicional no puede "ir más rápido" que el rendimiento esperado en el peor de los casos de la etapa, instrucción o componente más lento. Cuando una CPU asíncrona completa una operación más rápido de lo previsto, la siguiente etapa puede comenzar a procesar los resultados de inmediato, en lugar de esperar la sincronización con un reloj central. Una operación puede finalizar más rápido de lo normal debido a las características de los datos que se procesan (por ejemplo, la multiplicación puede ser muy rápida al multiplicar por 0 o 1, incluso al ejecutar código generado por un compilador simple), o debido a la presencia de una configuración de voltaje o velocidad de bus más alta, o una temperatura ambiente más baja de lo "normal" o esperado.
Los defensores de la lógica asíncrona creen que estas capacidades tendrían los siguientes beneficios:
- menor disipación de potencia para un nivel de rendimiento determinado, y
- las velocidades de ejecución más altas posibles.
La principal desventaja de la CPU sin reloj es que la mayoría de las herramientas de diseño de CPU asumen una CPU con reloj (es decir, un circuito síncrono ). Muchas herramientas "imponen prácticas de diseño síncrono". [ 35 ] Crear una CPU sin reloj (diseñar un circuito asíncrono) implica modificar las herramientas de diseño para manejar la lógica sin reloj y realizar pruebas adicionales para garantizar que el diseño evite problemas metaestables . El grupo que diseñó AMULET , por ejemplo, desarrolló una herramienta llamada LARD [ 36 ] para abordar el complejo diseño de AMULET3.
Ejemplos
A pesar de todas las dificultades, se han construido numerosas CPU asíncronas.
La ORDVAC de 1951 fue la sucesora de la ENIAC y la primera computadora asíncrona jamás construida. [ 37 ] [ 38 ]
El ILLIAC II fue el primer diseño de procesador completamente asíncrono e independiente de la velocidad jamás construido; era la computadora más potente de su época. [ 37 ]
Los módulos de transferencia de registros DEC PDP-16 (aprox. 1973) permitieron al experimentador construir elementos de procesamiento asíncronos de 16 bits. Los retardos de cada módulo eran fijos y se basaban en la temporización en el peor de los casos del módulo.
Caltech
Desde mediados de la década de 1980, Caltech ha diseñado cuatro CPU no comerciales en un intento por evaluar el rendimiento y la eficiencia energética de los circuitos asíncronos. [ 39 ] [ 40 ]
- Microprocesador asíncrono (CAM) de Caltech
En 1988, el microprocesador asíncrono de Caltech (CAM) fue el primer microprocesador asíncrono, cuasi insensible al retardo (QDI) fabricado por Caltech. [ 39 ] [ 41 ] El procesador tenía una arquitectura RISC ISA de 16 bits y memorias de instrucciones y datos separadas . [ 39 ] Fue fabricado por MOSIS y financiado por DARPA . El proyecto fue supervisado por la Oficina de Investigación Naval , la Oficina de Investigación del Ejército y la Oficina de Investigación Científica de la Fuerza Aérea . [ 39 ] : 12
Durante las demostraciones, los investigadores cargaron un programa sencillo que se ejecutaba en un bucle cerrado, activando una de las líneas de salida tras cada instrucción. Esta línea de salida estaba conectada a un osciloscopio. Al colocar una taza de café caliente sobre el chip, la frecuencia de pulsos (la "frecuencia de reloj" efectiva) disminuía de forma natural para adaptarse al deterioro del rendimiento de los transistores calentados. Al verter nitrógeno líquido sobre el chip, la frecuencia de instrucciones aumentaba considerablemente sin necesidad de intervención adicional. Además, a temperaturas más bajas, se podía aumentar de forma segura el voltaje suministrado al chip, lo que también mejoraba la frecuencia de instrucciones, de nuevo, sin configuración adicional.
Cuando se implementa en arseniuro de galio ( HGaAs3 ) Se afirmó que alcanzaba 100 MIPS. [ 39 ] : 5En general, el artículo de investigación interpretó el rendimiento resultante de CAM como superior en comparación con las alternativas comerciales disponibles en ese momento. [ 39 ] : 5
- MiniMIPS
En 1998 se creó el MiniMIPS, un microcontrolador experimental asíncrono basado en MIPS I. Aunque su rendimiento predicho por SPICE era de alrededor de 280 MIPS a 3,3 V, la implementación sufrió varios errores de diseño (errores humanos) y los resultados resultaron ser un 40 % inferiores (véase la tabla). [ 39 ] : 5
- El Lutonium 8051
Fabricado en 2003, era un microcontrolador asíncrono casi insensible al retardo, diseñado para la eficiencia energética. [ 40 ] [ 39 ] : 9 La implementación del microcontrolador siguió la arquitectura Harvard . [ 40 ]
Epson
En 2004, Epson fabricó el primer microprocesador flexible del mundo llamado ACT11, un chip asíncrono de 8 bits. [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] Los procesadores flexibles síncronos son más lentos, ya que doblar el material sobre el que se fabrica un chip provoca variaciones extremas e impredecibles en los retrasos de varios transistores, para los cuales se deben asumir los peores escenarios en todas partes y todo debe funcionar a la velocidad del peor caso. El procesador está destinado a ser utilizado en tarjetas inteligentes , cuyos chips actualmente están limitados en tamaño a aquellos lo suficientemente pequeños como para que puedan permanecer perfectamente rígidos.
IBM
En 2014, IBM anunció un chip desarrollado por SyNAPSE que funciona de manera asíncrona y cuenta con uno de los mayores recuentos de transistores jamás producidos. El chip de IBM consume mucha menos energía que los sistemas informáticos tradicionales en pruebas de reconocimiento de patrones. [ 47 ]
Cronología
- ORDVAC y el (idéntico) ILLIAC I (1951) [ 37 ] [ 38 ]
- Johnniac (1953) [ 48 ]
- WEIZAC (1955)
- Kiev (1958), una máquina soviética que utilizaba el lenguaje de programación con punteros mucho antes de que llegaran al lenguaje PL/1 [ 49 ].
- ILLIAC II (1962) [ 37 ]
- La Universidad Victoria de Manchester construyó Atlas (1964).
- Computadoras centrales ICL 1906A y 1906S, parte de la serie 1900 y vendidas desde 1964 durante más de una década por ICL [ 50 ].
- Ordenadores polacos KAR-65 y K-202 (1965 y 1970 respectivamente)
- CPU Honeywell 6180 (1972) [ 51 ] y Serie 60 Nivel 68 (1981) [ 52 ] [ 53 ] sobre las que Multics se ejecutaba de forma asíncrona
- Módulos de microprocesadores soviéticos de segmento de bits (finales de la década de 1970) [ 54 ] [ 55 ] producidos como K587, [ 56 ] K588 [ 57 ] y K1883 (U83x en Alemania Oriental) [ 58 ]
- Microprocesador asíncrono de Caltech, el primer microprocesador asíncrono del mundo (1988) [ 39 ] [ 41 ]
- ARM - Implementación de AMULET (1993 y 2000)
- Implementación asíncrona de MIPS R3000, denominada MiniMIPS (1998).
- Varias versiones del procesador XAP experimentaron con diferentes estilos de diseño asíncrono: un XAP de datos agrupados, un XAP 1 de 4 y un XAP 1 de 2 (doble carril) (2003?) [ 59 ]
- Procesador compatible con ARM (¿2003?) diseñado por ZC Yu, SB Furber y LA Plana; "diseñado específicamente para explorar los beneficios del diseño asíncrono para aplicaciones sensibles a la seguridad" [ 59 ]
- SAMIPS (2003), una implementación asíncrona sintetizable del procesador MIPS R3000 [ 60 ] [ 61 ]
- Procesador de "Arquitectura asíncrona basada en red" (2005) que ejecuta un subconjunto del conjunto de instrucciones de la arquitectura MIPS [ 59 ].
- Procesador ARM996HS (2006) de Handshake Solutions
- Procesador HT80C51 (¿2007?) de Handshake Solutions. [ 62 ]
- Vortex, una CPU superscalar de propósito general con una arquitectura de carga/almacenamiento de Intel (2007); [ 63 ] fue desarrollada como Fulcrum Microsystem test Chip 2 y no fue comercializada, excepto algunos de sus componentes; el chip incluía DDR SDRAM y una interfaz Ethernet de 10 Gb conectada a la CPU a través de una red de sistema en chip Nexus [ 63 ] [ 64 ]
- Procesador multinúcleo SEAforth (2008) de Charles H. Moore [ 65 ]
- GA144 [ 66 ] procesador multinúcleo (2010) de Charles H. Moore
- TAM16: núcleo IP de microcontrolador asíncrono de 16 bits (Tiempo) [ 67 ]
- Núcleo DLX asíncrono Aspida ; [ 68 ] el procesador DLX asíncrono de código abierto (ASPIDA) se ha implementado con éxito tanto en versiones ASIC como FPGA [ 69 ]
Véase también
- Lógica adiabática
- Cámara de eventos (cámara asíncrona)
- Control de reloj perfecto
- redes de Petri
- Lógica secuencial (asíncrona)
- Gráficos de transición de señales
- Transputer : Serie de microprocesadores pioneros de la década de 1980.
Notas
- ↑ Son posibles los circuitos globalmente asíncronos y localmente síncronos .
- ↑ También se utilizó Dhrystone . [ 39 ] : 4, 8
Referencias
- 1 2 Horowitz, Mark (2007). "Conferencia avanzada sobre diseño de circuitos VLSI" . Universidad de Stanford, Laboratorio de Sistemas Informáticos. Archivado del original el 21 de abril de 2016.
- ^ Staunstrup, Jørgen (1994). Un enfoque formal para el diseño de hardware . Boston, Massachusetts, Estados Unidos: Springer Estados Unidos. ISBN 978-1-4615-2764-0OCLC 852790160 .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Sparsø, Jens (abril de 2006). "Diseño de circuitos asíncronos: un tutorial" (PDF) . Universidad Técnica de Dinamarca.
- ↑ Nowick, SM; Singh, M. (mayo-junio de 2015). "Diseño asíncrono: parte 1: descripción general y avances recientes" (PDF) . IEEE Design & Test . 32 (3): 5–18 . doi : 10.1109/MDAT.2015.2413759 . S2CID 14644656. Archivado del original (PDF) el 21 de diciembre de 2018. Recuperado el 27 de agosto de 2019 .
- ↑ Nowick, SM; Singh, M. (mayo-junio de 2015). "Diseño asíncrono: parte 2: sistemas y metodologías" (PDF) . IEEE Design & Test . 32 (3): 19–28 . doi : 10.1109/MDAT.2015.2413757 . S2CID 16732793. Archivado del original (PDF) el 21 de diciembre de 2018. Consultado el 27 de agosto de 2019 .
- 1 2 3 4 5 6 "¿Por qué el diseño asíncrono?" . Galois, Inc . 15-07-2021 . Recuperado el 04-12-2021 .
- 1 2 3 4 5 Myers, Chris J. (2001). Diseño de circuitos asíncronos . Nueva York: J. Wiley & Sons. ISBN 0-471-46412-0OCLC 53227301
- ↑ Muller, DE (1955). Teoría de circuitos asíncronos, Informe n.º 66. Laboratorio de Computación Digital, Universidad de Illinois en Urbana-Champaign.
- ↑ Miller, Raymond E. (1965). Teoría de la conmutación, vol. II . Wiley.
- ↑ van Berkel, CH; Josephs, MB; Nowick, SM (febrero de 1999). "Aplicaciones de circuitos asíncronos" (PDF) . Actas del IEEE . 87 (2): 234– 242. doi : 10.1109/5.740016 . Archivado del original (PDF) el 3 de abril de 2018. Consultado el 27 de agosto de 2019 .
- ↑ Vasyukevich, Vadim O. (1984). "Whenjunction como operación lógica/dinámica. Definición, implementación y aplicaciones". Automatic Control and Computer Sciences . 18 (6): 68– 74.(Nota: En esta publicación, la función todavía se denominaba whenjunction en lugar de venjunction ).
- ↑ Vasyukevich, Vadim O. (1998). "Secuencias monótonas de conjuntos de datos binarios y su identificación mediante funciones venjuntivas". Control automático y ciencias de la computación . 32 (5): 49– 56.
- ↑ Vasyukevich, Vadim O. (abril de 2007). "Decodificación de secuencias asíncronas". Automatic Control and Computer Sciences . 41 (2). Allerton Press: 93– 99. doi : 10.3103/S0146411607020058 . ISSN 1558-108X . S2CID 21204394 .
- ↑ Vasyukevich, Vadim O. (2009). "Elementos lógicos asíncronos. Venjunción y secuencia" (PDF) . Archivado (PDF) del original el 22 de julio de 2011.(118 páginas)
- ↑ Vasyukevich, Vadim O. (2011). Escrito en Riga, Letonia. Operadores asíncronos de lógica secuencial: Venjunction y Sequention — Análisis y diseño de circuitos digitales . Lecture Notes in Electrical Engineering. Vol. 101 (1.ª ed.). Berlín/Heidelberg, Alemania: Springer-Verlag . doi : 10.1007/978-3-642-21611-4 . ISBN 978-3-642-21610-7ISSN 1876-1100 LCCN 2011929655 (xiii+1+123+7 páginas) (Nota: La contraportada de este libro indica erróneamente que es el volumen 4, cuando en realidad es el volumen 101).
- ↑ Fant, Karl M. (febrero de 2005). Diseño lógicamente determinado: diseño de sistemas sin reloj con lógica de convención nula (NCL) (1.ª ed.). Hoboken, Nueva Jersey, EE. UU.: Wiley-Interscience / John Wiley and Sons, Inc. ISBN 978-0-471-68478-7. LCCN 2004050923 . (xvi+292 páginas)
- 1 2 Fant, Karl M. (agosto de 2007). Computer Science Reconsidered: The Invocation Model of Process Expression (1.ª ed.). Hoboken, Nueva Jersey, EE. UU.: Wiley-Interscience / John Wiley and Sons, Inc. ISBN 978-0-471-79814-9LCCN 2006052821. Consultado el 23 de julio de 2023 . (xix+1+269 páginas)
- ↑ Smith, Scott C.; Di, Jia (2009). Diseño de circuitos asíncronos mediante lógica convencional nula (NCL) . Synthesis Lectures on Digital Circuits & Systems. Morgan & Claypool Publishers . págs. 61–73 . eISSN 1932-3174 . ISBN 978-1-59829-981-6ISSN 1932-3166 . Conferencia n.° 23 Smith , Scott C.; Di, Jia (2022) [2009-07-23]. Diseño de circuitos asíncronos mediante lógica convencional nula (NCL) . Synthesis Lectures on Digital Circuits & Systems. University of Arkansas , Arkansas, EE. UU.: Springer Nature Switzerland AG . doi : 10.1007/978-3-031-79800-9 . eISSN 1932-3174 . ISBN 978-3-031-79799-6ISSN 1932-3166 . Conferencia n .° 23. Consultado el 10 de septiembre de 2023 . (x+86+6 páginas)
- ↑ Smith, Scott C.; Di, Jia. "US 7,977,972 Diseño de circuito asíncrono multiumbral de ultrabajo consumo" . Recuperado el 12 de diciembre de 2011 .
- ↑ Rosenblum, L. Ya.; Yakovlev, AV (julio de 1985). "Grafos de señales: de auto-sincronizados a temporizados. Actas del Taller Internacional sobre Redes de Petri Temporizadas" (PDF) . Turín, Italia: IEEE CS Press. págs. 199–207 . Archivado (PDF) del original el 23 de octubre de 2003.
- ↑ Chu, T.-A. (1986-06-01). "Sobre los modelos para el diseño de sistemas digitales asíncronos VLSI" . Integration . 4 (2): 99– 113. doi : 10.1016/S0167-9260(86)80002-5 . ISSN 0167-9260 .
- ↑ Yakovlev, Alexandre; Lavagno, Luciano; Sangiovanni-Vincentelli, Alberto (1996-11-01). "Un modelo unificado de grafo de transición de señales para la síntesis de circuitos de control asíncronos" . Métodos formales en diseño de sistemas . 9 (3): 139– 188. doi : 10.1007/BF00122081 . ISSN 1572-8102 . S2CID 26970846 .
- ↑ Cortadella, J.; Kishinevsky, M.; Kondratyev, A.; Lavagno, L.; Yakovlev, A. (2002). Síntesis lógica para controladores e interfaces asíncronos . Springer Series in Advanced Microelectronics. Vol. 8. Berlín/Heidelberg, Alemania: Springer Berlin Heidelberg. doi : 10.1007/978-3-642-55989-1 . ISBN 978-3-642-62776-7.
- ↑ "Petrify: Publicaciones relacionadas" . www.cs.upc.edu . Consultado el 28 de julio de 2021 .
- ↑ "start - Workcraft" . workcraft.org . Consultado el 28 de julio de 2021 .
- 1 2 3 Nowick, SM; Singh, M. (septiembre-octubre de 2011). "Pipelines asíncronos de alto rendimiento: una descripción general" (PDF) . IEEE Design & Test of Computers . 28 (5): 8– 22. Bibcode : 2011IDTC...28....8N . doi : 10.1109/mdt.2011.71 . S2CID 6515750. Archivado del original (PDF) el 21 de abril de 2021. Recuperado el 27 de agosto de 2019 .
- ↑ Nowick, SM; Yun, KY; Beerel, PA; Dooply, AE (marzo de 1997). «Completación especulativa para el diseño de sumadores dinámicos asíncronos de alto rendimiento» (PDF) . Actas del Tercer Simposio Internacional sobre Investigación Avanzada en Circuitos y Sistemas Asíncronos . págs. 210–223 . doi : 10.1109/ASYNC.1997.587176 . ISBN 0-8186-7922-0. S2CID 1098994 . Archivado del original (PDF) el 21-04-2021 . Recuperado el 27-08-2019 .
- ↑ Nowick, SM (septiembre de 1996). "Diseño de un sumador asíncrono de baja latencia mediante compleción especulativa" (PDF) . IEE Proceedings - Computers and Digital Techniques . 143 (5): 301–307 . doi : 10.1049/ip-cdt:19960704 (inactivo 11-07-2025). Archivado del original (PDF) el 22-04-2021 . Recuperado el 27-08-2019 .
{{cite journal}}: CS1 maint: DOI inactivo desde julio de 2025 ( enlace ) - ↑ Sheikh, B.; Manohar, R. (mayo de 2010). "Un sumador de punto flotante de doble precisión IEEE 754 asíncrono optimizado para operandos" (PDF) . Actas del Simposio Internacional IEEE sobre Circuitos y Sistemas Asíncronos ("Async") : 151–162 . Archivado del original (PDF) el 21 de abril de 2021. Consultado el 27 de agosto de 2019 .
- 1 2 Sasao, Tsutomu (1993). Síntesis y optimización lógica . Boston, Massachusetts, EE. UU.: Springer USA. ISBN 978-1-4615-3154-8OCLC 852788081
- ↑ "Epson desarrolla el primer microprocesador asíncrono flexible de 8 bits del mundo" 2005
- 1 2 Furber, Steve. "Principios del diseño de circuitos asíncronos" (PDF) . Pág. 232. Archivado del original (PDF) el 26 de abril de 2012. Recuperado el 13 de diciembre de 2011 .
- ↑ "Manténgalo estrictamente síncrono: ¡Diga adiós a los problemas de lógica asíncrona!". Personal Engineering and Instrumentation News, noviembre de 1997, páginas 53-55. http://www.fpga-site.com/kiss.html
- 1 2 van Leeuwen, TM (2010). Implementación y generación automática de un grafo de flujo de datos programado asíncrono . Delft.
- ↑ Kruger, Robert (15 de marzo de 2005). "¡Televisión de realidad para ingenieros de diseño de FPGA!" . eetimes.com . Consultado el 11 de noviembre de 2020 .
- ↑ LARD Archivado el 6 de marzo de 2005 en Wayback Machine
- 1 2 3 4 "En las décadas de 1950 y 1960, el diseño asíncrono se utilizó en muchas de las primeras computadoras centrales, incluidas la ILLIAC I y la ILLIAC II..." Breve historia del diseño de circuitos asíncronos
- 1 2 "El Illiac es una computadora asíncrona paralela binaria en la que los números negativos se representan como complementos a dos." – resumen final de "Técnicas de diseño del Illiac" 1955.
- 1 2 3 4 5 6 7 8 9 10 Martin, AJ; Nystrom, M.; Wong, CG (noviembre de 2003). "Tres generaciones de microprocesadores asíncronos". IEEE Design & Test of Computers . 20 (6): 9– 17. Bibcode : 2003IDTC...20....9M . doi : 10.1109/MDT.2003.1246159 . ISSN 0740-7475 . S2CID 15164301 .
- 1 2 3 Martin, AJ; Nystrom, M.; Papadantonakis, K.; Penzes, PI; Prakash, P.; Wong, CG; Chang, J.; Ko, KS; Lee, B.; Ou, E.; Pugh, J. (2003). "The Lutonium: A sub-nanojoule asynchronous 8051 microcontroller" . Noveno Simposio Internacional sobre Circuitos y Sistemas Asíncronos, 2003. Actas (PDF) . Vancouver, BC, Canadá: IEEE Comput. Soc. pp. 14–23 . doi : 10.1109/ASYNC.2003.1199162 . ISBN 978-0-7695-1898-5. S2CID 13866418 .
- 1 2 Martin, Alain J. (2014-02-06). "Hace 25 años: El primer microprocesador asíncrono" . Informes técnicos de informática. Instituto Tecnológico de California. doi : 10.7907/Z9QR4V3H .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ "Seiko Epson presenta un procesador flexible mediante tecnología TFT" Archivado el 1 de febrero de 2010 en Wayback Machine por Mark LaPedus 2005
- ↑ "Un microprocesador asíncrono flexible de 8 bits basado en tecnología TFT de polisilicio de baja temperatura" por Karaki et al. 2005. Resumen: "Un microprocesador asíncrono flexible de 8 bits ACTII... El nivel de potencia es el 30% de su contraparte síncrona."
- ↑ "Introducción a las actividades de I+D de TFT en Seiko Epson Corporation" de Tatsuya Shimoda (¿2005?) tiene una imagen de "Un microprocesador asíncrono flexible de 8 bits, ACT11".
- ↑ "Epson desarrolla el primer microprocesador asíncrono flexible de 8 bits del mundo"
- ↑ "Seiko Epson detalla microprocesador flexible: hojas A4 de papel electrónico en desarrollo" por Paul Kallender 2005
- ↑ "El programa SyNAPSE desarrolla un chip avanzado inspirado en el cerebro". Archivado el 10 de agosto de 2014 en Wayback Machine . 7 de agosto de 2014.
- ↑ Historia de Johnniac escrita en 1968
- ↑ VM Glushkov y EL Yushchenko. Descripción matemática de la computadora "Kiev". RSS de Ucrania, 1962 (en ruso).
- ↑ "Resurrección de la Computación Número 18" .
- ↑ "Completamente asíncrono, sus más de cien placas enviaban solicitudes, reservaban los resultados para otro, robaban señales o datos de otros y se atacaban entre sí de maneras curiosas que a veces fallaban (el temporizador de "operación no completada" se activaba y provocaba un fallo). ... No había ni rastro de una estrategia de sincronización organizada: varios pulsos de "ya está listo", "vale, adelante", "toma un ciclo" simplemente recorrían el vasto panel trasero, se combinaban con el estado apropiado y activaban el siguiente. Esta tecnología aparentemente improvisada, con sus encantos, facilitaba un grado considerable de solapamiento... así como la [segmentación y paginación] del mecanismo de direcciones Multics a la arquitectura 6000 existente de una manera ingeniosa, modular y sorprendente... Sin embargo, la modificación y depuración del procesador no era nada divertida." "Glosario Multics: ... 6180"
- ↑ "10/81 ... DPS 8/70M CPUs" Cronología de Multics
- ↑ "La Serie 60, Nivel 68 era simplemente un reempaquetado del 6180." Características de hardware de Multics: Serie 60, Nivel 68
- ↑ AA Vasenkov, VL Dshkhunian, PR Mashevich, PV Nesterov, VV Telenkov, Ju. E. Chicherin, DI Juditsky, "Sistema informático con microprocesador", patente US4124890, 7 de noviembre de 1978
- ↑ Capítulo 4.5.3 de la biografía de D.I. Juditsky (en ruso)
- ↑ "Serie 587 - Colección de chips de la ex URSS" . Archivado del original el 17 de julio de 2015. Consultado el 16 de julio de 2015 .
- ↑ "Serie 588 - Colección de chips de la ex URSS" . Archivado del original el 17 de julio de 2015. Consultado el 16 de julio de 2015 .
- ↑ "Serie 1883/U830 - Colección de chips de la ex URSS" . Archivado del original el 22 de julio de 2015. Consultado el 19 de julio de 2015 .
- 1 2 3 "Una arquitectura asíncrona basada en red para dispositivos criptográficos" por Ljiljana Spadavecchia 2005 en la sección "4.10.2 Análisis de canal lateral de arquitecturas asíncronas de doble carril" y la sección "5.5.5.1 Conjunto de instrucciones"
- ↑ Zhang, Qianyi; Theodoropoulos, Georgios (2024). "SAMIPS: Un procesador asíncrono sintetizado". arXiv : 2409.20388 [ cs.AR ].
- ↑ Zhang, Qianyi; Theodoropoulos, Georgios (2003). "Hacia un procesador MIPS asíncrono" . En Omondi, Amos; Sedukhin, Stanislav (eds.). Avances en la arquitectura de sistemas informáticos . Notas de clase en ciencias de la computación. Berlín, Heidelberg: Springer. pp. 137–150 . doi : 10.1007/978-3-540-39864-6_12 . ISBN 978-3-540-39864-6.
- ↑ "Handshake Solutions HT80C51" "El Handshake Solutions HT80C51 es una implementación asíncrona de bajo consumo del 80C51 que utiliza tecnología de protocolo de enlace, compatible con el conjunto de instrucciones estándar del 8051."
- 1 2 Lines, Andrew (marzo de 2007). "The Vortex: un procesador asíncrono superescalar". XIII Simposio Internacional IEEE sobre Circuitos y Sistemas Asíncronos (ASYNC'07) . págs. 39–48 . doi : 10.1109/ASYNC.2007.28 . ISBN 978-0-7695-2771-0. S2CID 33189213 .
- ↑ Lines, A. (2003). "Nexus: Una interconexión de barra cruzada asíncrona para diseños de sistemas en chip síncronos". 11.º Simposio sobre Interconexiones de Alto Rendimiento, 2003. Actas . Stanford, CA, EE. UU.: IEEE Comput. Soc. pp. 2–9 . doi : 10.1109/CONECT.2003.1231470 . ISBN 978-0-7695-2012-4. S2CID 1799204 .
- ↑ Resumen de SEAforth Archivado el 2 de febrero de 2008 en Wayback Machine "... diseño de circuito asíncrono en todo el chip. No hay un reloj central con miles de millones de nodos tontos que disipan energía inútil. ... los núcleos del procesador son internamente asíncronos."
- ↑ "GreenArrayChips" "Chips multiordenador de ultrabajo consumo con periféricos integrados."
- ↑ Tiempo: IP central asíncrona TAM16
- ↑ "ASPIDA sync/async DLX Core" . OpenCores.org . Consultado el 5 de septiembre de 2014 .
- ↑ "Procesador DLX asíncrono de código abierto (ASPIDA)" .
Lecturas adicionales
- TiDE , de Handshake Solutions en los Países Bajos, es una herramienta comercial para el diseño de circuitos asíncronos. Está disponible para microcontroladores asíncronos ARM (ARM996HS) y 8051 (HT80C51).
- Introducción al diseño de circuitos asíncronos. Archivado el 23 de junio de 2010 en Wayback Machine por Davis y Nowick.
- La lógica de convención nula , un estilo de diseño pionero de Theseus Logic, que ha fabricado más de 20 ASIC basados en sus núcleos de microcontroladores NCL08 y NCL8501.
- El estado del diseño asíncrono en el programa de Tecnologías de la Sociedad de la Información (IST) de la industria, IST-1999-29119, DA Edwards WB Toms, junio de 2004, a través de www.scism.lsbu.ac.uk
- El Red Star es una versión del MIPS R3000 implementada en lógica asíncrona.
- Los microprocesadores Amulet eran ARM asíncronos, construidos en la década de 1990 en la Universidad de Manchester , Inglaterra.
- El procesador asíncrono MIPS R3000 sintetizado por SAMIPS .
- El protocolo N, desarrollado por Navarre AsyncArt, es la primera metodología de diseño asíncrono comercial para FPGA convencionales.
- PGPSALM es una implementación asíncrona del microprocesador 6502.
- Página principal del Grupo Async de Caltech
- Tiempo : empresa francesa que proporciona herramientas de diseño y propiedad intelectual asíncronas.
- Comunicado de prensa sobre la CPU flexible Epson ACT11
- Página del Grupo Async de Newcastle upon Tyne
Enlaces externos
Contenido multimedia relacionado con circuitos asíncronos en Wikimedia Commons.
- Autómatas (computación)
- señal de reloj