nsi:premiere:architecture:machine_von_neumann
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| nsi:premiere:architecture:machine_von_neumann [2022/04/08 18:45] – goupillwiki | nsi:premiere:architecture:machine_von_neumann [2023/04/19 23:29] (Version actuelle) – [Unité arithmétique et logique] goupillwiki | ||
|---|---|---|---|
| Ligne 21: | Ligne 21: | ||
| * La mémoire comme toute la machine est cadencée par une horloge **CLK**.\\ Les changements opèrent quand CLK a un **front montant** (passe de 0 à 1) | * La mémoire comme toute la machine est cadencée par une horloge **CLK**.\\ Les changements opèrent quand CLK a un **front montant** (passe de 0 à 1) | ||
| * **sel** permet d' | * **sel** permet d' | ||
| - | * **ld** met la mémoire en lecture (Mémoire vers **BUS**). ld = 0, signifie qu'on est dans l'autr sens (BUS vers mémoire) | + | * **ld** met la mémoire en lecture (Mémoire vers **BUS**). ld = 0, signifie qu'on est dans l'autre sens (BUS vers mémoire) |
| ===== Unité arithmétique et logique ===== | ===== Unité arithmétique et logique ===== | ||
| Ligne 39: | Ligne 39: | ||
| Par ailleurs l'UAL transmet des informations sur ACC : | Par ailleurs l'UAL transmet des informations sur ACC : | ||
| - | * si UAL = 0 | + | * si ACC = 0 |
| - | * si UAL > 0 | + | * si ACC > 0 |
| <WRAP tip>Pour l' | <WRAP tip>Pour l' | ||
| Ligne 57: | Ligne 57: | ||
| * **LDA :** // | * **LDA :** // | ||
| * **STO :** // | * **STO :** // | ||
| - | * **BRA :** // | + | * **BRA :** // |
| - | * **BRZ :** // | + | * **BRZ :** // |
| - | * **BRP :** // | + | * **BRP :** // |
| <WRAP tip>Sans les deux dernières instructions, | <WRAP tip>Sans les deux dernières instructions, | ||
| <WRAP box> | <WRAP box> | ||
| - | La mémoire contient :\\//écrit en hexadécimal, | + | La mémoire contient :\\ //écrit en hexadécimal, |
| <code lang-none> | <code lang-none> | ||
| 6A 2B 8C 00 00 00 00 00 00 00 05 03 00 00 00 00 | 6A 2B 8C 00 00 00 00 00 00 00 05 03 00 00 00 00 | ||
| Ligne 105: | Ligne 105: | ||
| * dans certains cas, plusieurs chemins quittent un état. La machine emprunte alors le seul chemin possible selon le cas (//des conditions sont précisées surs ces transitions// | * dans certains cas, plusieurs chemins quittent un état. La machine emprunte alors le seul chemin possible selon le cas (//des conditions sont précisées surs ces transitions// | ||
| * dans les états, on précise ce que doit faire la machine.\\ Par exemple, dans l' | * dans les états, on précise ce que doit faire la machine.\\ Par exemple, dans l' | ||
| - | * Pour mémoriser l' | + | * Pour mémoriser l' |
| <WRAP box>=== Questions === | <WRAP box>=== Questions === | ||
| Ligne 115: | Ligne 115: | ||
| <WRAP tip>Ces quelques questions vous montre comment on peut définir les équations logiques de tous les signaux dont nous avons besoin et obtenir les transitions prévues par le schéma. Si nous voulions une UC plus performante avec un jeu d' | <WRAP tip>Ces quelques questions vous montre comment on peut définir les équations logiques de tous les signaux dont nous avons besoin et obtenir les transitions prévues par le schéma. Si nous voulions une UC plus performante avec un jeu d' | ||
| + | |||
| + | ===== Simulation sur Logisim ===== | ||
| + | |||
| + | Chargez {{ .: | ||
| + | |||
| + | Pour simuler, choisissez l' | ||
| + | |||
| + | Ensuite, vous ferez avancer la simulation pas à pas en faisant des tops d' | ||
| + | |||
| + | <WRAP box>=== À faire === | ||
| + | * Avec l' | ||
| + | * Entrez dans la mémoire le contenu vu précédemment :<code lang-none> | ||
| + | 6A 2B 8C 00 00 00 00 00 00 00 05 03 00 00 00 00 | ||
| + | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ||
| + | </ | ||
| + | * Exécutez (comme décrit ci-dessus).\\ Observez que le programme se déroule bien comme prévu, en passant bien par tous les états indiqués par la machine à états. | ||
| + | </ | ||
| + | |||
| + | <WRAP box>=== Plus gros programme === | ||
| + | |||
| + | * Télécharger le fichier {{ : | ||
| + | * dans la mémoire, chargez ce fichier, | ||
| + | * décodez le contenu de ce programme.\\ En particulier vous devez deviner quelles cases mémoires correspondent à des instructions et quelles cases correspondent à des données utilisées par le programme. | ||
| + | * Exécutez et vérifiez le bon fonctionnement. | ||
| + | </ | ||
| + | |||
| + | <WRAP tip>Dans le 2e cas, faire toute l' | ||
nsi/premiere/architecture/machine_von_neumann.1649436326.txt.gz · Dernière modification : de goupillwiki
