Cours Calculateur et interfaçage L3 systèmes de Télécommunications S. HAROUN Pa

Cours Calculateur et interfaçage L3 systèmes de Télécommunications S. HAROUN Page 1 | 11 Chapitre No 03 Architecture d’un Microprocesseur (CPU). 1. Introduction Un microprocesseur ou processeur ou encore CPU (Central Processing Unit pour Unité Centrale de Traitement en français) est l'unité intelligente de traitement des informations. C'est un circuit intégré complexe à très grande échelle d’intégration. Il est chargé d’organiser les tâches précisées par le programme, de les décoder et d’assurer leur exécution. Il doit aussi prendre en compte les informations extérieures au système et assurer leur traitement. 2. Architecture d'un système à microprocesseur Pour l’organisation des différentes unités d’un système à microprocesseur, il existe deux architectures possibles : a. Architecture de Von Neuman La mémoire de programme, la mémoire de données, et les périphériques d’entrées/sorties partagent le même bus s’adresses et de données. L’exécution d’une instruction nécessite donc plusieurs échanges de données sur le seul et unique bus dévolu à cet usage puisqu’il faut tout d’abord aller chercher le code de l’instruction puis le ou les données qu’elle doit manipuler. Architecture de Von Neuman b. Architecture de Harvard Cette architecture sépare systématiquement la mémoire de programme de la mémoire des données : l'adressage de ces mémoires est indépendant. Ce type d’architecture est utilisé sur des microcontrôleurs qui ont connu un développement important ces dernières années. Architecture de Harvard Cours Calculateur et interfaçage L3 systèmes de Télécommunications S. HAROUN Page 2 | 11 Quoique cette architecture puisse être complexe mais elle est performante : Gain en terme de vitesse d’exécution des programmes : L’exécution d’une instruction ne fait plus appel qu’à un seul cycle machine puisque l’on peut simultanément, grâce au deux bus, rechercher le code de l’instruction et la ou les données qu’elle manipule. 3. Modèle de base d'une CPU (Architecture interne) Un microprocesseur est construit autour de deux éléments principaux : – Une unité de Contrôle (Commande) (UC) – Une Unité Arithmétique et Logique (UAL) – Les deux unités sont associées à des registres chargées de stocker les différentes informations à traiter. – L’ensemble de ces trois éléments sont reliés entre eux par des bus interne permettant les échanges d’informations. 3.1. Unité de contrôle L’unité de contrôle est une circuit logique séquentiel chargée de séquencer l’algorithme et de générer les signaux de contrôle pour piloter les éléments du chemin de données. Elle envoie des commandes à l’unité de traitement qui va exécuter les instructions. L’unité de contrôle est constituée essentiellement de Bloc logique de commande (ou séquenceur) qui organise l'exécution des instructions au rythme d’une horloge. Il élabore tous les signaux de synchronisation internes ou externes (bus de commande) du microprocesseur en fonction des divers signaux de commande provenant du décodeur d’instruction ou du registre d’état par exemple. Il s'agit d'un automate réalisé soit de façon câblée (obsolète), soit de façon micro-programmée, on parle alors de micro-microprocesseur. L'unité de contrôle contient aussi : le compteur de programme, le registre d'instruction et le décodeur d'instruction. 3.2. Unité Arithmétique et Logique Comme son nom l'indique, cette unité dispose de circuits réalisant deux types d’opérations : – Opérations logiques : tel que ET, OU, NOT OU EXCLUSIF, de même les opérations de rotation et de décalage, et de comparaison. – Opérations arithmétiques : elles incluent l'addition et la soustraction, la multiplication et la division. L'UAL comporte deux registres : l’accumulateur et le registre d'état (FLAG). En entrée, l’UAL, reçoit ses opérandes (les octets qu'elle manipule) du bus de données. Celles-ci peuvent provenir de registres ou de la mémoire, elle reçoit d’autre part, les commandes permettant d’activer les opérations, venant de l’unité de contrôle. En sortie, on a les résultats des opérations et les conditions qui sont en fait les entrées de l’unité de contrôle. A la fin d'une opération, l'UAL peut aller modifier certains bits du registre d'état (FLAG). Cours Calculateur et interfaçage L3 systèmes de Télécommunications S. HAROUN Page 3 | 11 Structure de l’unité arithmétique et logique (UAL). 3.3. Les registres Un registre est un espace mémoire interne au processeur. On distingue deux types : à usage général qui permettent à l'UAL de manipuler des données et les registres d'adresses qui sont connectés au bus d'adresse. a) L’accumulateur Il s'agit d'un registre d'usage général servant à stocker un opérande au début d'une opération arithmétique, les résultats intermédiaires, ou le résultat à la fin de l'opération provenant de l'unité arithmétique et logique. Ils évitent des appels fréquents à la mémoire, réduisant ainsi les temps de calcul. Donc la plupart des opérations arithmétiques et logiques se font dans l'accumulateur. b) Le registre d'état (FLAG) Il est généralement composé de 8 bits ou 16 bits à considérer individuellement. Chacun de ces bits est un indicateur dont l'état dépend du résultat de la dernière opération effectuée par l’UAL. On les appelle indicateur d’état ou flag ou drapeaux (Retenue, débordement, zéro, ...). Par exemple, quand le résultat d'une opération est trop grand pour être contenu dans le registre cible (celui qui doit contenir le résultat de l'opération), un bit spécifique du registre d'état (le bit OF) est mis à 1 pour indiquer le débordement. On peut citer aussi par exemple les indicateurs de : • Retenue (carry : CF) • Signe (Sign : SF) • Zéro (ZF) c) Le compteur de programme (PC : Program Counter) Appelé aussi Compteur Ordinal (CO) : Il est constitué par un registre dont le contenu est initialisé avec l'adresse de la première instruction du programme. Il contient toujours l’adresse de la prochaine instruction à exécuter. Autrement dit, il doit indiquer au processeur la prochaine instruction à exécuter. Ce registre est constamment modifié après l'exécution de chaque instruction afin qu'il pointe sur l'instruction suivante. d) Le registre d'instruction et le décodeur d'instruction Chacune des instructions à exécuter est transféré depuis la mémoire dans le registre instruction puis elle est décodée par le décodeur d’instruction. Cours Calculateur et interfaçage L3 systèmes de Télécommunications S. HAROUN Page 4 | 11  Le registre d'instruction : Pour exécuter une instruction le microprocesseur transmet l'adresse se trouvant dans le registre compteur de programme à la mémoire, la mémoire retourne au microprocesseur l'octet adressé par ce dernier (le code de l'instruction) celui-ci sera stocker dans un registre appelé registre d'instructions (RI), donc Le RI contient la prochaine instruction à être exécutée par le processeur. Cette instruction sera acheminée (par un bus de données) au décodeur d'instructions qui sera chargé de l'interpréter.  Le décodeur d'instruction : C'est lui qui va interpréter l'instruction contenue dans le registre d'instruction (RI). C'est-à-dire qu'elle est l'opération à effectuer (Addition, branchement etc...) Et comment aller chercher les opérandes requises pour cette opération (par exemple, les nombres à additionner). Le décodeur d'instructions communique alors avec l'unité de commandes et de contrôles qui pourra déclencher les événements en conséquence. e) Registres d'adresses : Ces registres servent à gérer l'adressage de la mémoire. En effet le processeur peut utiliser un registre ou une paire de registres pour accéder à un emplacement mémoire, et puisque les registres peuvent être incrémenter ou décrémenter donc on peut accéder facilement à des données qui se trouvent en mémoire d'une manière adjacente. Schéma fonctionnel d’un système à Microprocesseur. Cours Calculateur et interfaçage L3 systèmes de Télécommunications S. HAROUN Page 5 | 11 4. Fonctionnement d'un microprocesseur 4.1. L'écriture en mémoire (WRITE) Pour écrire une donnée dans la mémoire le microprocesseur doit placer l’adresse de la donnée sur le bus d’adresses, puis il place la donnée sur le bus de données et enfin génère le signal WRITE (ordre d'écriture dans la mémoire). 4.2. La lecture de la mémoire (READ) Pour lire une donnée de la mémoire le microprocesseur dépose son adresse sur le bus d’adresses puis génère le signal READ, alors la donnée sera acheminée vers le microprocesseur à travers le bus de données. La donnée sera stockée dans un registre dans le microprocesseur. Si la donnée est un code opératoire d'une instruction alors elle sera logée dans le registre d'instructions sinon elle sera logée dans un registre de données (en général l'accumulateur). 4.3. Communication avec les Entrées/Sorties Les données échangées entre un périphérique et le processeur transitent par l’interface associé à ce périphérique. L’interface possède de la mémoire tampon pour stocker les données échangées et les informations pour gérer la communication avec le périphérique : Cours Calculateur et interfaçage L3 systèmes de Télécommunications S. HAROUN Page 6 | 11 – des informations de commande, pour définir le mode de fonctionnement de l’interface : sens de transfert (entrée ou sortie), mode de transfert des données (par scrutation ou interruption), etc. Ces informations de commandes sont communiquées à l’interface lors de la phase d’initialisation de celle-ci, avant le début du transfert. – des informations d’état, qui mémorisent la manière dont le transfert c’est effectué (erreur de transmission, réception d’informations, …etc.). Ces informations sont destinées au processeur. Lors de l’exécution des instructions d’entrées/sorties, le processeur met à 1 sa borne IO/M et présente l’adresse E/S sur le bus d’adresse. Le signal IO/M indique aux circuits de décodage d’adresses qu’il ne s’agit pas d’une adresse en mémoire principale, mais de uploads/Management/ cours-no-03-calculateur-et-interfacage.pdf

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Fev 06, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.4534MB