LES SYSTEMES A BASE DE MICROPROCESSEUR L'apparition des microprocesseurs date d
LES SYSTEMES A BASE DE MICROPROCESSEUR L'apparition des microprocesseurs date du début des années 1970. A cette époque, deux événements favorables sont apparus : le concept de "LSI (Large Scale Integration)" permettant d'intégrer plusieurs milliers de portes sur un même substrat. l'arrivée à maturité de la technologie MOS caractérisée par sa faible consommation. La conjugaison de ces événements a permis de regrouper une unité centrale d'ordinateur dans un seul circuit intégré appelé "microprocesseur". Depuis, une multitude de composants de ce type sont apparus au sein de familles provenant essentiellement de grands constructeurs américains : Intel, Motorola, Advanced Micro Devices (AMD), Texas Instruments,... et japonais : NEC, Mitsubishi,... Grâce aux progrès de l'intégration, l'augmentation des performances a porté sur : la vitesse de fonctionnement. la largeur des mots traités (8, 16, 32, 64 bits). le nombre et la complexité des opérations réalisables. L'intégration a également permis de rassembler le microprocesseur et les éléments associés (mémoire, organes d'entrée-sortie,...) au sein d'un seul circuit appelé "microcontrôleur". Ce type de composant s'est répandu dans un très grand nombre de domaines (télécommunications, télévision, électroménager, hifi...). L'objectif de ce cours est double : présenter les notions de base nécessaires à la compréhension des systèmes utilisant des microprocesseurs et réaliser des travaux pratiques permettant de programmer en langage machine (assembleur) une application d'acquisition de données. I ) Architecture d'un système à base de microprocesseur : Un système à base de microprocesseur est formé des trois éléments : - Une unité CPU (central processing unit ) - Une mémoire (ROM et RAM) - Des ports d'entrées/sorties. Les trois modules sont interconnectés comme le montre la figure suivante autour de trois bus : bus de données, bus d'adresses et bus de contrôles et commandes Bus : Il s'agit de plusieurs pistes électroniques qui sont reliées au microprocesseur. Ces bus assurent la communication interne et externe du microprocesseur. - Le bus de données : c'est un ensemble de fils bidirectionnels qui va permettre le transfert de données entre les différents éléments du système. C'est par ce bus que sont transmises les données qui doivent être traitées par le microprocesseur. A l'inverse, c'est également par ce bus que transitent les résultats en sortie du microprocesseur. Autrement dit, toutes les données entrantes et sortantes du microprocesseur sont véhiculées par le bus de données qui fixe la longueur du mot échangé avec la mémoire. - Le bus d'adresses : il permet d'adresser un élément par le microprocesseur .il est unidirectionnel .il détermine la capacité maximale d'adressage du système, c'est à dire le nombre maximum de mots de la mémoire associée (ex : 16 bits "adressent" 64 Kmots). - Le bus de commandes et de contrôle : c'est un bus qui permet de véhiculer les signaux de contrôles et de commandes tels que l'horloge les signaux Rd/Wr etc ... Ce bus sert à coordonner tous les échanges d'informations décrits précédemment. Il véhicule des données qui valident la mémoire et les ports d'entrées ) sorties. Il introduit des délais d'attente lorsque des informations sont envoyées à un périphérique qui présente une vitesse de traitement réduite. Le bus de commandes évite les conflits de bus lorsque deux éléments cherchent à communiquer en même temps. Remarque : Dans certains cas, le bus de données et le bus d'adresses sont multiplexés sur un seul bus. Une logique externe doit alors effectuer le démultiplexage. -La mémoire sert au rangement de deux types d'informations : -Des données : les informations traitée par le microprocesseur. -Des instructions : ensemble d'informations codées qui gère l'activité du microprocesseur. Remarque : La mémoire morte (ROM : Read Only Memory) range en général le programme d'initialisation du système (exemple dans le PC elle range le BIOS : Basic Input Ouput systeme ) . La mémoire vive (RAM : Random Axes Memory) sert au rangement des programmes utilisateurs c'est une mémoire volatile. - Les interfaces d'entrées sorties vont permettre au microprocesseur de communiquer avec le monde extérieur, Nous trouvons des ports utilisés exclusivement pour l'entrée, et d'autres ports exclusivement pour la sortie. Il existe aussi des ports bidirectionnels. Donc le microprocesseur peut lire des données à partir d'une interface d'entrée (exemple souris, clavier disque dur, Etc. ...) de même il peut restituer le résultat de son traitement au monde extérieur en adressent des interfaces de sortie (tel que les imprimantes le clavier etc. ...) donc les interfaces d'entrées / sorties vont soulager le microprocesseur pour la communication avec le monde extérieur. Le microprocesseur doit Donc contrôler les fonctions effectuées par les autres modules, il doit chercher ainsi que décoder des instructions ranger en mémoire, et il doit adresser des interfaces d'entrées/sorties pour lire des données du monde extérieur, et restituer le résultat de son traitement. II ) Architecture d'un CPU : Une CPU est formée par les trois éléments fonctionnels interconnectés suivants : ► Registres. ► UAL : Unité arithmétique et logique. ► Circuit de contrôle. II-1 ) Les registres : II-1-1 ) L'accumulateur : Il s'agit d'un registre d'usage général recevant des opérandes, des résultats intermédiaires ou des résultats 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. II-1-2 ) Le compteur de programme : Le compteur de programme contient l'adresse (décalage ou offset) de l'instruction suivante en mémoire qui doit être exécutée. Autrement dit, il doit indiquer au processeur la prochaine instruction à exécuter. Le registre compteur de programme est constamment modifié après l'exécution de chaque instruction afin qu'il pointe sur l'instruction suivante. Les microprocesseurs de la famille x86 dépendent entièrement du registre compteur de programme pour connaître l'instruction suivante. II-1-3 ) Registre d'instruction et décodeur d'instruction : II-1-3-1 ) Le registre d'instruction : Chaque opération que le microprocesseur va effectuer est codée (c'est-à-dire pour chaque instruction on assigne un code qui ne peut pas être modifié ni changé par un autre code) appelé « instruction code» ou « opération code » , 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 adresse par ce dernier ( le code de l'instruction) celui-ci sera stocker dans un registre appelé registre d'instructions (RI) , donc Le registre d'instructions 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. II-1-3-2 ) 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. Par exemple, si le décodeur d'un 8086 reçoit l'octet 10000001 (le "Add mem/reg data"), il sait que le processeur doit aller chercher 3 autres octets en mémoire vive pour compléter l'instruction. II-1-4/ 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 (tel que les tableaux) II-1-5 Registre d'état (FLAGS) : Le registre d'état FLAG sert à contenir l'état de certaines opérations effectuées par le processeur. 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 II-2 ) L'unité arithmétique et logique (UAL): Comme son nom l'indique, cette unité peut exécuter deux types d'opérations. - Opérations arithmétiques Elles incluent l'addition et la soustraction qui sont des opérations de base (une soustraction est une addition avec le complément à deux), la multiplication et la division. Les données traitées sont considérées dans des représentations entières. - Opérations logiques Ces opérations sont effectuées bit à bit sur les bits de même poids de deux mots, tel que ET, OU, NOT OU EXCLUSIF, de même les opérations de rotation et de décalage (arithmétique et logique) Elle 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. A la fin d'une opération, l'UAL peut aller modifier certains bits du registre d'état (FLAG). Par exemple, dans le cas du débordement d'une addition (que le résultat de l'addition est trop grand pour entrer dans un registre), l'UAL va mettre le bit de débordement du FLAG à 1. II-3 ) Unité de contrôle et commande : Synchronisée par le signal de l'horloge, c'est elle qui déclenche les événements dans le processeur (on peut remarquer à ce sujet qu'elle est connectée à toutes les autres composantes du processeur). Par exemple, quand une information passe dans uploads/Management/ les-systemes-a-base-de-microprocesseur.pdf
Documents similaires










-
30
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 18, 2021
- Catégorie Management
- Langue French
- Taille du fichier 0.3482MB