====== Processeur Complet ====== ==== Circuit d'un processeur complet ===== Voici une version simplifiée du CPU y86 (en 4 bits) réalisé avec le simulateur //SimCirJS//. Ce n'est pas encore la vraie architecture y86, mais on trouvera les principaux blocs fonctionnels : * une //Register File// avec 3 registres 4 bits (R1, R2, R3) * un circuit ALU * une ROM (16 instructions max) * le bloc NewPC Parmi les instructions disponibles, on a déjà NOP, ADD, AND, XOR, IRMOV, RRMOV, JMP, HALT... * [[ http://dept-info.labri.fr/ENSEIGNEMENT/archi/circuits/mycpu.html | My CPU 4bits]] ==== Processeur Séquentiel y86 ==== On se base dans cette partie sur le simulateur y86 et le langage HCL comme //backend//. * Simulateur y86 (version modifié Université de Bordeaux) : [[ http://dept-info.labri.fr/ENSEIGNEMENT/archi/sim.tgz | sim.tgz ]] * Architecture Seq. y86 : [[http://dept-info.labri.fr/ENSEIGNEMENT/archi/Seq/ | web ]] {{:archi:seq.pdf | pdf}} * Cours (Carnegie Mellon University) : [[http://dept-info.labri.fr/ENSEIGNEMENT/archi/CSAPP/seq.pdf | résumé ]] ou [[http://dept-info.labri.fr/ENSEIGNEMENT/archi/CSAPP/class3-sequential.pdf|détaillé]] * Cours de l'univesité de Carnegie Mellon * Supports : http://csapp.cs.cmu.edu/public/courses.html * Simulator Guide : http://csapp.cs.cmu.edu/2e/simguide.pdf L'ajout d'instruction se fait dans le code du simulateur en modifiant le code HCL du fichier //seq/seq-std.hcl// et éventuellement en ajoutant du code dans les fichiers //misc/isa.{c,h}//