Circuito asíncrono

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Circuito digital sin ciclos de reloj

Circuito asincrónico ()sin reloj o circuito auto-tiempo) es un circuito de lógica digital secuencial que no utiliza un circuito de reloj global o generador de señal para sincronizar sus componentes. En cambio, los componentes son impulsados por un circuito de apretado de manos que indica la terminación de un conjunto de instrucciones. Manipulación de obras mediante protocolos simples de transferencia de datos. Muchos circuitos sincronizados se desarrollaron a principios de la década de 1950 como parte de sistemas asincrónicos más grandes (por ejemplo, ORDVAC). Los circuitos asincrónicos y la teoría que rodean forman parte de varios pasos en el diseño de circuitos integrados, un campo de ingeniería electrónica digital.

Los circuitos asíncronos se diferencian de 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 potencial para ser mucho más rápidos, tener un menor nivel de consumo de energía, interferencia electromagnética y mejor modularidad en sistemas grandes. Los circuitos asíncronos son un área activa de investigación en el diseño de lógica digital.

No fue hasta la década de 1990 cuando productos comerciales de la vida real demostraron la viabilidad de los circuitos asíncronos.

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 sólo 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 asíncrona.

Circuitos síncronos

En los circuitos lógicos síncronos, un oscilador electrónico genera una serie repetitiva de pulsos equiespaciados llamada señal de reloj. La señal de reloj se suministra a todos los componentes del IC. Los flip-flops solo giran cuando son activados por el flanco del pulso del reloj, por lo que los cambios en las señales lógicas en todo el circuito comienzan al mismo tiempo y a intervalos regulares. La salida de todos los elementos de memoria en un circuito se llama estado del circuito. El estado de un circuito síncrono cambia sólo con el pulso del reloj. Los cambios de señal requieren una cierta cantidad de tiempo para propagarse a través de las puertas lógicas combinacionales del circuito. Este tiempo se llama retraso de propagación.

A partir de 2021, la sincronización de los circuitos integrados síncronos modernos requiere importantes esfuerzos de ingeniería y sofisticadas herramientas de automatización de diseño. 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, ASIC), es una tarea desafiante. En circuitos grandes, las señales enviadas a través de la red de distribución de reloj a menudo terminan en diferentes momentos y en diferentes partes. Este problema se conoce ampliamente como "desviación del reloj".

La velocidad de reloj máxima posible está limitada por la ruta lógica con el retraso de propagación más largo, llamada ruta crítica. Por eso, las rutas que pueden operar rápidamente están inactivas la mayor parte del tiempo. Una red de reloj ampliamente distribuida disipa mucha energía útil y debe funcionar independientemente de que el circuito reciba entradas o no. Debido a este nivel de complejidad, las pruebas y la depuración requieren más de la mitad del tiempo de desarrollo en todas las dimensiones para los circuitos síncronos.

Circuitos asíncronos

Los circuitos asíncronos no necesitan un reloj global y el estado del circuito cambia tan pronto como cambian las entradas. Es posible que se sigan empleando los bloques funcionales locales, pero aún se puede tolerar el problema de la desviación del reloj.

Dado que los circuitos asíncronos no tienen que esperar a que un pulso de reloj comience a procesar las entradas, pueden operar más rápido. En teoría, su velocidad está limitada únicamente por los retrasos de propagación de las puertas lógicas y otros elementos.

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.

Esto se llama 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, 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 muy importante, como los circuitos de procesamiento de señales.

Fundamento teórico

La teoría original de los circuitos asíncronos fue creada por David E. Muller a mediados de la década de 1950. Esta teoría fue presentada más tarde en el conocido libro "Switching Theory" por Raymond Miller.

