Si me hubieran enseñado los trucos involucrados en los dominios asincrónicos, podría haberme vuelto loco a voluntad. En cambio, me vi obligado a seguir las reglas de la región de sincronización.
En una columna anterior de Cool Beans, “MCU asíncronos y DSP dirigidos a dispositivos móviles y perimetrales”, mi libroDesignus Maximus Unleashed (prohibido en Alabama)Lamentablemente, el libro está agotado, pero todavía está disponible (a un precio exorbitante) en Kindle y hay copias usadas disponibles.
Por extraño que parezca, a menudo uso este libro como referencia para mi escritura actual. Es divertido cuando leo algo y pienso en ello. Es interesante (b) no recuerdo saber eso.
Algo similar sucedió mientras hojeaba el capítulo sobre diseño asíncrono. Este capítulo comenzó con la trivia clásica que se ha convertido en una marca registrada de muchos de mis escritos.
Creador de trucos originales
Como el destino quiso, estaba tomando un descanso de andar en monociclo (como tú) para repasar mi conocimiento de las máquinas de guerra medievales (como tú). Etimología de “ingeniero”. El trabuquete (una gran catapulta que toca la bocina), inventado en China entre el 500 y el 300 a. C., era una máquina capaz de lanzar proyectiles pesados con gran fuerza.Después de todo, la palabra común para trebuchet en Occidente era “motor” de origen latino. Ingenio, que significa “ingenio ingenioso”. Del mismo modo, las personas que diseñaron y construyeron estos dispositivos Fundador, finalmente cambió a “Ingeniero”. ¿Quién objetaría que es tan apropiado nombrar a nuestra honorable profesión como “creadores de dispositivos ingeniosos”?
Por supuesto, los escépticos Tomases y Tomasinas pueden decir que esto no tiene absolutamente nada que ver con el tema de la lógica asincrónica, pero antes de que lleguemos al final de este capítulo, puedo proporcionar un buen vínculo astuto que no me asusta. .
¿Podría haber proporcionado tal enlace? Me gustaría compartir.
Podríamos ser héroes, pero nadie nos enseñó cómo
En los primeros días de la electrónica y la informática en las décadas de 1940 y 1950, los diseños asincrónicos eran mucho más frecuentes que en la actualidad. Esto se debió principalmente al hecho de que los diseñadores estaban trabajando a nivel de interruptores individuales implementados como tubos de vacío o transistores (entonces no había circuitos integrados digitales). En ese momento, los componentes eran (relativamente) mucho más caros de lo que son hoy, y la capacidad de hacer mucho con una pequeña cantidad de lógica asíncrona se consideraba una marca de habilidad.La tecnología asíncrona comenzó a explorarse formalmente en las décadas de 1950 y 1960. Uno de los pioneros del diseño asíncrono es David E. Muller. Ideó una puerta lógica insensible a la demora llamada elemento C que produce una salida solo si todas las entradas son iguales. En última instancia, el concepto básico de diseño asíncrono fue formalizado por SHUnger en su trabajo seminal en 1969. Circuito de conmutación secuencial asíncrono (John Wiley & Sons, Inc.).
Como resultado de la introducción de los circuitos integrados digitales en las décadas de 1960 y 1970, muchos diseñadores de hoy crecieron usando flip-flops 7474 tipo D o sus derivados como registros (y, a veces, sincronizadores). (La serie 7400 de Texas Instruments fue la primera familia lógica TTL estándar de facto, pero hubo familias anteriores de compañías como Sylvania, Motorola, National Semiconductor, Fairchild y Signetics). mismo paquete. También me permitió empaquetar la mayoría de los molestos problemas asincrónicos y olvidarme de ellos más tarde. El resultado neto es que, asumiendo que el diseñador observa los diversos datos y la configuración del reloj y las relaciones de retención asociadas con estas funciones, las funciones mismas pueden tratarse como dispositivos síncronos, ocultando el procesamiento asíncrono en su interior. Puede dejarlo como está (“parte invisible “). , como dice el refrán, loco”). Como sabemos ahora, la infraestructura que desde entonces ha crecido en torno a este enfoque se ha vuelto tan omnipresente y exitosa que la mayoría de los diseñadores ahora “viven al límite” (juego de palabras intencionado).
El punto clave es preguntarse cuántos de los diseñadores actuales podrían realmente diseñar un 7474 desde cero. Tenga en cuenta que esta es una tarea importante, ya que el dispositivo en sí es esencialmente un circuito secuencial totalmente asíncrono. Un punto ligeramente relacionado es que todas las técnicas de síntesis asíncrona (como se explica en los libros de texto de hardware) producen diseños diferentes. Incluso si recopiló un ejemplo simple de alternancia binaria de varios libros de texto de hardware, terminaría con un montón de soluciones sustancialmente diferentes.
Los libros electrónicos más antiguos cubrían el diseño asíncrono con gran detalle, pero los autores de los libros más recientes parecen haber decidido en general que el diseño asíncrono “no es la metodología actual”. De manera similar, los cursos universitarios se enfocan principalmente en técnicas sincrónicas, mientras que los enfoques asincrónicos se pasan por alto en gran medida. Por ejemplo, pocos libros de texto o cursos universitarios ofrecen una visión equilibrada de las máquinas secuenciales en forma de secuencial síncrona y secuencial asíncrona al introducir el concepto de máquinas de estado. En cambio, se dedica principalmente a la sincronización secuencial, golpeando los flip-flops tipo D como si estuvieran pasados de moda, pero en realidad se ocupa de lo que hay dentro de los flip-flops tipo D a un nivel detallado. De hecho, los flip-flops tipo D contienen múltiples bucles de retroalimentación no cronometrados interconectados. Si estos dispositivos se presentaran de la manera correcta, las escalas podrían caerse de los ojos de un estudiante y encontrarían todo el mundo (electrónico) colgando de manera cohesiva.
Aunque escribí estas palabras hace más de 20 años, todavía las mantengo. Entonces, finalmente, volvamos a mi punto de que proporciona un buen vínculo entre los trabuquetes y el tema del diseño asíncrono. Bueno, así cerré el capítulo:
[…] El fundíbulo se basaba en una viga larga con eslingas en los extremos. Un extremo de la eslinga estaba unido directamente a la viga y el otro enganchado a una punta de metal que se clavaba en la viga. Cuando el rayo giró y alcanzó el punto correcto del arco, el extremo de la honda se deslizó de las puntas, liberando el proyectil. El ajuste adecuado de las puntas fue fundamental para el momento preciso de la liberación del cabestrillo.
La última vez que se usó el trebuchet en Wrath fue en el Sitio de la Ciudad de México en 1521. Las municiones eran escasas, por lo que Don Cortés ordenó a sus hombres que construyeran trabuquetes. Sin embargo, la tripulación de Cortés no estaba familiarizada con esta arma. La primera vez que usaron la Bestia, el misil voló hacia arriba antes de volver a su camino original, rompiendo el trabuquete en pedazos en el proceso. Entonces, la moraleja de la historia es que diseñar lógica asíncrona es como usar un trabuquete… ¡todo es cuestión de tiempo!
Oye, puede que no sea genial, pero fue lo mejor que se me ocurrió en ese momento. ¿Cuáles son sus pensamientos sobre la lógica asíncrona, y hay algo que le gustaría agregar o cambiar sobre la forma en que concluye este capítulo?