Un ingeniero británico construyó un procesador discreto de 500 kg. Etapas de trabajo y entrevistas con el creador.

Megaprocesador es un procesador de 16 bits con cuatro registros de uso general. Los paneles separados contienen diagramas para diversos fines, que incluyen memoria, unidad aritmética, entrada / salida y otros. El sistema utiliza una unidad ALU de 16 bits y un sumador de 16 bits. El megaprocesador está equipado con 10,000 LED, cuyo parpadeo muestra cada etapa del proceso de cálculo, que muestra la dirección del movimiento de los datos de acuerdo con el esquema. La capacidad de memoria es de 256 bytes. El bloque de memoria incluye 27,000 transistores. El número total de transistores en el sistema supera los 40 mil. La masa del procesador es de 500 kg. El procesador funciona a una frecuencia de 20 kilohercios.



¿Por qué se creó todo esto? El autor del proyecto, un ingeniero electrónico del Reino Unido, James Newman, quería entender cómo funciona un procesador moderno. Decidió que la mejor manera de obtener la máxima cantidad de información sobre los principios de funcionamiento de los transistores y un procesador sería crear un procesador por sí solo. Según él, el proceso de estudio se salió de control y se convirtió en un trabajo diario.

“Las computadoras son opacas. Mirándolos, uno no puede entender cómo funcionan. Lo que quería hacer era subir y entender lo que estaba pasando. El problema es que esto no se puede hacer con procesadores de tamaño regular. Pero podemos construir un procesador grande con nuestras propias manos, y luego quedará claro lo que está sucediendo dentro. Para mostrar los flujos de datos, vale la pena agregar LED también, lo cual se hizo ”, dice James Newman. Ahora se puede ver el Megaprocesador en tiempo real, y cualquiera puede comprender en qué elementos consiste el procesador y cómo funciona cada unidad.

El megaprocesador ocupa una parte importante de la sala de estar en la casa del ingeniero, lo que le causa ciertos inconvenientes.

Para demostrar las capacidades informáticas del procesador, el ingeniero decidió elegir un juego de tetris. Los elementos del juego se muestran en una gran pantalla LED con una resolución de 32 * 64 LED. Durante el juego en tiempo real, todo lo que sucede dentro del procesador es visible.

"Su computadora puede ser un millón de veces más rápida que el sistema que construí, pero es mucho más atractiva ... No creo que pueda vender mi proyecto, pero quiero que Megaprocessor se presente como una exhibición en un museo o institución educativa "Dice Newman.

Montaje del sistema


El megaprocesador consta de una gran cantidad de elementos que se ensamblan en bloques. Se colocan bloques separados en los stands. La altura del stand es de 2 metros. Ancho: de 1.2 a 1.6 metros. En cada soporte, se monta una pequeña cantidad de módulos, de 2 a 4. El soporte sirve como un lugar para colocar los módulos y su protección. Cada módulo realiza un conjunto específico de funciones. Por ejemplo, hay un módulo ALU, un decodificador y otros. Los módulos están formados por tableros individuales.

Stands


Los marcos estaban hechos de aluminio extruido. En todos los stands hay una descripción detallada de las funciones realizadas por una unidad de computación particular. Aquí hay un bloque de registros de propósito especial:



el marco tiene canales para cables de alimentación. Las baterías están cubiertas con una protección metálica para que nada se mueva en caso de que se mueva el soporte: los


bloques de conexión están montados a los lados del soporte.



Cada soporte tiene una placa de servicio, que está montada en el lado inferior derecho.


Cada junta de servicio tiene dos funciones. El primero es conectar y monitorear líneas eléctricas. El segundo es proporcionar acceso a los terminales de alimentación. Hay 7 stands en el sistema.

Módulos



El megaprocesador se divide en varios módulos. Aquí está el módulo del autómata de control:


Aquí puede ver los conjuntos de placas que implementan la lógica para un subsistema en particular. Las placas se ensamblan en un circuito que muestra qué está conectado con qué y cómo. El circuito está impreso en cartón pegado a madera contrachapada para proporcionar rigidez a toda la estructura. Todos los cables de conexión se devuelven para no estropear la apariencia del módulo. Inicialmente, los cables estaban al frente, pero no se veía demasiado bonito.



Para no confundir nada, también hay una lista de todo el esquema detrás.



Conectar todos los elementos con cables lleva mucho tiempo.



Honorarios



Desde el principio, decidí que los PCB se utilizarían en el proyecto. Sin ellos, sería imposible crear algo complicado, porque solo las conexiones en el sistema son más de 100,000. La mayoría de los fondos del proyecto se destinaron a las juntas. Inicialmente, quería hacer tablas grandes, pero resultó ser increíblemente difícil, así que más tarde decidí dividir todo en tablas pequeñas, lo cual se hizo. Para el diseño, utilicé CadSoft Eagle.



Otras tablas se pueden ver aquí .

Cheque


Los controles se llevaron a cabo constantemente, en cada etapa del proyecto:
  • Cada placa se probó antes de la instalación en el módulo;
  • Cada módulo se probó al finalizar el trabajo en él;
  • Cada soporte fue probado después de completar la instalación de módulos;
  • Después de conectar cada soporte nuevo, se probó todo el sistema.


Para verificar el funcionamiento de tableros, módulos y soportes, se utilizó equipo de BlueChip Technologies.







Componente financiero


En total, Newman gastó alrededor de 40,000 libras. Al tipo actual (después del referéndum sobre la retirada de la UE, la libra cayó un 30% frente al dólar) esto es $ 53071.

El costo de varios elementos estructurales:

Electrónica£ 19,000
Honorarios£ 14,000
Aluminio£ 3,500
Las herramientas£ 2,000
Grabado£ 900
Colorear e imprimir£ 900
Sujetadores, madera contrachapada, etc.£ 500


El costo de los componentes electrónicos:

Transistores£ 2000
Cables£ 1800
Conectores£ 5000
Chips (para depuración)£ 850
Resistencias£ 370
Nutrición£ 800
LEDs£ 1300
Soldadura£ 370
"El resto es hierro"£ 1100



Estadísticas generales de

algunas estadísticas:
Transistores42,400
Resistencias50,500
LEDs10,500
Conectores770
Terminales de contacto7.700
Contactos soldados272,300
Peso de la soldadura4,25 kg
Peso de plomo2,5 kg
Solo cable
1,500 m
Cable de cinta de 20 pines420 m
Longitud total de conductores9.9 km



Tableros utilizados en el proyecto

Tipo de tableroTransistores
en cada
LED
en cada
cantidad
 utilizada

transistores totales

leds totales
2AND5 5372360216
3AND7 74 418 años12672
4AND9 95 55 54525
2OR5 5354270162
3OR7 74 434238136
4OR9 95 523207115
5OR116 61617696
8OR179 96 610254
Xor7 735 53515
2x2 AND_OR149 947658423
2x3 AND_OR18 años117 712677
4x2 AND_OR261716416272
8x2 AND_OR50339 9450297
1BUF22285656
4BUF885 54040
4dec197 7815256
16DEC82217 7574147
2x16MUX118523354156
4x16MUX241932048201860
16REG2263381808264
8ADD3021875 51510935
8LOGIC1581263474378
SPLIT DE AUTOBUS161611919041904
BUS SPLIT (sin LED)0 00 09 90 00 0
DÍGITO 3x2 (7 segmentos)0 00 080 00 0
4 DIGIT (7 )001100
16 DIGIT (7 )00200
BUS 2 BUS004000
2 TEE001700
4 TEE001500
BYTE_2_WORD001300
SHIFT37348296272
8B RAM7666432245122048
4 MEM MUX25240102520400
2 MEM MUX14124114124



:4237010500



Transistores instalados incorrectamente.

Para facilitar su tarea, Newman creó pequeñas placas de circuito con designaciones máximas para los elementos. En cada placa, se indicaron el valor de la resistencia y el método de instalación del transistor.



Todo es simple Pero hubo errores en el proceso: aproximadamente una docena de transistores, James instaló incorrectamente. Y encontrarlos fue una tarea difícil, dado el número total de estos elementos en el proyecto. Intenta hacerlo tú mismo. En la foto a continuación, hay una placa donde uno de los transistores está instalado incorrectamente.



El autor del proyecto pasó horas encontrando el problema. A menudo inspeccionaba el mismo transistor instalado incorrectamente varias veces sin darse cuenta.

Conectores

Conectarse con conectores es una tarea simple. Pero si hay alrededor de 500 de estos compuestos, hay una alta probabilidad de error. Y James se equivocó varias veces.

Cable torcido



En la foto puede ver el problema de inmediato: el cable está torcido y no se utilizan varios contactos. Pero detectar dicho error en la masa de cables y conexiones es muy difícil. Newman pensó que el problema estaba en uno de los módulos, y pasó una gran cantidad de tiempo revisando los módulos. Pero tuve que revisar el cable.

Dientes curvos

También hay un tipo de conexión como IDC (conector de desplazamiento de aislamiento). Se inserta un cable entre los dientes afilados cuyo aislamiento se corta durante la inserción y el cable se conecta a los dientes. Todo es simple En un caso, el "diente" del contacto se dobló y tocó al vecino, cerrando el circuito. Encontrar un problema fue muy difícil.



Y un problema más de naturaleza similar. Solo en este caso, el "diente" doblado no proporcionó el contacto adecuado con el cable.



Cables

La instalación incorrecta de los cables de conexión es otro problema. Además, se detectó con mayor frecuencia después de conectar dichos cables a módulos o soportes individuales. James a veces se equivocaba al colocar el conector en los cables. Naturalmente, el circuito no funcionó. Y nuevamente las horas de búsqueda continuaron, las campanadas de los circuitos, la verificación de los elementos. La foto muestra un cable correctamente engarzado con un conector y un cable con problemas (arriba).



Y aquí hay otra razón común para un circuito roto: un cable subinstalado que no proporciona el contacto adecuado. Cierre de



contacto

Cortocircuito a la carcasa

Hay dos tableros, uno de los cuales no funcionó como debería. Al final resultó que, la razón fue que James dañó el tablero con un destornillador y lo aseguró a los sujetadores, y ese, a todo el soporte. Es casi imposible notar esto a simple vista.



Soldadura

A veces, durante la soldadura, surgen problemas característicos: cortocircuito los contactos con un puente desde la soldadura. En la foto, la imagen se amplía varias veces. Es muy difícil notar tal descenso; debe examinar en detalle todos los elementos en el tablero.



James es ingeniero de circuitos de profesión, y ha estado soldando desde su infancia. En la foto de arriba, la razón es una caída accidental de una gota de estaño en el circuito. Fue un caso aislado todo el tiempo, pero hubo mucho alboroto con él, no fue fácil encontrar la soldadura incorrecta. James inicialmente comenzó a verificar todas las conexiones de la placa y solo entonces decidió inspeccionar el lugar de la soldadura.

Otro problema similar, se encontró solo con una lupa: el puente formado por la soldadura tiene el grosor de un cabello humano.



Y soldar.

Y aquí James, por alguna razón, se olvidó de soldar los contactos. Toda una serie de patas de transistor resultaron ser "desnudas", no unidas a nada. Este problema fue rápidamente descubierto y resuelto.



Defecto del transistor

Este fue uno de los problemas más serios. Hay muchos miles de transistores en el circuito. Y la falla de un solo transistor falla significa un Megaprocesador que no funciona. Para evitar problemas, James verificó cada transistor antes de soldar. Luego, después de soldar. Entonces, todos los transistores en el circuito. Y aún así resultó que algunas placas no funcionaban, y la falla fue el transistor defectuoso. La causa del daño fue generalmente la descarga electrostática. Los transistores tipo 2N7000 son muy sensibles a este tipo de exposición.

Además, si la junta funcionó ayer, hoy ya no podría funcionar. Por qué La razón fue inusual. Es ... una aspiradora llamada Henry.



James Newman pensó que los transistores se dañan cuando se enciende la alimentación de algunos circuitos. Después de comprobarlo, resultó que esto no es así. Y solo después de muchas horas de intentos infructuosos de encontrar una fuente de estática, recordó que recibió una pequeña descarga eléctrica al tocar la aspiradora. Y con esta aspiradora, limpió algunos soportes después de que estuvieran listos, olvidando por completo lo que podría ser la aspiradora (en particular, la limpieza de computadoras y computadoras portátiles con una aspiradora sin aspiradora es lo que muchos fabricantes de PC advierten). Como resultado, Henry fue a limpiar las alfombras, los stands fueron limpiados a mano. Y los transistores dejaron de fallar.

Otros problemas

Había una gran cantidad de ellos. Newman trabajó en el proyecto durante cinco años y, por supuesto, algo sucedía casi todos los días. Errores, fallas técnicas, cortocircuitos, modelado incorrecto y mucho más: esto es solo una pequeña fracción de los problemas. No es posible describir todo esto en un artículo. Es mejor leer lo que James mismo escribe sobre los problemas durante la implementación del proyecto.

Entrevista con James Newman



No podría simplemente escribir sobre este grandioso proyecto sin hacerle algunas preguntas al autor. James inmediatamente acordó hablar un poco sobre su proyecto para los lectores de Geektimes.

¿Cómo se te ocurrió la idea de crear este proyecto?

Sucedió hace cinco años. La idea surgió bajo la influencia de dos factores. Realicé experimentos con transistores para comprender en detalle cómo funcionan. Además, en mi trabajo, mis colegas comenzaron a discutir la posibilidad de construir un sistema informático a partir de circuitos lógicos discretos. Y quería crear una computadora no a partir de microcircuitos separados, sino a partir de transistores discretos. Quería crear un sistema dentro del cual pudiera encajar una persona que pudiera ver cómo funcionaba todo esto. ¿Cómo podría ser?

¿Cuánto tiempo ha pasado entre la idea y el inicio del proyecto?

No demasiado Comencé a realizar trabajos preparatorios para la implementación de todo el proyecto de crear un sistema informático casi de inmediato. Se pasó aproximadamente un año en este trabajo y experimentos.

¿Y qué tan grande es la discrepancia entre el plan inicial y la duración real del proyecto?

Me pareció que podría realizar mi idea en un año. Pero el proyecto tomó casi cinco años. Esto sucedió porque ya comenzando a actuar, decidí construir algo más grandioso de lo que planeé.

¿Qué puede nombrar problemas grandes o pequeños que ocurrieron durante el trabajo? ¿Cuáles de ellos fueron críticos?

El principal problema que dejó de funcionar por un tiempo es el desarrollo del multiplexor. Durante algún tiempo trabajé en resolver el problema del efecto de diodo parásito, que es relevante para los transistores MOS . Deshacerse de este diodo está lleno de importantes dificultades tecnológicas, por lo que aprendieron a soportarlo e incluso a usarlo en soluciones de circuitos. (Ed. ). Como resultado, desarrollé tableros que resolvieron el problema, pero eran más grandes de lo que esperaba.

Otro problema es la complejidad de crear bastidores, su diseño era demasiado complicado. No tengo muy buena imaginación espacial.

Bueno, además de esto, tuve que resolver constantemente problemas menores, solo hubo una gran cantidad de ellos tanto durante el proceso de diseño como durante la implementación del plan.

Si supieras sobre todos estos problemas, ¿trabajarías en un proyecto?

Sospeché que algo así sucedería. Eso no me detendría. Inicialmente, solo quería saber cómo funciona todo. Pero si supiera qué tan grande sería el procesador y cuánto dinero se destinaría al proyecto, no lo haría. El megaprocesador es demasiado grande para mi casa y quiero encontrar otra casa para él.

¿Tuviste alguna idea de dejar de trabajar durante el curso del proyecto?

Hubo varios casos en que se me acabó el entusiasmo, lo que significó una desaceleración. Al mismo tiempo, no me permití relajarme por completo. Todos los días, en tales casos, me obligaba a hacer algo, por insignificante que fuera esta tarea. Me dije a mí mismo: "Puedes comer un elefante, solo necesitas morder pieza por pieza".

Tu proyecto se ha vuelto muy famoso. ¿Hay alguna oferta comercial? ¿Tal vez ya has decidido dar Megaprocesador a algún museo o universidad?

No hay ofertas comerciales! No creo que pueda recuperar el dinero gastado, y este nunca fue el objetivo. Me gustaría dar Megaprocesador a un museo u otra organización similar. Las negociaciones ya están en marcha.

¿Necesita el sistema algún cuidado especial?

No, no se requiere nada por el estilo. Solo se necesita precaución. Esto es especialmente cierto para la electricidad estática: una pequeña carga puede dañar algo.

¿Cómo se ingresan los datos en el sistema?

Actualmente estoy usando una versión modificada del Venom Arcade Stick. Al principio, planeaba usar una interfaz en serie que me permitiera usar una PC. Desarrollé, fabriqué la interfaz, pero aún no la he probado.

¿Cuál es el consumo de energía del sistema?

Pienso en unos 300 vatios. La mayor parte va a los LED.

¿Se rompió algo en el sistema después de que el Megaprocesador estuviera listo?

El único problema que encontré fue un sistema más lento de lo planeado originalmente. Resultó que la razón son las resistencias pull-up nominales incorrectamente seleccionadas. Era necesario elegir resistencias con un valor nominal de no 10k, sino solo 470. Otra cosa no es un problema, sino mi deseo. Me gustaría proporcionar la capacidad de ajustar el brillo de la pantalla. Pero ahora es demasiado tarde para pensarlo.

El megaprocesador tiene muchas decenas de miles de partes. ¿Cuál es la probabilidad de que todo funcione sin averías con el tiempo?

Muy buena pregunta Y miedo. Creo que si no mueve ni toca los componentes electrónicos de todo el sistema, todo estará bien. Pero el problema es que el Megaprocesador está ubicado en mi sala de estar, y tengo que mover las gradas. Cada vez que hago esto, existe la posibilidad de dañar la conexión. La probabilidad es pequeña. Quizás 10%. El sábado pasado, encontré un mal funcionamiento en una de las tablas. Hubo problemas para mover las gradas antes. Por lo tanto, calculé que una vez de cada diez, se produce un mal funcionamiento durante el movimiento de las gradas. Si sumerjo todo en un automóvil e instalo el sistema en una casa nueva, estoy seguro de que tendré algunos fallos de funcionamiento. Alrededor de las diez.

¿Tienes alguna idea para nuevos proyectos?

Lo primero que tengo que hacer es ordenar la casa y el jardín. Fueron abandonados por varios años. Después de eso, veré qué más hacer.

¿Qué puede aconsejar a las personas que planean hacer algo similar?

Consejos prácticos: cuando trabaje en un proyecto de esta magnitud, debe tener una idea clara de lo que está haciendo. Debe ser un profesional en su campo y ser profesional en cada paso. Al desarrollar algo, debe asegurarse de que todos los elementos creados sean compatibles entre sí en la etapa de ensamblaje.

Consejo abstracto: comenzar es fácil, difícil de terminar. ¿Por qué quieres hacer esto? Tan pronto como comience a hacer algo, más tarde se dará cuenta de que esto se puede hacer mejor, y comenzará a completar este paso nuevamente. Y una y otra vez. Hace dos años, me di cuenta de que si rehago todo el tiempo, no terminaré nada. Y decidí parar en la etapa con la evaluación de "no está mal", ya que esta etapa en la mayoría de los casos corresponde a los planes. Sé que hay muchos errores en el proyecto y muchas cosas que podrían hacerse mejor. Pero aún así terminé mi proyecto, y estoy feliz.

Source: https://habr.com/ru/post/es395919/


All Articles