El término "lógica asincrónica" se utiliza para describir una variedad de estilos de diseño, que utilizan diferentes suposiciones sobre las propiedades del circuito. Estos varían del modelo de retardo incluido, que utiliza retardo "convencional" elementos de procesamiento de datos con finalización indicada por un modelo de retardo generado localmente (hasta un diseño insensible al retardo) donde se pueden acomodar retardos arbitrarios a través de elementos del circuito. Este último estilo tiende a generar circuitos que son más grandes que las implementaciones de datos agrupados, pero que son insensibles al diseño y a las variaciones paramétricas y, por lo tanto, son "correctos por diseño".

Lógica asincrónica

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 verdadero/falso en un momento dado. La lógica booleana (de dos valores) es inadecuada para esto y, por lo tanto, se requieren extensiones.

Desde 1984, Vadim O. Vasyukevich desarrolló un enfoque basado en nuevos operaciones lógicas que llamó venjunction (con el operador asincrónico "xy" que representa "switching x en el fondo y" o "si x cuando y entonces") y secuencia (con signos de prioridad "xixj" y "xi xj"). Esto tiene en cuenta no sólo el valor actual de un elemento, sino también su historial.

Karl M. Fant desarrolló un tratamiento teórico diferente de la lógica asincrónica en su trabajo Diseño determinado lógicamente en 2005, que utilizó lógica de cuatro valores siendo nulo e intermedio. valores adicionales. Esta arquitectura es importante porque es casi insensible al retraso. Scott C. 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 umbral múltiple. Esta variación se denomina lógica de convención nula de umbrales múltiples (MTNCL) o, alternativamente, lógica de convención de suspensión (SCL).

Redes de Petri

Las redes de Petri son un modelo atractivo y poderoso para razonar sobre circuitos asíncronos (consulte Modelos de concurrencia posteriores). Leonid Rosenblum, Alex Yakovlev y Tam-Anh Chu propusieron de forma independiente en 1985 un tipo particularmente útil de redes de Petri interpretadas, llamados gráficos de transición de señales (STG). Desde entonces, los STG se han estudiado ampliamente en la teoría y la práctica, lo que ha llevado al desarrollo de herramientas de software populares para el análisis y síntesis de circuitos de control asíncronos, como Petrify y Workcraft.

Después de las redes de Petri, se han desarrollado otros modelos de concurrencia que pueden modelar circuitos asíncronos, incluido el modelo Actor y los cálculos de procesos.

Beneficios

Los circuitos asíncronos han demostrado una variedad de ventajas. Tanto los circuitos cuasi-insensibles al retardo (QDI) (generalmente aceptados 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 tiempo para un mayor rendimiento y menor El área y el poder presentan varias ventajas.

  • Manejo robusto y barato de metástasis de árbitros.
  • Rendimiento medio de caso: un tiempo de funcionamiento medio (por la demora) no se limita al peor tiempo de terminación del componente (portón, alambre, bloque, etc.) ya que está en circuitos sincronizados. Esto resulta en mejores resultados de latencia y rendimiento de rendimiento. Ejemplos incluyen Finalización especulativa que se ha aplicado para diseñar adiciones prefijas paralelas más rápido que sincrónicas, y una escalera flotante de doble precisión de alto rendimiento que supera los principales diseños sincronizados.
    • Finalización temprana: la salida puede generarse antes de tiempo, cuando el resultado del procesamiento de insumos es predecible o irrelevante.
    • elasticidad hereditaria: el número variable de elementos de datos puede aparecer en las entradas de tuberías en cualquier momento (pipeline significa una cascada de bloques funcionales vinculados). Esto contribuye a un alto rendimiento mientras se manejan graciosamente las tasas de entrada y salida variables debido a los retrasos de las etapas de tuberías (bloqueos funcionales) (no obstante, las congestiones pueden ser posibles y también debe tenerse en cuenta la demora de las puertas de salida).
    • Tampoco es necesario ajustar el tiempo entre los bloques funcionales. Aunque dados diferentes modelos de retraso (predicciones de tiempos de retraso de puerta/wire) esto depende del enfoque real de la implementación del circuito asincrónico.
    • Libertad de las dificultades cada vez más difíciles de distribuir una señal de reloj de alta sensibilidad y sincronización.
    • La velocidad del circuito se adapta a las condiciones cambiantes de temperatura y voltaje en lugar de estar bloqueada a la velocidad que se le exige por supuestos peor.
  • Menor consumo de energía a pedido; cero consumo de energía de reserva. En 2005 Epson ha reportado un 70% menor consumo de energía en comparación con el diseño sincronizado. Además, se pueden eliminar los controladores de reloj que pueden reducir significativamente el consumo de energía. Sin embargo, al utilizar ciertas codificacións, los circuitos asincrónicos pueden requerir más área, añadiendo una sobrecarga de energía similar si el proceso subyacente tiene malas propiedades de fuga (por ejemplo, procesos submicrómetros profundos utilizados antes de la introducción de dielectrices de alto ángulo).
    • No es necesario combinar potencia entre los dominios funcionales asincrónicos locales de los circuitos. Los circuitos sincronizados tienden a dibujar una gran cantidad de corriente derecha en el borde del reloj y poco después. El número de nodos que cambian (y por lo tanto, la cantidad de corriente dibujada) se baja rápidamente después del reloj, alcanzando cero justo antes del siguiente reloj. En un circuito asincrónico, los tiempos de cambio de los nodos no correlacionan de esta manera, por lo que el sorteo actual tiende a ser más uniforme y menos rebosante.
  • Robustness towards transistor-to-transistor variability in the manufacturing transfer process ( which is one of the most serious problems facing the semiconductor industry as dies narrow), variations of tension supply, temperature, and fabrication process parameters.
  • Intromisión electromagnética menos grave (EMI). Los circuitos sincronizados crean una gran cantidad de EMI en la banda de frecuencias en (o muy cerca) su frecuencia de reloj y sus armónicos; circuitos asincrónicos generan patrones de EMI que son mucho más uniformemente difundidos a través del espectro.
  • Diseño modular (reutilización), mayor inmunidad de ruido y compatibilidad electromagnética. Los circuitos asincrónicos son más tolerantes a las variaciones de proceso y las fluctuaciones de tensión externa.

Desventajas

  • Superficie del área causada por la lógica adicional que implementa el apretón de manos. En algunos casos un diseño asincrónico puede requerir hasta duplicar los recursos (área, velocidad de circuito, consumo de energía) de un diseño sincrónico, debido a la adición de circuitos de detección y diseño para pruebas.
  • En comparación con un diseño sincrónico, a partir de los años noventa y principios de los años 2000 no hay mucha gente entrenada o experimentada en el diseño de circuitos asincrónicos.
  • Los diseños sincrónicos son inherentemente más fáciles de probar y depurar que los diseños asincrónicos. Sin embargo, esta posición es disputada por Fant, quien afirma que la aparente simplicidad de la lógica sincronizada es un artefacto de los modelos matemáticos utilizados por los enfoques de diseño comunes.
  • La fijación de relojes en diseños sincronizados 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 circuitos asincrónicos puede reducirse en arquitecturas que requieren la integridad de entrada (carril de datos más complejo).
  • Falta de herramientas de EDA comerciales dedicadas al diseño asincrónico. Sin embargo, a partir de 2006 la situación estaba mejorando lentamente.

Comunicación

Existen varias formas de crear canales de comunicación asincrónicos que se pueden clasificar por 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:

  • apretón de manos de dos fases (también conocido como protocolo de dos fases, codificación no retorno a cero, o señalización de transición): Las comunicaciones están representadas por cualquier transición por 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): Las comunicaciones están representadas por una transición de alambre seguida de un reset; una secuencia de transición de 0 a 1 y de vuelta a 0 cuenta como una sola comunicación.
Ilustración de dos y cuatro apretones de manos. Top: Un remitente y un receptor se comunican con simple solicitud y reconocen señales. El remitente conduce la línea de solicitud, y el receptor conduce la línea de reconocimiento. Medio: diagrama de dos, dos fases de comunicación. Tema: Esquema de una comunicación de cuatro fases.

