Architectures matérielles

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

Laisser un commentaire

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