Enseño el único curso de arquitectura informática en una universidad de artes liberales. Se trata de una asignatura obligatoria para los estudiantes de informática. No tenemos ingeniería informática, ingeniería eléctrica, otros cursos de hardware, etc. Mi objetivo principal en el curso es que los estudiantes entiendan hasta el nivel de puerta cómo funcionan los ordenadores, que creo que aprenden mejor a través de un laboratorio de hardware y no sólo a través de un libro de texto ( Organización y diseño de ordenadores de Hennessy y Patterson). Mi objetivo secundario es entusiasmarles con la arquitectura de ordenadores y aumentar su entusiasmo por la informática. Prepararles directamente para la industria no es un objetivo, aunque sí lo es motivarles para que estudien más arquitectura informática. Por lo general, los estudiantes no han tenido ninguna experiencia construyendo nada ni han seguido un curso de laboratorio de nivel universitario. Suelen asistir entre 10 y 15 estudiantes por semestre.
Llevo impartiendo el curso desde 1998 de forma similar a como me enseñaron arquitectura de ordenadores y electrónica digital a finales de los 80 en el MIT: utilizando chips DIP TTL en protoboards. En la primera tarea de laboratorio de hardware, los estudiantes construyen un sumador completo. Hacia la mitad del semestre, empiezan a construir un ordenador sencillo con un conjunto de instrucciones de 8 bits. Para reducir el cableado, les proporciono una placa de circuito impreso con parte de la electrónica (dos flip-flops D, dos ALU LS 181 de 4 bits conectadas entre sí para actuar como una ALU de 8 bits y un búfer triestado). En el primero de estos laboratorios, derivan las señales de control (muy simples) para los dos formatos de instrucción y construyen el circuito, introduciendo las instrucciones en los interruptores y leyendo los resultados de las luces. En el segundo de los laboratorios, añaden un contador de programa (2 LS163) y una EPROM (que mi pregunta original antes de que cambiara a cómo debería enseñar arquitectura introductoria). En el laboratorio final, añaden una instrucción de bifurcación condicional. Aunque los estudiantes pasan bastante tiempo cableando y depurando, creo que es ahí donde tiene lugar gran parte del aprendizaje, y los estudiantes se van con una verdadera sensación de logro.
Sin embargo, la gente de este foro me ha estado diciendo que debería pasarme a las FPGA, con las que no he trabajado antes. Soy ingeniero de software, no informático, y hace tiempo que dejé los estudios, pero soy capaz de aprender. No podría conseguir mucho dinero ( tal vez unos cuantos miles de dólares) para sustituir nuestros actuales entrenadores digitales. Tenemos un único analizador lógico.
Dados mis objetivos y limitaciones, ¿recomendaríais los EE que me mantuviera en mi enfoque actual de cambiar a uno basado en FPGAs? En caso afirmativo, ¿podríais indicarme algún material con el que formarme?
Según lo solicitado, aquí está un enlace al programa de estudios y a las tareas de laboratorio .
Incorporación: Sí, también es un curso de lógica digital. Cuando llegué a mi universidad, los estudiantes debían cursar un semestre de arquitectura de ordenadores y otro de lógica digital, y yo los combiné en un solo semestre. Por supuesto, eso es una afirmación sobre el pasado, no sobre el futuro.