Informatique industrielle SSI Structure matérielle des systèmes à microprocesse

Informatique industrielle SSI Structure matérielle des systèmes à microprocesseur Les structures matérielles des systèmes de traitement de l’information sont pratiquement toutes organisées autour d’architectures à base de microprocesseur. Le microprocesseur est né en 1972 du développement de la technologie des semi- conducteurs Le principal intérêt du microprocesseur est sa polyvalence : Il suffit simplement de changer le programme pour réaliser des tâches différentes . C’est un gros avantage par rapport à la technologie « câblée », donc figée : pour changer un cycle dans une chaine de production à technologie câblée, il fallait changer la (ou les) carte(s) électronique(s) ! Gain au niveau du coût, de la maintenance (plus fiable car moins de composants = moins de risques de pannes ) de l’évolutivité, gain de temps énorme au niveau de la conception des systèmes (c’est plus rapide de faire un programme que de concevoir des cartes électroniques …) Le 21ème siècle est l’ère du numérique (informatique, robotique, domotique) grâce aux microprocesseurs ! Structure d’un système à microprocesseur : Le système à microprocesseur est constitué de plusieurs éléments montés sur une carte de circuit imprimé :  le processeur exécute les opérations logiques ou arithmétiques qui permettent de calculer les données de sorties à partir des données d’entrées, la mémoire stocke le programme, ainsi que toutes les données nécessaires au traitement, les bus sont les liaisons électriques qui véhiculent les informations entre les différents composants du système électronique. Bus de données : c’est sur ces lignes que circulent les données du programme . Exemple sur un bus de données de 8bits = 8 fils on fera ciculer qu’un octet à la fois . Il est BI-DIRECTIONNEL Lycée Louis Payen 1 Informatique industrielle SSI Bus d’adresse : Il est parcouru par des informations qui permettent de localiser le ou les boîtiers concernéspar l’échange d’information. On parle alors de l’adresse de l’information. Il est UNIDIRECTIONNEL (le microprocesseur impose sa valeur), il transporte une adresse produite par le microprocesseur. Cette adresse spécifie l’origine ou la destination des données qui transitent. Pour un bus de 16 bits, le microprocesseur peut accéder à 2^16 = 65 535 adresses différentes. Un seul composant (ROM,RAM …)est sélectionné ( par son adresse) à la fois. Le décodage du bus d’adresse permet de valider le composant sélectionné. (Rôle du décodeur d’adresse) Bus de contrôle : C’est un ensemble de lignes « relativement indépendantes » qui permettent de : - synchroniser le système : Horloge - réaliser l’initialisation de l’unité centrale (Reset) - contrôler les échanges (lecture, écriture) - provoquer des exécutions de programmes particuliers (interruptions) l’interface d’entrées et sorties, parallèle ou série, permet de communiquer avec les périphériques extérieurs au système,  l’horloge à quartz donne la cadence, par des impulsions électriques qui synchronisent le système. Voici l’architecture d’un (petit) microprocesseur (famille motorola 68XX) : Le microprocesseur est composé : D’une unité arithmétique et logique qui effectue les opérations (UAL) : addition, soustraction, opérations logique (OU, ET, NON , OU exclusif) Des registres et accumulateurs qui permettent de stocker les données D’une unité de contrôle qui lit séquentiellement les instructions et génère les signaux de commande. Un microprocesseur est toujours associée à de la mémoire avec qui il communique grâce au bus d’adresse et de données. C’est dans la mémoire que se trouve le programme à exécuter. Lycée Louis Payen 2 Informatique industrielle SSI Le microprocesseur vient chercher ses « instruction » dans une « mémoire programme » où le programme est rangé sous forme d’une suite d’instructions codées en binaire. Les instructions qu’il doit exécuter sont élémentaires : -lire ou écrire dans la mémoire de données, -lire des entrées, écrire des sorties, -tester des états logiques, -effectuer des opérations logiques de base ( ET, OU, NON, OU exclusif) -effectuer les principales opérations arithmétiques (+, -, ., /) -transfert des données Le microprocesseur travaille sur des mots binaires, toutes les informations sont codées en binaire. Généralement les mots ont une longueur de 8,16, 32 bits. Exemple d’instructions en langage assembleur pour microcontrôleur 68HC11 : LDAA $1000 ‘ Charger le contenu de l’adresse $1000 dans l’accumulateur A ADDA #2 ‘ A = A+2 STAA $1001 ‘ Stocker A dans case mémoire adresse $1001 JSR affichage ‘ Aller au sous programme « affichage » Les registres internes : Les registres peuvent être plus ou moins nombreux dans le microprocesseur Un grand nombre de registres permet un maximum du traitement des données à l’intérieur de l’unité centrale. On évite ainsi de nombreux accès du processeur à la mémoire externe pour stocker et lire des données intermédiaires de calcul. Le temps de traitement se trouve ainsi accéléré. (note : dans les processeurs type « pentium » on trouve ce qu’on appelle de la mémoire « cache » qui travaille à la même vitesse que le processeur et sert de tampon entre la mémoire externe et les registres internes) Un minimum de registres internes est indispensable au fonctionnement de l’unité centrale et est nécessaire à la programmation : Le registre indicateur CC contient des indications sur le résultat après chaque traitement de l’unité arithmétique et logique. Il est modifié automatiquement par l’unité arithmétique et logique quand elle effectue une opération. Lycée Louis Payen 3 Informatique industrielle SSI - Le bit de zéro Z est mis à un quand le résultat de l’opération est zéro, - Le bit négatif N est mis à un quand le résultat de l’opération est négatif, - Le bit de retenue C est mis à un quand le résultat ne peut tenir dans l’accumulateur de sortie A (débordement) - Le bit V (overflow) mis à 1 si dépassement de la capacité de codage - Le bit I : masque d’interruption - Le bit H : Half Carry : demi retenue : retenue sur la somme des bits 3. Le compteur ordinal PC est le registre qui pointe dans la mémoire l’adresse de la prochaine instruction à traiter par l’unité de commande. Le pointeur de pile SP est le registre qui pointe l’adresse du dernier élément de la pile. La pile est utilisée pour stocker des données intermédiaires ou l’adresse de retour des sous programmes. Le registre d’index X est un registre qui pointe l’adresse en cours de lecture dans une table de données. Note : Les registres CC, PC et SP sont totalement transparent pour le programmeur. Exemple, programme de décomptage : LDAA $F000 ‘ charge A avec le contenu de l’adresse $F000 DEBUT : DECA ‘ Décrémente l’accumulateur A (A = A-1) BNE DEBUT ‘ Branche à DEBUT si résultat opération précédente <>0 (en fait, l’instruction BNE teste le bit Z ) Organisation de l’espace mémoire adressable Voici un exemple d’organisation mémoire (les adresses sont données en HEXADECIMALE) Correction : RAM 32k, adresse 400h = 1024d . 1024+32*1024= 33792d soit 8400h . La RAM va donc de 400 à 83FF . (83FFh = 8400h - 1) EEPROM 8ko, adresse base 8400h = 33792d . 33792 + 8*1024 = 41984d soit A400 en hexa. L’eeprom occupe donc les adresses 8400h à A3FF (A3FF = A400-1) Espace non utilisé : 23ko car : FFFF – A400 = 5BFF et (5BFF + 1) = 23552 octets soit 23ko (23552/1024 = 23) Le bus d’adresse doit être de 16 bits car 2^16-1 = 65535d = FFFFh. Lycée Louis Payen 4 Le circuit interface E/S occupe 1ko (soit 1024 octets) . Son adresse de base est 0000h et son adresse finale 3FF 3FF(h) = 1023(d) (0 à 1023 correspond bien à 1024octets, soit 1ko, ne pas oublier de compter l’adresse 0 !!!)  Sachant qu’on empile au dessus une RAM de 32ko et une EEPROM de 8ko, justifier par calcul les adresses de début et fin de chacune des zones.  Calculer l’espace non utilisé.  Donner la taille (nombre de bits) du bus d’adresses uploads/Industriel/ cours-microprocesseur 1 .pdf

  • 25
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager