Frank Duggan: Micro Arquitectura y Aspirantes al MIT
Frank Duggan y su padre en NYC Maker Faire
Judy Warner: ¿Qué fue lo que primero te interesó a desarrollar tu propia microarquitectura usando lógica discreta?
Frank Duggan: Sin saber realmente los detalles, era algo que quería hacer desde que era pequeño. Estaba obsesionado con mi kit de electrónica Snap Circuits, y me gustaba desafiarme a mí mismo para construir circuitos que hagan varias cosas. En algún momento, decidí que construir un ordenador era el desafío final. Esto fue probablemente porque los encontré muy misteriosos y concluí que si no entendía cómo eran posibles, debían ser muy difíciles de diseñar.
Warner: ¿Has hecho programación en lenguaje ensamblador para otros dispositivos? Si es así, ¿había cosas que querías cambiar y por qué?
Duggan: No he programado en ningún otro lenguaje ensamblador, aunque sé un poco sobre el ensamblaje ARM. Cuando estaba haciendo el lenguaje ensamblador BEEBA, no tomé en consideración los diseños existentes del lenguaje ensamblador. Acabo de ver el conjunto de instrucciones que ejecuta el hardware e ideé una forma de representarlo en texto.
Warner: ¿Cuál fue tu mayor desafío durante el desarrollo de Rev 2 de BEEBA?
BEEBA
Duggan: El mayor desafío fue diseñar el decodificador de instrucciones. Necesitaba encontrar una manera de permitir las operaciones de ramificación y bucle. Las instrucciones de 16 bits no son lo suficientemente amplias como para especificar una instrucción para saltar y una ubicación desde la que leer para decidir si saltar allí o no. Después de una lluvia de ideas, encontré una solución que funciona dentro del sistema de copiar datos de una ubicación a otra. Se utilizan tres ubicaciones grabables para almacenar una posición de instrucción. Una cuarta ubicación de escritura se utiliza para decidir si saltar o no a la posición de almacenamiento intermedio. Cuando se envía un número impar a esa ubicación, el ordenador de instrucciones copia la ubicación almacenada en el contador del programa. Cuando se envía un número par a esa ubicación, el ordenador no hace nada y pasa a la siguiente instrucción en la secuencia. La implementación electrónica de esto fue simple y podría caber en el espacio limitado de la placa del decodificador de instrucciones.
Warner: ¿Qué técnicas usaste para depurar la placa?
Duggan: Utilicé cables de puente para conectar partes del ordenador a una placa de pruebas para poder probarlas de forma aislada. A veces conectaba una sola placa del ordenador, a veces conectaba algunas placas. Encontré un error en la placa de registro de uso general donde estaba leyendo ubicaciones de lectura/escritura al revés. Como ya tenía las tablas en este punto, tuve que hacer agujeros en ellas y hacer las conexiones correctas con los cables.
Warner: ¿Qué métodos usaste para crear prototipos antes de comenzar el diseño de PCB?
Duggan: construí partes del diseño en una placa de pruebas bastante grande. Para probarlos, conecté interruptores y LED a ciertos pines de entrada y salida. Después de asegurarme de que funcionaran, los dibujé en el programa CAD que estaba usando.
Warner: ¿Has diseñado esto como código abierto? Si es así, ¿dónde puede mirarlo la gente?
Duggan: ¡Lo es ahora! https://github.com/giraffeics/BEEBA Debería haber publicado los archivos de diseño hace mucho tiempo, pero ahora están ahí.
Warner: ¿Cuáles son tus aspiraciones para la universidad, y cuál sería tu elección #1 para una universidad y por qué?
Duggan: Me gustaría estudiar Ingeniería Eléctrica y/o Ciencias Informáticas. Los he estado haciendo de alguna manera durante años, y me gusta hacerlo, por lo que no tendría sentido parar ahora. MIT es mi elección número 1 desde que visité el campus y realicé un recorrido. Mi primera prioridad con las escuelas es el plan de estudios, y el MIT ofrece flexibilidad que me permitiría perseguir mis intereses tanto en ingeniería eléctrica como en informática. Ofrecen cursos muy específicos, como gráficos por ordenador y un curso donde los estudiantes diseñan un procesador. Me gusta aprender haciendo, y ese es literalmente el ideal por el que se fundó la escuela: "Mens et Manus". Además, hablé con algunos estudiantes durante mi visita, y uno de ellos me contó sobre las oportunidades laborales que tenía mientras estudiaba en el MIT, que incluía trabajar para Google. La capacidad de obtener un trabajo serio en el campo mientras estás en la universidad es ciertamente atractiva. Finalmente, oportunidades de investigación. Esto es muy importante para mí, ya que lo veo como una forma de hacer contribuciones significativas al campo. Sé que la mayoría de las universidades hoy en día se jactan de la investigación que se realiza en su institución, pero el MIT es, sin embargo, un gran lugar en ese frente.
Aprendiendo sobre BEEBA de Frank Duggan
Warner: Frank, fue un placer conocerte en NYC Maker Faire, y muchas gracias por esta inspiradora entrevista. Deseándote todo lo mejor mientras esperas la universidad, y nuestro equipo en Altium tiene los dedos cruzados para que aterrices en el MIT.
Duggan: Gracias Judy. Fue un placer conocerte y agradezco la entrevista y el apoyo.
Mira el video de Duggan en YouTube que describe BEEBA, AQUÍ