31
Ordinateur pédagogique 1/29 Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs on eu la tentation de développer des outils logiciels pour évaluer l'impact de décisions architecturales. Dans les années 80/90 la conception de processeurs est devenue une science, avec ses lois et ses modèles mathématiques, principalement grâce à des conférences (workshops, symposiums) internationales sur l'architecture des ordinateurs (environ une vingtaine aujourd'hui, généralement bisannuelle) http://www.wikicfp.com/cfp/call?conference=computer_architecture Alain Guyot http://users-tima.imag.fr/cis/guyot/Cours/ http://www.aconit.org/histoire/calcul_mecanique/

Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 1/29

Petite Histoire des Ordinateurs Pédagogiques

Beaucoup d'enseignant en architecture des ordinateurs on eu la tentation de développer des outils logiciels pour évaluer l'impact de décisions architecturales.

Dans les années 80/90 la conception de processeurs est devenue une science, avec ses lois et ses modèles mathématiques, principalement grâce à des conférences (workshops, symposiums) internationales sur l'architecture des ordinateurs (environ une vingtaine aujourd'hui, généralement bisannuelle)

http://www.wikicfp.com/cfp/call?conference=computer_architecture

Alain Guyothttp://users-tima.imag.fr/cis/guyot/Cours/

http://www.aconit.org/histoire/calcul_mecanique/

Page 2: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 2/29

Page 3: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 3/29

Page 4: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 4/29

Notions à illustrer

•Le "pipeline" qui perme de spécialiser certaines parties de la machine dans l'exécution d'une partie (toujours la même) de l'instruction (plus c'est spécialisé, plus c'est rapide). C'est l'équivalent de "travail à la chaîne"

•Les "dépendances" entre instructions

•La segmentation qui permet de protéger matériellement les ressources mémoire d'un programme contre un autre, malintentionné ou simplement maladroit

•La pagination / mémoire virtuelle qui permet, avec une mémoire rapide mais petite et une mémoire grosse mais lente de simuler une mémoire rapide ET grosse (les mémoires c'est comme les administrations : plus c'est gros plus c'est lent).

•L'adressage virtuelle, qui permet à tout programme de s'exécuter en machine comme s'il y était tout seul. Tout les programmes s'exécutent aux mêmes adresses virtuelle, un circuit matériel transforme ces adresses virtuelles en des adresses réelles différentes

Les ordinateurs sont devenus TRES compliqués

Page 5: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 5/29

Notions à illustrer (cont.)

•L'exécution dans le désordre qui permet d'exécuter simultanément et aussitôt que possible des instructions qui sont écrites pour s'exécuter séquentiellement

•La prédiction (de branchement), qui permet de deviner la décision d'un programme en fonction des décisions passées (le passé est un bon prédicteur de l'avenir).

•L'anticipation, qui consiste à exécuter un bout de programme avant de savoir si c'est vraiment nécessaire. Il faut pouvoir en cas d'erreur annuler totalement l'exécution de ce bout de programme.

•La spéculation, qui consiste à exécuter un bout de programme avant d'en avoir calculé les paramètres (les valeurs probables de certains paramètres sont la valeur précédente ou la valeur précédente plus un).

Ces mécanismes sont souvent gourmands en transistors, ce qui donne la loi du "retour sur investissement diminuant" (diminishing return) dite aussi loi des "branches basses".

Page 6: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 6/29

Computer Architecture educational tools

http://www.ecs.umass.edu/ece/koren/architecture/

. Cache Demonstrator· Cache-TLB Simulator · Cache Transient Reloads · Victim Cache Simulator· Selective Victim Cache Simulator· Dual Cache Simulator· XOR Cache Simulator· Page Replacement Policies Demo (Javascript)· New Page Replacement Policies (Java Applet)· Virtual Memory Simulator · Memory Interleaving Demo. Pipelining (w & w/o forwarding) · Pipelining (Static vs. Dynamic scheduling)· Scoreboarding

· Tomasulo's algorithm (Java Applet)· Tomasulo's algorithm (Javascript)

· Reorder Buffer· Loop Unrolling· Loop Unrolling in VLIW

· Reservation Table Analyzer· The SimpleScalar simulator· The M-Sim (Multi-threaded) simulator. Branch Prediction· Branch Target Buffer· RAID Tutorial· Vector Processor Simulation

Page 7: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 7/29

Special issue of IEEE micro

Pédagogie et enseignem

ent de l’architecture dans les universités

Page 8: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 8/29

