Un transistor un composant électronique commandé de façon intélligente. C’est un élément de base des circuits logiques. Et plus on a de transistors, plus le microprocesseur calcule vite
Activité : Une porte logique avec des transistors
->Écrire la table de vérité pour déterminer la fonction logique obtenue:
Un processeur est un circuit électronique qui utilise des fonctions pour réaliser n’importe quel type d’algorithme en combinant les calculs, expressions logiques et le stockage des données.
Toutes les opérations logiques sont réalisées avec des circuits logiques.
Architecture de Von Neumann
ALU = arithmetic-logic unit. Cette unité permet d’effectuer des calculs dans un ordinateur, donne un ordre des informations récupérés dans la mémoire
l’Unité Arithmétique etr logique éxécute les instructions du programme en commençant par les cacluls, ensuite les opérations logiques, puis les comparaisons
L’accumulateur est un registre spécial ou sont versés les résultats intermédiaires.
Les entrées et sorties permettent de communiquer avec le monde extérieur.
La mémoire stocke le programme ( données et instructions) en binaire.
la loi de moore dit que les transistors allaient doubler de performance et de puissance tous les deux jusqu’au 2015 où ils atteindraient la taille de l’atome
Programmation en assembleur
L’assembleur est un langage plus facile à écrire sur la machine.
Grâce à un simulateur, nous pouvons programmer en assembleur
Un exemple de code en assembleur simplifié y86 : irmovl 9,%eax
Résultat de l’assemblage en langage machine :1100001111000000001001000000000000000000000000
cette écriture repréente la difficulté pour un humain d’utiliser la binaire. ça montre aussi que l’assembleur contient des symboles plus faciles à retenir.
chaque processeur a son propre fonctionnementd’instructions et ne peut éxécuter que le langage machine qui est aussi propre à chaque processeur (ou famille de processeur)
Dans les activités qui suivent, nous allons utiliser le simulateur y86
Activité 1
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
Activité 2:
Effectuer l’addition et enregistrer le résultat dans le registre %ebx:
Modifier le programme pour effectuer la soustraction 6-9 dans %ebx
Avec le complément à 2 on déduit que le code héxadécimal correspond bien à -3
Activité 3:
On ne peut pas enregistrer le résultat à la site du programme car les instrutions sont codées sur 32 bits et pour ne pas modifier en cours d’éxécution
Projet 1: assembleur
→ Écrire un programme en python puis en assembleur qui calcule la somme de nombres de 1 à 1000.
Python:
0x7a314=500500
vérification: (1001*1000)/2=500500
Assembleur:
On retrouve bien le même résultat