Système à Microprocesseur BAHRIA NOURHENE Systèmes à microprocesseurs I) Foncti

Système à Microprocesseur BAHRIA NOURHENE Systèmes à microprocesseurs I) Fonctions de base d’une machine informatique  Contenir de façon permanente les tâches à exécuter (mémoire programme) en ROM.  Contenir de façon temporaire des données (mémoire de travail) en RAM.  Permettre un dialogue avec l’extérieur (circuit d’interface entrée/sortie) :  PIA- ACIA- TIMER  PIO- USART  SIO- UART.  Effectuer des opérations arithmétiques et logiques élémentaires chargée des calculs +,- ,*,/, AND, OR, NOT (UAL : unité arithmétique et logique)  Organiser des transits d’informations (unité de contrôle : U.C.)  Cadencer les différentes informations (Horloge)  Pointer l’étape du programme en cours (P.C. : compteur programme, en anglais Program Counter). II) Schéma fonctionnel d’une machine informatique 1. Pn : Périphériques d’entrées  Clavier  Souris  Joystick  Ecran tactile  Lecteur de bande magnétique  Lecteur de cartes  Chaînes d’acquisition de données  Crayon optique Système à Microprocesseur BAHRIA NOURHENE 2. P’n : Périphériques de sortie o Dispositifs de visualisation : DELs Affichage alphanumérique Ecran vidéo o Imprimante o Table traçante o Synthétiseur vocal o Lecteur disquette III) Microcontrôleur: Circuit programmable capable d’exécuter un programme et qui possède des circuits d’interface intégrés avec le monde extérieur. 1. Quand utiliser un microcontrôleur ? Toutes les solutions à base de composants programmables ont pour but de réduire le nombre de composants sur le circuit électronique et donc fiabiliser le circuit. Le microcontrôleur est en concurrence avec d’autres technologies Suivants les applications : 3 types de technologies  Logique câblée Très rapide, fonctions réalisées par une voie matérielle Non programmable, peu économique quand l’application est complexe peu de souplesse : durée d’étude prohibitif et circuit difficilement modifiable  Réseaux de logique programmables (PAL, LCA,..) Rapide, adapté au traitement de signaux complexes Prix élevé et langage de programmation non standard  Les μprocesseurs Grande souplesse : fonctions sont réalisées par voie logicielle puissance de calcul, langage évolué Nombre important de composant à réunir, solution onéreuse A retenir Si la fonction à réaliser est simple ⇒ une logique câblée Si le nombre d'unités à réaliser est très important ⇒ circuits intégrés dédié en logique câblée pour les fonctions simples. Il existe plusieurs architecture de microcontrôleurs de 4 à 128 bits pour les applications demandant une certaine puissance de calcul (injecteurs automobile). Système à Microprocesseur BAHRIA NOURHENE 2. Le processeur  Le processeur lit et écrit des informations en mémoire  Il peut de plus effectuer des opérations arithmétiques et logiques  Chaque action qu’il peut effectuer est appelée instruction  Les instructions effectuées par le processeur sont stockées dans la mémoire.  Il dispose d’un petit nombre d’emplacements mémoire d’accès plus rapide, les registres.  Un registre spécial nommé pc (program counter) contient l’adresse de la prochaine instruction à exécuter De façon répétée le processeur : 1 lit l’instruction stockée à l’adresse contenue dans pc 2 l’interprète ce qui peut modifier certains registres (dont pc) et la mémoire 2.1. CISC / RISC Les processeurs généraux actuels se répartissent en deux grandes catégories appelées CISC pour Complex Instruction Set Computer et RISC pour Reduced Instruction Set Computer. Les processeurs de ces deux catégories se distinguent par la conception de leurs jeux d'instructions. Les processeurs CISC possèdent un jeu étendu d'instructions complexes. Chacune de ces instructions peut effectuer plusieurs opérations élémentaires comme charger une valeur en mémoire, faire une opération arithmétique et ranger le résultat en mémoire. Au contraire, les processeurs RISC possèdent un jeu d'instructions réduit où chaque instruction effectue une seule opération élémentaire. Le jeu d'instructions d'un processeur RISC est plus uniforme. Toutes les instructions sont codées sur la même taille et toutes s'exécute dans le même temps (un cycle d'horloge en général). L'organisation du jeu d'instructions est souvent appelé ISA pour Instruction Set Architecture La répartition des principaux processeurs dans les deux catégories est la suivante. 3. Notion de programme source et programme objet Programme source : Traduction de l’algorithme dans un langage compréhensible par la machine informatique (BASIC, PASCAL, C, FORTRAN, COBOL, ALGOL, PL1, ADA, LOGO, LSE, DELPHI, etc ...). Programme objet : Traduction du programme source en instructions codées en binaire, seul langage exécutable par le microprocesseur Système à Microprocesseur BAHRIA NOURHENE  Passage du programme source au programme objet : L'écriture d'un programme informatique ne se fait la plupart du temps pas en assembleur. On utilise des langages dits de plus haut niveau qui est eux-mêmes traduits automatiquement en assembleur par un autre programme :  le compilateur pour les langages compilés (comme C ou C++)  ou l'interpréteur pour les langages interprétés (comme JavaScript ou Python) Système à Microprocesseur BAHRIA NOURHENE 4. Assembleur Un langage d'assemblage ou langage assembleur ou simplement assembleur par abus de langage, abrégé ASM est, en programmation informatique, un langage de bas niveau qui représente le langage machine sous une forme lisible par un humain. Les combinaisons de bits du langage machine sont représentées par des symboles dits « mnémoniques » ; c'est-à-dire faciles à retenir. Le programme assembleur convertit ces mnémoniques en langage machine en vue de créer par exemple un fichier exécutable. En langage assembleur, on peut rencontrer :  des calculs simples (addition, soustraction, multiplication, ...),  des affectations (placer telle valeur de la mémoire vive dans tel registre et vice versa)  des instructions de saut qui permettent de coder des instructions conditionnelles par exemple. De plus, il y a trois possibilités pour accéder à un opérande (valeur sur laquelle va être opérée une opération) :  Il est directement saisi  Il est dans un registre : il faut alors indiquer le nom de ce registre  Il est dans la mémoire vive : il faut indiquer son adresse. Remarque Un langage assembleur est souvent spécifique un type de processeur. À retenir  Un processeur ne traite que des instructions binaires.  L'assembleur est un langage composé d'instructions basiques et facile à traduire en binaire.  Une instruction dans un langage de programmation donné correspond à de multiples instructions en assembleur. Système à Microprocesseur BAHRIA NOURHENE 5. Assembleur MIPS MIPS (de l'anglais Microprocessor without interlocked pipeline stages) est une :  Architecture de microprocesseur de type RISC.  Sorti dans les années 1980, utilise jusqu’au début 2000 (PlayStation 2).  utilise en informatique embarquée. Exemple MIPS On y trouve : ₋ des mots clefs : .data, .word, .text ₋ des instructions : lw, la, add, addi, bge ... ₋ des registres : $t0, $t1, $t2 ₋ des étiquettes qui correspondent à des dresses : vars, saut, exit 4.1. Organisation de la mémoire L’organisation de la mémoire est conventionnelle Système à Microprocesseur BAHRIA NOURHENE 4.2. Registres visibles du logiciel Le processeur MIPS possède 32 registres de travail accessibles au programmeur. Chaque registre est connu par son numéro, qui varie entre 0 et 31, et est préfixé par un $. Par exemple, le registre 31 sera noté $ra dans l’assembleur. En dehors du registre $zero qui contient toujours la valeur 0, tous les registres sont identiques du point de vue de la machine. Ils sont directement adressés par les instructions, et permettent de stocker des résultats de calculs intermédiaires. Afin de normaliser et de simplifier l’écriture du logiciel, des conventions d’utilisation des registres sont définies. Ces conventions sont particulièrement nécessaires lors des appels de fonctions.  PC Registre compteur de programme (Program Counter). Ce registre contient l'adresse de l’instruction en cours d’exécution. Sa valeur est modifiée par toutes les instructions.  HI et LO Registres pour la multiplication ou la division Ces deux registres 32 bits sont utilisés pour stocker le résultat d'une multiplication ou d'une division, qui est un mot de 64 bits. 4.3. Programmation en langage d’assemblage  Par exemple, l'instruction qui additionne le contenu des registres $t3 et $t4 et de stocker le résultat dans $t6 est codée par : 00000001011011000111000000100000  Et pour ne pas utiliser beaucoup de place, on peut les réduire en hexadécimal: 016c7020  Elle est représentée en langage assembleur comme suit : add $t6, $t3, $t4  Ici, la signification de l'instruction est beaucoup plus claire qu'en code machine. Système à Microprocesseur BAHRIA NOURHENE 4.2.1. Les noms de fichiers :  Les noms des fichiers contenant un programme source en langage d’assemblage doivent être suffixés par « .asm » ou « .s ». Exemple : premierprog.asm 4.2.2. Format d’un programme assembleur: Un programme assembleur est composé de deux parties:  Data section : contient la déclaration de données.  Text section: contient le code du programme. Les commentaires:  Les commentaires permettent de donner plus d’explication sur le code  Ils commencent par un # ou un ; et s’achèvent à la fin de la ligne courante. Exemple : # Ceci est un commentaire ; Ceci est un commentaire 4.2.3. Déclaration de données: Les données (constantes et variables) doivent être déclarées dans « .data » section.  Le format général de la déclaration d’une donnée est: « nom de variable »: .« type de donnée » « valeur initiale » Le “type” .space indique simplement que l’on réserve le nombre uploads/Industriel/ cours-imset.pdf

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