Répondre au fur et à mesure au questionnaire:

https://capytale2.ac-paris.fr/web/c/4a3e-6308251/mlc

https://interstices.info/comment-fonctionne-une-machine-de-turing/

Grace aux travaux de Turing Von Neumann a défini en 1944 l’architecture d’un ordinateur.
https://interstices.info/le-modele-darchitecture-de-von-neumann/

Peu connu du grand public, le mathématicien hongrois John von Neumann (1903-1957) a pourtant élaboré des théories dont les applications ont définitivement changé le cours de l’humanité, de la bombe atomique à la révolution numérique.Si vous voulez en savoir plus visionnez La vidéo ci-dessous (57 minutes )


Le transistor a été inventé len 1947 par les Américains John Bardeen, William Shockley et Walter Brattain, chercheurs des Laboratoires Bell. Ces chercheurs ont reçu pour cette invention le prix Nobel de physique en 1956.

Après avoir visionné la vidéo ci-dessous rédiger la réponse à la question :

Qu’est ce qu’un transistor ?

Le transistor est l’élément de base des circuits logiques

le circuit ci dessus permet de simuler sur logisim une porte logique à l’aide de deux transistors. Vous pouvez télécharger le fichier et l’ouvrir avec logisim ou réaliser le circuit sur directement. Écrire la table de vérité pour déterminer la fonction logique obtenue. télécharger    

Toutes les opérations logiques sont réalisées avec des circuits logiques.

conjecture de Moore

Modèle de Von Neumann                 

L’unité de commande ou de contrôle récupère les informations dans la mémoire et donne les ordres à l’UAL.

L’unité arithmétique et logique ALU (ou UAL) exécute les instructions du programme une par une en commençant par la première (calculs , les opérations logiques les comparaisons.)

L’accumulateur est un registre spécial ou sont versés les résultats intermédiaires.

Les entrés et sorties permettent de communiquer avec le monde extérieur.

La mémoire stocke le programme ( données et instructions) en binaire.

Dans les ordinateurs actuels on trouve plusieurs processeurs séparés ou plusieurs cœurs intégrés dans une même puce.

Comparer brièvement votre processeur (pc lycée ou personnel) avec celui de mon pc de bureau.

Il est difficile pour un humain d’écrire directement en langage machine (binaire). On utilise un langage plus lisible : l’assembleur.

Dans ce qui suit nous allons programmer en assembleur grâce à un simulateur.

un exemple de code en assembleur simplifié y86 :  irmovl 9,%eax

Résultat de l’assemblage en langage machine :1100001111000000001001000000000000000000000000

Cette écriture présente bien des inconvénients pour un humain et justifie l’utilisation de l’assembleur qui remplace les séquences de bits par des symboles plus faciles à retenir.

Chaque processeur a son jeu d’instructions et ne peut exécuter que le langage machine.L’assembleur chargé d’obtenir ce langage machine est donc propre à chaque  processeur (ou famille de processeur).

Dans les activités qui suivent nous allons utiliser le simulateur y86

 

Architecture x86

https://fr.wikipedia.org/wiki/X86

Simulateur y86

Ouvrir le simulateur y86

https://aurelien-esnard.emi.u-bordeaux.fr/wiki/doku.php?id=archi:y86

 https://dept-info.labri.fr/ENSEIGNEMENT/archi/js-y86/ 

Remplacer le code existant par le code ci-dessous

.pos 0
    irmovl 9,%eax
    halt

Cliquer sur assemble puis faire exécuter le code obtenu (pas à pas avec Step ) avec Start. Vérifiez que le programme stocke la valeur “immédiate” 9 dans le registre  %eax.     Le registre est une mémoire interne très rapide du processeur . 

 La dernière instruction qui marque la fin du programme se trouve à l’adresse 0x0006 

 Le processeur exécute les instructions de façon séquentielle et un compteur ordinal PC lui donne l’adresse de l’instruction suivante : ici 0x0007

Enregistrons la valeur “immédiate” 9 dans le registre %eax

Enregistrons la valeur “immédiate” 6 dans le registre %ebx

Effectuons l’addition et enregistrons le résultat dans le registre %ebx

Fin du programme

L’implémentation de cette séquence d’instructions en assembleur “y86” donne :

.pos 0
    irmovl 9,%eax
    irmovl 6,%ebx
    addl %eax,%ebx
    halt

Saisir puis exécuter ce code.

Modifions  le programme pour effectuer la soustraction 6-9 dans %ebx

.pos 0
    irmovl 9,%eax
    irmovl 6,%ebx
    subl %eax,%ebx
    halt

Notez et justifiez la valeur hexadécimale stockée dans %ebx

Le résultat de la soustraction donne : 0xf f f f f f f d ou f f f f f f f d(16)

Ce nombre correspond  il à -3 ?

première méthode: complément à 2

f f f f f f f d(16)

Écriture en binaire

1111 1111 1111 1111 1111 1111 1111 1101

Inversion des bits

0000 0000 0000 0000 0000 0000 0000 0010

Ajout de 1

0000 0000 0000 0000 0000 0000 0000 0011

3 en décimal !

Deuxième méthode : on ajoute 3

1111 1111 1111 1111 1111 1111 1111 1101

0000 0000 0000 0000 0000 0000 0000 0011


0000 0000 0000 0000 0000 0000 0000 0000

la somme donne bien 0

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *