En la electrónica digital , un circuito asíncrono , sin reloj o con temporizador automático, es un circuito lógico digital secuencial que no está gobernado por un circuito de reloj o una señal de reloj global . En su lugar, a menudo utiliza señales que indican la finalización de instrucciones y operaciones, especificadas por protocolos simples de transferencia de datos . Este tipo de circuito se contrasta con los circuitos síncronos , en los que los cambios en los valores de la señal en el circuito se activan mediante pulsos repetitivos llamados 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 más rápidos y también pueden tener ventajas en un menor consumo de energía, menor interferencia electromagnética y mejor modularidad en sistemas grandes. Los circuitos asincrónicos son un área activa de investigación en el diseño de lógica digital . [1] [2]
Lógica síncrona vs asíncrona
Los circuitos lógicos digitales se pueden dividir en lógica combinacional , en la que las señales de salida dependen solo 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 pasadas. 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 asincrónica.
- En los circuitos lógicos síncronos, un oscilador electrónico genera una serie repetitiva de pulsos igualmente espaciados denominada señal de reloj . La señal de reloj se aplica a todos los elementos de memoria del circuito, llamados flip-flops . La salida de los flip-flops solo cambia cuando se activa por el borde del pulso del reloj, por lo que los cambios en las señales lógicas en todo el circuito comienzan al mismo tiempo, a intervalos regulares sincronizados por el reloj. La salida de todos los elementos de memoria en un circuito se llama estado del circuito. El estado de un circuito síncrono cambia solo en el pulso del reloj. Los cambios en la señal requieren una cierta cantidad de tiempo para propagarse a través de las puertas lógicas combinacionales del circuito. A esto se le llama retardo de propagación . El período de la señal de reloj se hace lo suficientemente largo para que la salida de todas las puertas lógicas tenga tiempo de establecerse en valores estables antes del siguiente pulso de reloj. Siempre que se cumpla esta condición, los circuitos síncronos funcionarán de manera estable, por lo que son fáciles de diseñar.
- Sin embargo, una desventaja de los circuitos síncronos es que pueden ser lentos. La máxima frecuencia de reloj posible está determinada por la ruta lógica con el retardo de propagación más largo, denominada ruta crítica . Por lo tanto, las rutas lógicas que completan sus operaciones rápidamente están inactivas la mayor parte del tiempo. Otro problema es que la señal de reloj ampliamente distribuida consume mucha energía y debe funcionar tanto si el circuito está recibiendo entradas como si no.
- En los circuitos asíncronos, no hay señal de reloj y el estado del circuito cambia tan pronto como cambian las entradas. Dado que los circuitos asíncronos no tienen que esperar a que un pulso de reloj comience a procesar las entradas, pueden ser más rápidos que los circuitos síncronos, y su velocidad está teóricamente limitada solo por los retrasos de propagación de las puertas lógicas. Sin embargo, los circuitos asíncronos son más difíciles de diseñar y están sujetos a 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 puertas. Si las transiciones en dos entradas llegan casi al mismo tiempo, el circuito puede entrar en un estado incorrecto dependiendo de ligeras diferencias en los retardos de propagación de las puertas. A esto se le llama condición de carrera . En los circuitos síncronos, este problema es menos severo porque las condiciones de carrera solo pueden ocurrir debido a entradas externas al sistema síncrono, llamadas entradas asíncronas . Aunque se han construido algunos sistemas digitales totalmente asíncronos (ver más abajo), hoy en día los circuitos asíncronos se usan típicamente en algunas partes críticas de sistemas que de otro modo serían síncronos donde la velocidad es escasa, como los circuitos de procesamiento de señales.
Fundamento teórico
El término lógica asíncrona se utiliza para describir una variedad de estilos de diseño, que utilizan diferentes supuestos sobre las propiedades del circuito. [3] Estos varían desde el modelo de retardo agrupado , que utiliza elementos de procesamiento de datos "convencionales" con finalización indicada por un modelo de retardo generado localmente, hasta el diseño insensible al retardo , donde se pueden acomodar retardos arbitrarios a través de elementos de circuito. El último estilo tiende a producir circuitos que son más grandes que las implementaciones de datos agrupados, pero que son insensibles al diseño y las variaciones paramétricas y, por lo tanto, son "correctos por diseño".
La lógica asíncrona es la lógica necesaria para el diseño de sistemas digitales asíncronos. Estos funcionan sin una señal de reloj y, por lo tanto, no se puede confiar en que los elementos lógicos individuales tengan un estado discreto de verdadero / falso en un momento dado. La lógica booleana (de dos valores) es inadecuada para esto, por lo que se requieren extensiones. Karl Fant desarrolló un tratamiento teórico de esto en su trabajo Diseño lógicamente determinado en 2005 que utilizó la lógica de cuatro valores siendo nulo e intermedio los valores adicionales. Esta arquitectura es importante porque es casi insensible al retraso . [4] Scott Smith y Jia Di desarrollaron una variación de potencia ultrabaja de la lógica de convención nula de Fant que incorpora CMOS de varios umbrales . [5] Esta variación se denomina lógica de convención nula de varios umbrales (MTNCL) o, alternativamente, lógica de convención de sueño (SCL). [6] Vadim Vasyukevich desarrolló un enfoque diferente basado en una nueva operación lógica que llamó venjunction . Esto tiene en cuenta no solo el valor actual de un elemento, sino también su historial. [7]
Las redes de Petri son un modelo atractivo y poderoso para razonar sobre circuitos asincrónicos. Sin embargo, las redes de Petri han sido criticadas por su falta de realismo físico (ver Red de Petri: Modelos posteriores de concurrencia ). Posteriormente a las redes de Petri, se han desarrollado otros modelos de concurrencia que pueden modelar circuitos asincrónicos, incluido el modelo Actor y los cálculos de procesos .
Beneficios
Se han demostrado una variedad de ventajas mediante los circuitos asincrónicos, incluidos los circuitos casi insensibles al retardo (QDI) (generalmente aceptados como la forma más "pura" de lógica asincrónica que conserva la universalidad computacional) y formas menos puras de circuitos asincrónicos que utilizan limitaciones de tiempo para un mayor rendimiento y menor área y potencia:
- Manejo robusto de la metaestabilidad de árbitros .
- Unidades de función de mayor rendimiento, que proporcionan finalización de caso medio (es decir, dependiente de los datos) en lugar de finalización del peor caso. Los ejemplos incluyen la terminación especulativa [8] [9] que se ha aplicado para diseñar sumadores de prefijos paralelos más rápidos que los síncronos, y un sumador de punto flotante de doble precisión y alto rendimiento [10] que supera a los principales diseños síncronos.
- Finalización anticipada de un circuito cuando se sabe que las entradas que aún no han llegado son irrelevantes.
- Menor consumo de energía porque ningún transistor cambia a menos que esté realizando cálculos útiles. Epson ha informado de un 70% menos de consumo de energía en comparación con el diseño síncrono. [11] Además, los controladores de reloj se pueden eliminar, lo que puede reducir significativamente el consumo de energía. Sin embargo, cuando se utilizan ciertas codificaciones, los circuitos asíncronos pueden requerir más área, lo que puede resultar en un mayor consumo de energía si el proceso subyacente tiene malas propiedades de fuga (por ejemplo, procesos submicrométricos profundos utilizados antes de la introducción de dieléctricos de alto κ ).
- Tuberías "elásticas" , que logran un alto rendimiento mientras manejan con gracia tasas de entrada y salida variables y retrasos no coincidentes en la etapa de la tubería. [12]
- Libertad de las dificultades cada vez mayores de distribuir una señal de reloj sensible a la sincronización y con un gran abanico de distribución .
- Mejor modularidad y componibilidad.
- Se requieren muchos menos supuestos sobre el proceso de fabricación (la mayoría de los supuestos son supuestos de tiempo).
- La velocidad del circuito se adapta a las condiciones cambiantes de temperatura y voltaje en lugar de bloquearse a la velocidad exigida por las suposiciones del peor de los casos.
- Inmunidad a la variabilidad de transistor a transistor en el proceso de fabricación, que es uno de los problemas más serios que enfrenta la industria de los semiconductores a medida que las matrices se encogen.
- Interferencia electromagnética (EMI) menos severa . Los circuitos síncronos crean una gran cantidad de EMI en la banda de frecuencia en (o muy cerca) de su frecuencia de reloj y sus armónicos; Los circuitos asincrónicos generan patrones EMI que se distribuyen mucho más uniformemente en todo el espectro.
- En los circuitos asíncronos, la señalización local elimina la necesidad de una sincronización global que explota algunas ventajas potenciales en comparación con los síncronos. Han mostrado especificaciones potenciales en bajo consumo de energía, reutilización del diseño, inmunidad mejorada al ruido y compatibilidad electromagnética. Los circuitos asíncronos son más tolerantes a las variaciones de proceso y las fluctuaciones de voltaje externas.
- Menos estrés en la red de distribución de energía. Los circuitos síncronos tienden a consumir una gran cantidad de corriente justo en el borde del reloj y poco después. El número de nodos que cambian (y de ahí, la cantidad de corriente consumida) cae rápidamente después del borde del reloj, llegando a cero justo antes del siguiente borde del reloj. En un circuito asíncrono, los tiempos de conmutación de los nodos no están correlacionados de esta manera, por lo que el consumo de corriente tiende a ser más uniforme y con menos ráfagas.
Desventajas
- Sobrecarga de área causada por un aumento en el número de elementos del circuito (transistores). En algunos casos, un diseño asíncrono puede requerir hasta el doble de recursos que un diseño síncrono, debido a la adición de circuitos de detección de terminación y diseño para prueba. [13]
- Menos personas están capacitadas en este estilo en comparación con el diseño sincrónico. [13]
- Los diseños síncronos son intrínsecamente más fáciles de probar y depurar que los diseños asíncronos. [14] Sin embargo, esta posición es disputada por Fant, quien afirma que la aparente simplicidad de la lógica sincrónica es un artefacto de los modelos matemáticos utilizados por los enfoques de diseño comunes. [15]
- La compuerta de reloj en diseños sincrónicos más convencionales es una aproximación del ideal asincrónico y, en algunos casos, su simplicidad puede superar las ventajas de un diseño totalmente asincrónico.
- El rendimiento (velocidad) de los circuitos asíncronos puede reducirse en arquitecturas que requieren una entrada completa (ruta de datos más compleja). [dieciséis]
- Falta de herramientas de EDA comerciales dedicadas y asincrónicas centradas en el diseño . [dieciséis]
Comunicación
Hay varias formas de crear canales de comunicación asíncronos que se pueden clasificar por su protocolo y codificación de datos.
Protocolos
Hay dos familias de protocolos ampliamente utilizadas que difieren en la forma en que se codifican las comunicaciones:
- Apretón de manos 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 están representadas por cualquier transición de cable; las transiciones de 0 a 1 y de 1 a 0 cuentan como comunicaciones.
- Apretón de manos de cuatro fases (también conocido como protocolo de cuatro fases o codificación de retorno a cero (RZ)): las comunicaciones están representadas por una transición de cable seguida de un reinicio; una secuencia de transición de 0 a 1 y de nuevo a 0 cuenta como comunicación única.
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 protocolos de dos fases porque las líneas de señal vuelven a su estado original al final de cada comunicación. En protocolos de dos fases, las implementaciones de circuito tendrían que almacenar el estado de la línea de señal internamente.
Tenga en cuenta que estas distinciones básicas no tienen en cuenta la amplia variedad de protocolos. Estos protocolos pueden codificar solo solicitudes y reconocimientos o también codificar los datos, lo que conduce a la popular codificación de datos de múltiples cables. Se han propuesto muchos otros protocolos menos comunes, incluido el uso de un solo cable para la solicitud y el reconocimiento, el uso de varios voltajes significativos, el uso solo de pulsos o tiempos de equilibrio para eliminar los pestillos.
Codificación de datos
Hay dos codificaciones de datos ampliamente utilizadas en circuitos asíncronos: codificación de datos agrupados y codificación multirraíl
Otra forma común de codificar los datos es usar varios cables para codificar un solo dígito: el valor lo determina el cable en el que ocurre el evento. Esto evita algunos de los supuestos de demora necesarios con la codificación de datos agrupados, ya que la solicitud y los datos ya no están separados.
Codificación de datos empaquetados
La codificación de datos agrupados utiliza un cable por bit de datos con una solicitud y una señal de reconocimiento; esta es la misma codificación que se usa en circuitos síncronos sin la restricción de que las transiciones ocurren en un borde de reloj. La solicitud y el acuse de recibo se envían por cables separados con uno de los protocolos anteriores. Estos circuitos generalmente asumen un modelo de retardo acotado con las señales de finalización retardadas lo suficiente para que se lleven a cabo los cálculos.
En funcionamiento, el remitente señala la disponibilidad y validez de los datos con una solicitud. El receptor luego indica la finalización con un acuse de recibo, lo que indica que puede procesar nuevas solicitudes. Es decir, la solicitud está empaquetada con los datos, de ahí el nombre "datos empaquetados".
Los circuitos de datos empaquetados se denominan a menudo micropipelines , ya sea que utilicen un protocolo de dos o cuatro fases, incluso si el término se introdujo inicialmente para datos empaquetados de dos fases.
Codificación multirraíl
La codificación de riel múltiple utiliza varios cables sin una relación uno a uno entre bits y cables y una señal de reconocimiento separada. La disponibilidad de datos se indica mediante las transiciones en sí mismas en uno o más de los cables de datos (según el tipo de codificación de múltiples carriles) en lugar de con una señal de solicitud como en la codificación de datos agrupados. Esto proporciona la ventaja de que la comunicación de datos es insensible a los retrasos. Dos codificaciones comunes de riel múltiple son un riel en caliente y un riel doble. La codificación one-hot (también conocida como 1 de n) representa un número en base n con una comunicación en uno de los n cables. La codificación de doble carril utiliza pares de cables para representar cada bit de los datos, de ahí el nombre "doble carril"; un cable del par representa el valor de bit de 0 y el otro representa el valor de bit de 1. Por ejemplo, un número de dos bits codificado de doble carril se representará con dos pares de cables para cuatro cables en total. Durante una comunicación de datos, las comunicaciones ocurren en uno de cada par de cables para indicar los bits de los datos. En el caso general, una m La codificación n representa datos como m palabras de base n.
La codificación de doble carril con un protocolo de cuatro fases es la más común y también se llama 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 conduce a una implementación más simple que la de un carril dual de dos fases y una conexión en caliente, es la codificación de cuatro estados o de doble carril con codificación de nivel, y utiliza un bit de datos y un bit de paridad para lograr una codificación de dos fases. protocolo.
CPU asincrónica
Las CPU asincrónicas son una de varias ideas para cambiar radicalmente el diseño de la CPU .
A diferencia de un procesador convencional, un procesador sin reloj (CPU asíncrona) no tiene un reloj central para coordinar el progreso de los datos a través de la canalización. En cambio, las etapas de la CPU se coordinan mediante dispositivos lógicos denominados "controles de canalización" o "secuenciadores FIFO". Básicamente, el controlador de la tubería registra la siguiente etapa de la lógica cuando se completa la etapa existente. De esta forma, un reloj central es innecesario. En realidad, puede ser incluso más fácil implementar dispositivos de alto rendimiento en lógica asíncrona, en lugar de sincronizada:
- los componentes pueden funcionar a diferentes velocidades en una CPU asíncrona; todos los componentes principales de una CPU sincronizada 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 / componente más lento. Cuando una CPU asincrónica completa una operación más rápido de lo previsto, la siguiente etapa puede comenzar a procesar los resultados inmediatamente, en lugar de esperar la sincronización con un reloj central. Una operación puede terminar más rápido de lo normal debido a los atributos de los datos que se están procesando (por ejemplo, la multiplicación puede ser muy rápida cuando se multiplica por 0 o 1, incluso cuando se ejecuta código producido por un compilador ingenuo), o debido a la presencia de un voltaje más alto. o el ajuste de la velocidad del autobús, o una temperatura ambiente más baja de lo "normal" o esperado.
Los defensores de la lógica asincrónica creen que estas capacidades tendrían estos beneficios:
- Disipación de potencia más baja para un nivel de rendimiento dado, y
- velocidades de ejecución más altas posibles.
La mayor desventaja de la CPU sin reloj es que la mayoría de las herramientas de diseño de CPU asumen una CPU sincronizada (es decir, un circuito síncrono ). Muchas herramientas "imponen prácticas de diseño sincrónico". [17] Hacer una CPU sin reloj (diseñar un circuito asincrónico) implica modificar las herramientas de diseño para manejar la lógica sin reloj y hacer pruebas adicionales para asegurar que el diseño evite problemas metaestables . El grupo que diseñó el AMULET , por ejemplo, desarrolló una herramienta llamada LARD [18] para hacer frente al complejo diseño de AMULET3.
A pesar de la dificultad de hacerlo, se han construido numerosas CPU asincrónicas, que incluyen:
- la ORDVAC y la (idéntica) ILLIAC I (1951) [19] [20]
- el Johnniac (1953) [21]
- el WEIZAC (1955)
- el Kiev (1958). Una máquina soviética que usa el lenguaje de programación con punteros mucho antes de que llegaran al lenguaje PL / 1.
[22]
- el ILLIAC II (1962) [19]
- La Universidad Victoria de Manchester construyó Atlas (1964)
- Las computadoras centrales ICL 1906A y 1906S, parte de la serie 1900 y vendidas desde 1964 durante más de una década por ICL [23]
- Computadoras polacas KAR-65 y K-202 (1965 y 1970 respectivamente)
- Las CPU de Honeywell 6180 (1972) [24] y Series 60 Level 68 (1981) [25] [26] en las que Multics se ejecuta de forma asincrónica
- Módulos de microprocesador de trozos de bits soviéticos (finales de la década de 1970) [27] [28] producidos como К587, [29] К588 [30] y К1883 (U83x en Alemania Oriental) [31]
- El microprocesador asíncrono de Caltech, el primer microprocesador asíncrono del mundo (1988);
- el AMULET que implementa ARM (1993 y 2000);
- la implementación asincrónica de MIPS R3000, denominada MiniMIPS (1998);
- varias versiones del procesador XAP experimentaron con diferentes estilos de diseño asincrónico: un paquete de datos XAP, un 1 de 4 XAP y un 1 de 2 (doble carril) XAP (2003?); [32]
- un 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 asincrónico para aplicaciones sensibles a la seguridad"; [32]
- el procesador de "Arquitectura asincrónica basada en red" (2005) que ejecuta un subconjunto del conjunto de instrucciones de la arquitectura MIPS ; [32]
- el procesador ARM996HS (2006) de Handshake Solutions
- el procesador HT80C51 (2007?) de Handshake Solutions [33]
- el procesador multinúcleo SEAforth (2008) de Charles H. Moore . [34]
- el GA144 [35] multi-núcleo procesador (2010) de Charles H. Moore .
- TAM16: Núcleo IP de microcontrolador asíncrono de 16 bits (Tiempo) [36]
- el núcleo DLX asíncrono de Aspida [37] El procesador DLX asíncrono de código abierto (ASPIDA) se ha implementado con éxito tanto en versiones ASIC como FPGA. [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 poderosa en ese momento. [19]
Los módulos de transferencia de registros DEC PDP-16 (ca. 1973) permitieron al experimentador construir elementos de procesamiento asíncronos de 16 bits. Los retrasos para cada módulo se corrigieron y se basaron en el peor momento del módulo.
El Caltech Asynchronous Microprocessor (1988) fue el primer microprocesador asincrónico (1988). Caltech diseñó y fabricó el primer procesador del mundo totalmente insensible al retardo casi total . [ cita requerida ] Durante las demostraciones, los investigadores cargaron un programa simple que se ejecutaba en un circuito cerrado, pulsando una de las líneas de salida después de cada instrucción. Esta línea de salida estaba conectada a un osciloscopio. Cuando se colocó una taza de café caliente en el chip, la frecuencia del pulso (la "frecuencia de reloj" efectiva) disminuyó naturalmente para adaptarse al empeoramiento del rendimiento de los transistores calentados. Cuando se vertió nitrógeno líquido en el chip, la tasa de instrucción se disparó sin intervención adicional. Además, a temperaturas más bajas, el voltaje suministrado al chip podría aumentarse de manera segura, lo que también mejoró la tasa de instrucción, nuevamente, sin configuración adicional.
En 2004, Epson fabricó el primer microprocesador flexible del mundo llamado ACT11, un chip asíncrono de 8 bits. [39] [40] [41] [42] [43] Los procesadores flexibles síncronos son más lentos, ya que doblar el material en el que se fabrica un chip provoca variaciones salvajes e impredecibles en los retrasos de varios transistores, por lo que los peores escenarios deben debe asumirse en todas partes y todo debe sincronizarse a la velocidad del peor de los casos. El procesador está pensado para su uso en tarjetas inteligentes , cuyos chips están actualmente limitados en tamaño a aquellos lo suficientemente pequeños como para que puedan permanecer perfectamente rígidos.
En 2014, IBM anunció un chip desarrollado por SyNAPSE que se ejecuta de manera asincrónica, con uno de los recuentos de transistores más altos de cualquier chip jamás producido. El chip de IBM consume órdenes de magnitud menos de energía que los sistemas informáticos tradicionales en los puntos de referencia de reconocimiento de patrones. [44]
Ver también
- Lógica secuencial (asincrónica)
- Lógica adiabática
- Puerta perfecta del reloj
Referencias
- ^ Nowick, SM; Singh, M. (mayo-junio de 2015). "Diseño asincrónico - Parte 1: descripción general y avances recientes" (PDF) . Diseño y prueba IEEE . 32 (3): 5–18. doi : 10.1109 / MDAT.2015.2413759 .
- ^ Nowick, SM; Singh, M. (mayo-junio de 2015). "Diseño asincrónico - Parte 2: Sistemas y metodologías" (PDF) . Diseño y prueba IEEE . 32 (3): 19-28. doi : 10.1109 / MDAT.2015.2413757 .
- ^ van Berkel, CH y MB Josephs y SM Nowick (febrero de 1999), "Applications of Asynchronous Circuits" (PDF) , Proceedings of the IEEE , 87 (2): 234–242, doi : 10.1109 / 5.740016
- ^ Karl M. Fant (2005), Diseño lógicamente determinado: diseño de sistema sin reloj con lógica de convención NULL (NCL) , John Wiley and Sons, ISBN 978-0-471-68478-7
- ^ Smith, Scott y Di, Jia (2009). Diseño de circuitos asíncronos usando lógica convencional NULL (NCL) . Editores Morgan & Claypool. ISBN 978-1-59829-981-6.
- ^ Scott, Smith y Di, Jia. "US 7,977,972 Diseño de circuito asíncrono de umbral múltiple de potencia ultrabaja" . Consultado el 12 de diciembre de 2011 .
- ^ Vasyukevich, VO (abril de 2007), "Decodificación de secuencias asincrónicas", Automatic Control and Computer Sciences , Allerton Press, 41 (2): 93–99, doi : 10.3103 / S0146411607020058 , ISSN 1558-108X
- ^ Nowick, SM y KY Yun y PA Beerel y AE Dooply (marzo de 1997), "Finalización especulativa para el diseño de sumadores dinámicos asíncronos de alto rendimiento" (PDF) , Actas del Simposio internacional IEEE sobre investigación avanzada en circuitos y sistemas asincrónicos ( 'Async') : 210–223, doi : 10.1109 / ASYNC.1997.587176 , ISBN 0-8186-7922-0
- ^ Nowick, SM (septiembre de 1996), "Diseño de un sumador asíncrono de baja latencia mediante la finalización especulativa" (PDF) , Actas de la IEE - Computadoras y técnicas digitales , 143 (5): 301–307, doi : 10.1049 / ip-cdt: 19960704
- ^ Sheikh, B. y R. Manohar (mayo de 2010), "Un sumador de punto flotante de precisión doble IEEE 754 asíncrono optimizado para operando" (PDF) , Actas del Simposio internacional IEEE sobre circuitos y sistemas asíncronos ('Async') : 151–162
- ^ "Epson desarrolla el primer microprocesador asincrónico flexible de 8 bits del mundo" [ enlace muerto permanente ] 2005
- ^ Nowick, SM y M. Singh (septiembre-octubre de 2011), "Tuberías asincrónicas de alto rendimiento: una descripción general" (PDF) , IEEE Design & Test of Computers , 28 (5): 8-22, doi : 10.1109 / mdt. 2011.71
- ^ a b Furber, Steve. "Principios del diseño de circuitos asincrónicos" (PDF) . Pág. 232 . Archivado desde el original (PDF) el 26 de abril de 2012 . Consultado el 13 de diciembre de 2011 .
- ^ "Keep It Strictly Synchronous: BESO de despedida esos problemas de lógica asincrónica". Personal Engineering and Instrumentation News, noviembre de 1997, páginas 53–55. http://www.fpga-site.com/kiss.html
- ^ Karl M. Fant (2007), Computer Science Reconsidered: The Invocation Model of Process Expression , John Wiley and Sons, ISBN 978-0471798149
- ^ a b van Leeuwen, TM (2010). Implementación y generación automática de gráfico de flujo de datos programado asincrónico . Porcelana de Delft.
- ^ Kruger, Robert (15 de marzo de 2005). "¡Reality TV para ingenieros de diseño FPGA!" . eetimes.com . Consultado el 11 de noviembre de 2020 .
- ^ LARD Archivado el 6 de marzo de 2005 en la Wayback Machine.
- ^ a b c "En las décadas de 1950 y 1960, el diseño asincrónico se utilizó en muchas de las primeras computadoras centrales, incluidas ILLIAC I e ILLIAC II ...". Breve historia del diseño de circuitos asincrónicos
- ^ "El Illiac es una computadora asincrónica paralela binaria en la que los números negativos se representan como complementos de dos". - resumen final de "Técnicas de diseño Illiac" 1955.
- ^ Historia de Johnniac escrita en 1968
- ^ V. M Glushkov y EL Yushchenko. Descripción matemática de la computadora "Kiev". UkrSSR, 1962 (en ruso)
- ^ "Computer Resurrection Issue 18" .
- ^ "Totalmente asincrónico, sus cientos de tableros enviarían solicitudes, seleccionarían los resultados para otra persona, pasarían las señales o datos de otra persona y se apuñalarían por la espalda en todo tipo de formas divertidas que ocasionalmente fallaban (el temporizador de" operación no completada " se apagaría y causaría una falla). ... [No] había indicios de una estrategia de sincronización organizada: varios pulsos de "está listo ahora", "ok, vamos", "tomar un ciclo" simplemente surgieron a través del vasto panel posterior Y con el estado apropiado y empujó al siguiente tipo hacia abajo. No sin sus encantos, esta tecnología aparentemente ad-hoc facilitó un grado sustancial de superposición ... así como la [segmentación y paginación] del mecanismo de dirección Multics a la arquitectura 6000 existente en de una manera ingeniosa, modular y sorprendente ... Sin embargo, la modificación y depuración del procesador no fue divertida ". "Glosario de Multics: ... 6180"
- ^ "10/81 ... CPU DPS 8 / 70M" Cronología de Multics
- ^ "La Serie 60, Nivel 68 fue solo un reempaquetado del 6180". Características del hardware de Multics: Serie 60, Nivel 68
- ^ AA Vasenkov, VL Dshkhunian, PR Mashevich, PV Nesterov, VV Telenkov, Ju. E. Chicherin, DI Juditsky, "Microprocessor computing system", patente US4124890, 7 de noviembre de 1978
- ^ Capítulo 4.5.3 en la biografía de DI Juditsky (en ruso)
- ^ "Copia archivada" . Archivado desde el original el 17 de julio de 2015 . Consultado el 16 de julio de 2015 .CS1 maint: copia archivada como título ( enlace )
- ^ "Copia archivada" . Archivado desde el original el 17 de julio de 2015 . Consultado el 16 de julio de 2015 .CS1 maint: copia archivada como título ( enlace )
- ^ "Copia archivada" . Archivado desde el original el 22 de julio de 2015 . Consultado el 19 de julio de 2015 .CS1 maint: copia archivada como título ( enlace )
- ^ a b c "Una arquitectura asincrónica 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 asincrónicas de doble carril" y sección "5.5.5.1 Conjunto de instrucciones"
- ^ "Handshake Solutions HT80C51" "Handshake Solutions HT80C51 es una implementación 80C51 asíncrona de bajo consumo que utiliza tecnología de handshake, compatible con el conjunto de instrucciones estándar 8051".
- ^ Descripción general de SEAforth Archivado 2008-02-02 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 asincrónicos".
- ^ "GreenArrayChips" "Chips de varias computadoras de muy baja potencia con periféricos integrados".
- ^ Tiempo: IP de núcleo TAM16 asincrónico
- ^ "ASPIDA sync / async DLX Core" . OpenCores.org . Consultado el 5 de septiembre de 2014 .
- ^ "Procesador DLX de código abierto asincrónico (ASPIDA)" .
- ^ "Seiko Epson consejos procesador flexible a través de la tecnología TFT" Archivado 2010-02-01 en Wayback Machine por Mark LaPedus 2005
- ^ "Un microprocesador asíncrono 8b flexible basado en tecnología TFT de polisilicio de baja temperatura" por Karaki et al. 2005. Resumen: "Un microprocesador flexible asíncrono 8b ACTII ... El nivel de potencia es el 30% de la contraparte síncrona".
- ^ "Introducción de actividades de I + D de TFT en Seiko Epson Corporation" por 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 el microprocesador flexible: hojas A4 de papel electrónico en proceso 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 . 07 de agosto de 2014.
Otras lecturas
- TiDE de Handshake Solutions en los Países Bajos, herramienta de diseño de circuitos asíncronos comerciales. ARM asincrónico comercial (ARM996HS) y 8051 (HT80C51) están disponibles.
- Una introducción al diseño de circuitos asíncronos por Davis y Nowick
- Elementos lógicos asincrónicos. Venjunction y sequention por VO Vasyukevich
- Lógica de convención nula , un estilo de diseño iniciado por Theseus Logic, que ha fabricado más de 20 ASIC basados en sus núcleos de microcontroladores NCL08 y NCL8501 [1]
- Programa sobre el estado del diseño asincrónico en las tecnologías de la sociedad de la información (IST), IST-1999-29119, DA Edwards WB Toms, junio de 2004, a través de www.scism.lsbu.ac.uk
- The Red Star es una versión del MIPS R3000 implementada en lógica asincrónica
- Los microprocesadores Amulet eran ARM asincrónicos, construidos en la década de 1990 en la Universidad de Manchester , Inglaterra.
- El Protocolo N desarrollado por Navarre AsyncArt, la primera metodología comercial de diseño asincrónico para FPGA convencionales
- PGPSALM una implementación asíncrona del microprocesador 6502
- Página de inicio de Caltech Async Group
- Tiempo : empresa francesa que proporciona IP asincrónica y herramientas de diseño
- Comunicado de prensa de la CPU flexible Epson ACT11