A pesar de involucrar más transiciones por comunicación, los circuitos que implementan protocolos de cuatro fases son generalmente más rápidos y simples 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 representan la amplia variedad de protocolos. Estos protocolos pueden codificar solamente solicitudes y reconocimientos o también codificar los datos, lo que conduce a la codificación popular de datos de varios hilos. Muchos otros protocolos menos comunes se han propuesto incluyendo el uso de un solo cable para solicitar y reconocer, utilizando varios voltajes significativos, utilizando sólo pulsos o tiempos de equilibrio para eliminar las latches.

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 utilizar varios cables para codificar un solo dígito: el valor lo determina el cable en el que ocurre el evento. Esto evita algunas de las suposiciones de retraso necesarias con la codificación de datos agrupados, ya que la solicitud y los datos ya no están separados.

Codificación de datos incluidos

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 utilizada en circuitos síncronos sin la restricción de que las transiciones ocurran en el flanco del reloj. La solicitud y el reconocimiento se envían por cables separados con uno de los protocolos anteriores. Estos circuitos suelen asumir un modelo de retardo acotado con las señales de finalización retrasadas el tiempo suficiente para que se realicen los cálculos.

En funcionamiento, el remitente señala la disponibilidad y validez de los datos con una solicitud. Luego, el receptor indica la finalización con un acuse de recibo, indicando que puede procesar nuevas solicitudes. Es decir, la solicitud se incluye con los datos, de ahí el nombre "datos empaquetados".

Los circuitos de datos agrupados a menudo se denominan microcanalizaciones, ya sea que utilicen un protocolo de dos o cuatro fases, incluso si el término se introdujo inicialmente para datos agrupados de dos fases.

Una comunicación de 4 fases con datos. Top: Un remitente y receptor están conectados por líneas de datos, una línea de solicitud y una línea de reconocimiento. Tema: Esquema de tiempo de una comunicación de datos agrupada. Cuando la línea de solicitud es baja, los datos deben considerarse inválidos y pueden cambiar en cualquier momento.

Codificación multirraíl

La codificación multi-rail utiliza varios alambres sin una relación entre bits y alambres y una señal de reconocimiento separada. La disponibilidad de datos se indica por las transiciones en uno o más de los alambres de datos (dependiendo del tipo de codificación multi-rail) 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 por demoras. Dos encodings comunes multi-rail son un tren único y doble. La codificación única (también conocida como 1-de-n) representa un número en base n con una comunicación en uno de los cables n. La codificación dual-rail utiliza pares de alambres para representar cada bit de los datos, por lo tanto el nombre "dual-rail"; un alambre en el par representa el valor bit de 0 y el otro representa el valor bit de 1. Por ejemplo, un número de dos bits codificado con dos radios se representará con dos pares de alambres 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, m × × {displaystyle times } n codificación representan datos como m palabras de base n.

Diagrama de doble tren y 1 de 4 comunicaciones. Top: Un remitente y receptor están conectados por líneas de datos y una línea de reconocimiento. Medio: Esquema de tiempo del remitente que comunica los valores 0, 1, 2, y luego 3 al receptor con la codificación 1 de 4. Tema: Esquema de tiempo del remitente que comunica los mismos valores al receptor con la codificación de doble espiral. Para este tamaño de datos en particular, la codificación de doble carril es la misma que una codificación 2x1-de-2.

Codificación de doble carril

La codificación de doble carril 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 conduce a una implementación más simple que la de dos carriles monofásicos y de dos fases, es la codificación de cuatro estados, o carril dual codificado por nivel, y utiliza un bit de datos y una paridad. bit para lograr un protocolo de dos fases.

CPU asíncrona