Conférence et journal (en portugais)

O International Journal of Computer Architecture Education (IJCAE) é uma publicação mantida pela Comissão Especial de Arquitetura de Computadores e Processamento de Alto Desempenho (CEACPAD) da SBC. Criado em assembléia do SBAC-PAD em 2010, o IJCAEpossui como objetivo divulgar trabalhos acadêmicos e científicos da área de Educação em Arquitetura de Computadores. Os artigos submetidos podem ser escritos em Português, Inglês e

Espanhol.

Page 9: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 9/29

Quelques ordinateurs pédagogique• Microprocesseur DLX • DLX (cont.)• Pipe-line du DLX (Cont.)

• Simple-CPU • Simple-CPU (Cont.)• Simple-CPU (Cont.)• Simple-CPU (Cont.)

• TiniMips : sous ensemble de MIPS• TiniMips (cont.)• TiniMips (cont.)

• Processeur microprogrammé• Processeur microprogrammé (cont.)

• Micro-processeur LC-3 • Instructions du LC-3 (cont.)

• Little thinker

• Pedagogic Computer• Pedagogic Computer (cont.)

Nous avons choisi 7"ordinateurs pédagogiques"

Les plus intéressants sont à la fin

Page 10: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 10/29

Microprocesseur DLX Le DLX (pronounced "Deluxe") est un microprocesseur pédagogique introduit par John L. Hennessy et David A. Patterson en 1981 dans « Computer Architecture: A Quantitative Approach » (5 rééditions). Instructions de 32 bits. (http://fr.wikipedia.org/wiki/DLX).

Jeu de 33 instructions

Page 11: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 11/29

DLX (cont.)

Page 12: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 12/29

Pipe-line du DLX (Cont.)

Page 13: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 13/29

Simple-CPU http://www.simple-cpu.com/

Le projet Simple-CPU a pour objet la création d'un processeur de type RISC libre (diffusé sous licence GPL) caractérisé par : • Une architecte simple et un jeu d'instruction réduit et classique pour une vocation pédagogique.• La fourniture d'un ensemble logiciels et système complet pour une utilisation industrielle.Le processeur est écrit en langage VHDL pour une cible en développement de type FPGA Xilinx. Il est initialement conçu autour d'un kit de démarrageSpartan-3. La chaîne de développement utilisée est entièrement sous Linux. Simple-CPU est bâti autour d'une architecture 32 bits de type RISC,Load/Store. Il utilise pour communiquer avec les autres périphériques un bus Wishbone lui assurant une interconnectivité maximale avec les IPs libres distribuées par le projet OpenCores.

Simple-CPU est implémenté sur carte Xilinx Spartan, pour 120 €

Page 14: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 14/29

Simple-CPU (Cont.)

Jeu de 21 instructions

Page 15: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 15/29

Simple-CPU (Cont.)

Page 16: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 16/29

Simple-CPU (Cont.)

Page 17: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 17/29

TiniMips : sous ensemble de MIPS

David Harris at Harvey Mudd College, Claremont, California

http://www.eng.utah.edu/~cs6710/slides/mipsx2.pdf http://www3.hmc.edu/~harris/cmosvlsi/4e/index.html

MIPS Architecture* Example: subset of MIPS processor architecture, Drawn from Patterson & HennessyMIPS is a 32-bit architecture with 32 registers• Consider 8-bit subset using 8-bit datapath• Only implement 8 registers ($0 - $7)• $0 hardwired to 00000000• 8-bit program counter

But : faire concevoir, simuler, vérifier, TiniMips en VHDL

Page 18: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 18/29

TiniMips (cont.)

Jeu de 10 instructions

Page 19: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 19/29

TiniMips (cont.)

Calcul du n-ième nombre de la suite de Fibbonaci (sic.)

La suite de Fibonacci est une suite d'entiers dans laquelle chaque terme est la somme des deux termes qui le précèdent« Un homme met un couple de lapins dans un lieu isolé de tous les côtés par un mur. Combien de couples obtient-on en un an si chaque couple engendre tous les mois un nouveau couple àcompter du troisième mois de son existence ? » (Wikipedia)

Page 20: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 20/29

Processeur microprogramméDenis Bouhineau, Maître de conférences (UJF), enseignant à Polytech

http://www.youtube.com/watch?v=bVSkvr89zoohttp://www.noe-kaleidoscope.org/people/DenisB/Enseignement/Architecture/http://www.noe-kaleidoscope.org/public/people/DenisB/Enseignement/Architecture/DemoProcesim.htm

Page 21: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 21/29

Processeur microprogrammé (cont.)

… En cette journée de grève, privé d'étudiant, j'ai construit une petite démonstration avec le logiciel ProceSim (et wink pour le coté démo) que nous utilisons pour visualiser le passage entre le niveau circuit et niveau langage machine. (Denis Bouhineau)

ProceSim est également utilisé par Pascal Sicard (thèse avec Pr. Saucier)

Sur demande, je peux faire un petit rappel sur la microprogrammation

Il n’y a pas de jeu d’instruction !

Page 22: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 22/29

Micro-processeur LC-3

http://www.liafa.jussieu.fr/~carton/Enseignement/Architecture/Cours/LC3/

Le microprocesseur LC-3 est à vocation pédagogique. Il n'existe pas de réalisation concrète de ce processeur mais il existe des simulateurs permettant d'exécuter des programmes. L'intérêt de ce microprocesseur est qu'il constitue un bon compromis de complexité. Il est suffisamment simple pour qu'il puisse être appréhendé dans son ensemble et que son schéma en portes logiques soit accessible. Il comprend cependant les principaux mécanismes des microprocesseurs (appels système, interruptions) et son jeu d'instructions est assez riche pour écrire des programmes intéressants (O. Carton)

Olivier Carton, Laboratoire d'Informatique Algorithmique, Paris 7

Page 23: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 23/29

Instructions du LC-3 (cont.)

Jeu de 20 instructions

Page 24: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 24/29

MARIE (Machine Architecture that is Really Intuitive and Easy)

Linda Null and Julia Lobur, Pennsylvania State Universityhttp://www.amazon.com/The-Essentials-Computer-Organization-Architecture/dp/1449600069

Page 25: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 25/29

Marie (Cont.)

Jeu de 15 instructions

MARIE exhibits the classical von Neumann design, and includes a program counter, an accumulator, an instruction register, 4096 bytes of memory, and two addressing modes. Assembly language programming is introduced to reinforce the concepts of instruction format, instruction mode, data format, and control.

MarieSim écrit en Java. Source disponible.

Page 26: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 26/29

Marie (Cont.)MarieSim, has a user-friendly GUI that allows students to: (1) create and edit source code; (2) assemble source code into machine object code; (3) run machine code; and, (4) debug programs.

Page 27: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 27/29

Little thinker

http://sylvain.cherrier.free.fr/LT/LittleThinker0.1.pdfhttp://sylvain.cherrier.free.fr/LT.html

Sylvain Cherrier, enseignant à l'Université de Marne-la-Vallée

Réalisé en Java(sources disponibles)

3 fenêtres:1- État processeur2- Mémoire (instructions)3- Trace d’exécution

Jeu de 19 instructions

PAS DE CODAGE !

Page 28: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 28/29

Utilisation de l'adressage mémoire indexé. Ce

programme prend l'entier fourni en case mémoire

$15, puis en cherche tous les diviseurs, et les stocke

un par un dans les cases mémoires à partir de $16

Page 29: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 29/29

Experiences in the design of a Pedagogic Computer

E. Pastor, F. Sanchez, A. Del Corral Universitat Politècnica de Catalunya. Barcelona

http://biblioteca.universia.net/html_bura/ficha/params/title/rudimentary-machine-experiences-in-the-design-of-pedagogic-computer/id/49609881.htmlftp://ftp.ac.upc.es/pub/archives/mr (ne marche pas !!!)http://www.ncsu.edu/wcae/ISCA1998/pastor.pdf

Jeu d’instructions (15 instructions)

Page 30: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 30/29

Pedagogic Computer (cont.)

Jeu d’instructions et format (cont.)

Page 31: Petite Histoire des Ordinateurs Pédagogiques ordinateur...Ordinateur pédagogique 1/29Petite Histoire des Ordinateurs Pédagogiques Beaucoup d'enseignant en architecture des ordinateurs

Ordinateur pédagogique 31/29

Conclusion

lire l’instruction suivante

exécuter l’instruction

•Maquette ET logiciel ?•Jeu d’instruction extensible ?•Instructions codées (en binaire) ?•Sous-ensemble d’un VRAI processeur ?•Instructions arithmétiques complexes (mult, div, mod) ?•Mode adressage (indirect, indexé, pile, immédiat, …)•Outils de mise au point (trace, assembleur dynamique, ..)

Pas d’ "Ordinateur Pédagogique" pour lycéen