CHAftITREI ARCHITECTURE de BASE
Modèle de Von Neumann Langage d’assemblage1 John Von Neumann est à l'origine d'un modèle de machine universelle de traitement programmé de l’information (1946). Cette architecture sert de base à la plupart des systèmes à microprocesseur actuel. Elle est composée des éléments suivants : une unité centrale une mémoire principale des interfaces d’entrées/sorties Les différents organes du système sont reliés par des voies de communication appelées bus.
Langage d’assemblage2
3 L’unité centrale de traitement (CPU : Central Processing Unit) est constituée : d’une unité arithmétique et logique : c’est l’organe de calcul du calculateur ; de registres : zones de stockage des données de travail de l’UAL (opérandes, résultats intermédiaires) ; d’une unité de contrôle (CU: Control Unit) : elle envoie les ordres ou commandes à tous les autres éléments du calculateur afin d’exécuter un programme. un microprocesseur consiste en une unité centrale de traitement (UAL + registres + unité de contrôle) entièrement contenue dans un seul circuit intégré. L’unité d’entrées/sorties (E/S) est un intermédiaire entre le calculateur et le monde extérieur. L’unité de transfert est le support matériel de la circulation des données. Les échanges d’ordres et de données dans le calculateur sont synchronisés par une horloge qui délivre des impulsions à des intervalles de temps fixes.
La mémoire principale Langage d’assemblage4 La mémoire peut être vue comme un ensemble de cellules ou cases contenant chacune une information ou une instruction ou une donnée. Chaque case mémoire est repérée par un numéro d’ordre unique : son adresse. Physiquement, elle se décompose souvent en : une mémoire morte (ROM = Read Only Memory) chargéede stockerle programme. C’est une mémoire à lecture seule. une mémoirevive (RAM = Random Access Memory) chargée de stocker les données intermédiaires ou les résultats de calculs. On peut lire ou écrire des données dedans, ces données sont perdues à la mise hors tension.
Les Bus Langage d’assemblage5 Un bus est un ensemble de fils qui assure la transmission du même type d’information. un bus de données (Data Bus) : bidirectionnel qui assure le transfert des informations entre le microprocesseur et son environnement, et inversement. Son nombre de lignes est égale à la capacité de traitement du microprocesseur. un bus d'adresses (Adress Bus) : unidirectionnel qui permet la sélection des informations à traiter dans un espace mémoire ou espace adressable qui peut avoir 2 n emplacements, avec n est le nombre de conducteurs du bus d'adresses. un bus de commande (Control Bus) : constitué par quelques conducteurs qui assurent la synchronisation des flux d'informations sur les bus des données et des adresses.
Le microprocesseur Langage d’assemblage6 Un microprocesseur est chargé : d’interpréter et d’exécuter les instructions d’un programme, de lire ou de sauvegarder les résultats dans la mémoire, de communiquer avec les unités d’échange. Toutes les activités du microprocesseur sont cadencées par une horloge. Un microprocesseur est caractérisé par : sa fréquence d’horloge en MHz ou GHz. lenombred’instructionsparsecondes qu’il est capable d’exécuter en MIPS. la taille des données qu’il est capable de traiter en bits.
Langage d’assemblage7 Un microprocesseur exécute un programme. Le programme est une suite d’instructions stockées dans la mémoire. Format d’une instruction Rangement en mémoire Pour exécuter les instructions dans l’ordre établi par le programme, le microprocesseur doit savoir à chaque instant l’adresse de la prochaine instruction à exécuter. Le microprocesseur utilise un registre contenant cette information. Ce registreest appelé pointeurd’instruction (IP: Instruction Pointer) ou compteur d’instructions ou compteur ordinal.
Langage d’assemblage8 Exemple Pour savoir quel type d’opération doit être exécuté (addition, soustraction,...), le microprocesseur lit le premier octet de l’instruction pointée par le pointeur d’instruction (code opératoire) et le range dans un registre appelé registre d’instruction. Le code opératoire est décodé par des circuits de décodage contenus dans le microprocesseur. Des signaux de commande pour l’UAL sont produits en fonction de l’opération demandée qui est alors exécutée.
Langage d’assemblage9 Remarque: pourexécuteruneinstruction,l’UALutilisedesregistresdetravail,exemple l’accumulateur, registre temporaire recevant des données intermédiaires. Pendant que l’instruction est décodée, le pointeur d’instruction est incrémenté de façon à pointer vers l’instruction suivante : puis le processus de lecture et de décodage des instructions recommence. A la suite de chaque instruction, un registre du microprocesseur est actualisé en fonction du dernier résultat : registre d’état du microprocesseur. Chacun des bits du registre d’état est un indicateur d’état ou flag (drapeau).