J'enseigne le seul et unique cours d'architecture informatique dans un collège d'arts libéraux. Le cours est obligatoire pour les majeures et mineures en informatique. Nous n'avons pas de cours de génie informatique, de génie électrique, d'autres cours sur le matériel, etc. pas seulement à travers un manuel ( Organisation et conception informatiquepar Hennessy et Patterson). Mon objectif secondaire est de les exciter sur l'architecture informatique et d'augmenter leur enthousiasme pour l'informatique. Les préparer directement à l'industrie n'est pas un objectif, bien que les motiver à étudier davantage l'architecture informatique le soit. Les étudiants n'ont généralement aucune expérience dans la construction de quoi que ce soit ou dans un cours de laboratoire de niveau collégial. En règle générale, 10 à 15 étudiants suivent le cours par semestre.
J'enseigne le cours depuis 1998 d'une manière similaire à la façon dont on m'a enseigné l'architecture informatique et l'électronique numérique à la fin des années 1980 au MIT: en utilisant des puces DIP TTL sur des platines motorisées. Lors de la première affectation de laboratoire de matériel, les étudiants construisent un additionneur complet. Vers la moitié du semestre, ils commencent à construire un ordinateur simple avec un jeu d'instructions 8 bits. Pour réduire le câblage, je leur fournis un PCB avec une partie de l'électronique (deux bascules D, deux ALU LS 181 4 bits câblés ensemble pour agir comme une ALU 8 bits et un tampon à trois états). Sur le premier de ces laboratoires, ils dérivent les signaux de commande (très simples) pour les deux formats d'instructions et construisent le circuit, saisissant les instructions sur les commutateurs et lisant les résultats des lumières. Sur le deuxième des laboratoires, ils ajoutent un compteur de programme (2 LS163) et une EPROM (quima question initiale portait sur, avant de passer à la façon dont je devrais enseigner l'architecture d'intro). Dans le laboratoire final, ils ajoutent une instruction de branchement conditionnel. Alors que les étudiants passent beaucoup de temps à câbler et à déboguer, je pense que c'est là que se déroule une grande partie de l'apprentissage, et les étudiants repartent avec un réel sentiment d'accomplissement.
Les gens sur ce forum m'ont dit, cependant, que je devrais passer aux FPGA, avec lesquels je n'ai jamais travaillé auparavant. Je suis ingénieur logiciel, pas ingénieur en informatique, et je ne suis plus à l'école depuis un certain temps, mais je suis capable d'apprendre. Je ne pourrais pas obtenir beaucoup d'argent ( peut - être quelques milliers de dollars) pour remplacer nos formateurs numériques existants. Nous avons un analyseur logique unique.
Compte tenu de mes objectifs et de mes contraintes, recommanderiez-vous aux EE de m'en tenir à mon approche actuelle de basculer vers une approche basée sur les FPGA? Dans ce dernier cas, pouvez-vous me donner des indications sur le matériel avec lequel m'éduquer?
Comme demandé, voici un lien vers les programmes et les travaux de laboratoire .
Addition: Oui, c'est aussi un cours de logique numérique. Quand je suis arrivé à mon collège, les étudiants devaient prendre un semestre de chaque architecture informatique et logique numérique, et je les ai combinés en un seul semestre. Bien sûr, c'est une déclaration sur le passé, pas sur l'avenir.