Las CPU asíncronas 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 tubería. En cambio, las etapas de la CPU se coordinan mediante dispositivos lógicos llamados "controles de canalización" o "secuenciadores FIFO". Básicamente, el controlador de tubería registra la siguiente etapa de la lógica cuando se completa la etapa existente. De esta forma se hace innecesario un reloj central. En realidad, puede ser incluso más fácil implementar dispositivos de alto rendimiento en lógica asíncrona, en lugar de lógica sincronizada:

  • los componentes pueden funcionar a diferentes velocidades en una CPU asincrónica; todos los componentes principales de una CPU relojada deben permanecer sincronizados con el reloj central;
  • a tradicional CPU no puede "ir más rápido" que el peor rendimiento esperado de la etapa/instrucción/componente más lenta. Cuando una CPU asincrónica completa una operación más rápidamente de lo previsto, la siguiente etapa puede comenzar inmediatamente a procesar los resultados, en lugar de esperar la sincronización con un reloj central. Una operación podría terminar más rápido de lo normal debido a los atributos de los datos que se procesan (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 superior o la velocidad de bus, o una temperatura ambiente inferior, que 'normal' o esperado.

Los defensores de la lógica asincrónica creen que estas capacidades tendrían estos beneficios:

  • disipación de potencia inferior 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". 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 para hacer frente al complejo diseño de AMULET3.

Ejemplos

A pesar de todas las dificultades, se han construido numerosas CPU asíncronas.

El ORDVAC de 1951 fue el sucesor del ENIAC y el primer ordenador asíncrono jamás construido.

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 de la época.

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 solucionaron y se basaron en el peor momento del módulo.

Caltech

Desde mediados de la década de 1980, Caltech ha diseñado cuatro CPU no comerciales en un intento de evaluar el rendimiento y la eficiencia energética de los circuitos asíncronos.

Caltech Asynchronous Microprocesador (CAM)

En 1988, el microprocesador asíncrono (CAM) de Caltech fue el primer microprocesador asíncrono casi insensible al retardo (QDI) fabricado por Caltech. El procesador tenía RISC ISA de 16 bits de ancho y memorias de datos e instrucciones separadas. 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.

Durante las demostraciones, los investigadores cargaron un programa simple que se ejecutaba en un bucle 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 colocaba una taza de café caliente sobre el chip, la frecuencia del pulso (la "frecuencia de reloj" efectiva) naturalmente disminuía para adaptarse al empeoramiento del rendimiento de los transistores calentados. Cuando se vertió nitrógeno líquido sobre el chip, la velocidad de instrucción se disparó sin intervención adicional. Además, a temperaturas más bajas, el voltaje suministrado al chip se podía aumentar de forma segura, lo que también mejoraba la velocidad de instrucción, nuevamente, sin configuración adicional.

Cuando se implementa en arseniuro de galio (HGaAs
3
) se afirmó que alcanzaba 100MIPS. En general, el trabajo de investigación interpretó el rendimiento resultante de CAM como superior en comparación con las alternativas comerciales disponibles en ese momento.

MiniMIPS

En 1998 se creó el MiniMIPS, un microcontrolador asíncrono experimental basado en MIPS I. Aunque el rendimiento previsto por SPICE fue de alrededor de 280 MIPS a 3,3 V, la implementación sufrió varios errores en el diseño (error humano) y los resultados resultaron ser inferiores en aproximadamente un 40% (ver tabla).

El Lutonium 8051

Fabricado en 2003, era un microcontrolador asíncrono casi insensible al retardo diseñado para la eficiencia energética. La implementación del microcontrolador siguió la arquitectura de Harvard.

Comparación de rendimiento de las CPU Caltech (en MIPS).
Nombre Año Tamaño de la palabra (bits) Transistores (miles) Tamaño (mm) Tamaño de nodo (μm) 1.5V2V 3.3V 5V 10V
CAM SCMOS19881620N/A1.6N/A5N/A1826
MiniMIPS CMOS19983220008×140.660100180N/AN/A
Lutonium 8051 CMOS20038N/AN/A0.18200N/AN/AN/A4

Epson

En 2004, Epson fabricó el primer microprocesador flexible del mundo llamado ACT11, un chip asíncrono de 8 bits. Los procesadores flexibles síncronos son más lentos, ya que doblar el material sobre el que se fabrica un chip provoca variaciones salvajes e impredecibles en los retrasos de varios transistores, para los cuales se deben asumir los peores escenarios en todas partes y todo debe sincronizarse a la peor velocidad. El procesador está pensado para su uso 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 asincrónica, con uno de los mayores recuentos de transistores de cualquier chip producido. El chip de IBM consume órdenes de magnitud menos potencia que los sistemas informáticos tradicionales en parámetros de reconocimiento de patrones.

Timeline

  • ORDVAC y el ILLIAC I (1951)
  • Johnniac (1953)
  • WEIZAC (1955)
  • Kiev (1958), una máquina soviética usando el lenguaje de programación con punteros mucho antes de lo que llegaron al PL/1 idioma
  • ILLIAC II (1962)
  • Victoria University of Manchester built Atlas (1964)
  • ICL 1906A y 1906S ordenadores mainframe, parte de la serie 1900 y vendidos desde 1964 durante más de una década por ICL
  • Computadoras polacas KAR-65 y K-202 (1965 y 1970 respectivamente)
  • Honeywell CPUs 6180 (1972) y Series 60 Level 68 (1981) sobre los cuales Multics corrió asincrónicamente
  • Módulos de microprocesador de piojos soviéticos (a finales de 1970) producidos como К587, К588 y К1883 (U83x en Alemania Oriental)
  • Caltech Asynchronous Microprocesador, el primer microprocesador asincrónico mundial (1988)
  • ARM-implementing AMULET (1993 and 2000)
  • Aplicación asincrónica del MIPS R3000, denominado MiniMIPS (1998)
  • Varias versiones del procesador XAP experimentaron con diferentes estilos de diseño asincrónicos: un conjunto de datos XAP, un 1-de-4 XAP, y un 1-de-2 (rail-dual) XAP (2003?)
  • Procesador compatible con ARM (2003?) diseñado por Z. C. Yu, S. B. Furber y L. A. Plana; "designado específicamente para explorar los beneficios del diseño asincrónico para aplicaciones sensibles a la seguridad"
  • SAMIPS (2003), una implementación asincrona sintetizada del procesador MIPS R3000
  • "Network-based Asynchronous Architecture" procesador (2005) que ejecuta un subconjunto del conjunto de instrucciones de arquitectura MIPS
  • Procesador ARM996HS (2006) de Handshake Solutions
  • Procesador HT80C51 (2007?) de Handshake Solutions.
  • Vortex, una CPU de propósito general superscalar con una arquitectura de carga/store de Intel (2007); se desarrolló como prueba de microsistema Fulcrum Chip 2 y no se comercializó, excepto algunos de sus componentes; el chip incluyó DDR SDRAM y una interfaz Ethernet 10Gb vinculada a través de red de sistema a chip Nexus a la CPU
  • SEAforth multi-core processor (2008) de Charles H. Moore
  • GA144 multi-core processor (2010) de Charles H. Moore
  • TAM16: núcleo IP de microcontrolador asincrónico de 16 bits (Tiempo)
  • Aspida asincrónica núcleo DLX; el procesador DLX de código abierto asincrónico (ASPIDA) se ha implementado con éxito tanto en versiones ASIC como FPGA

Contenido relacionado

Historia de la cámara

La historia de la cámara comenzó incluso antes de la introducción de la fotografía. Las cámaras evolucionaron desde la cámara oscura a través de muchas...

Tubo de vacío

Un tubo de vacío, tubo de electrones o válvula termoiónica, es un dispositivo que controla el flujo de corriente eléctrica en un alto vacío entre...

Señales de humo

La señal de humo es una de las formas más antiguas de comunicación a larga distancia. Es una forma de comunicación visual utilizada a larga distancia. En...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save