Microcontrôleur - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Architecture

Un microcontrôleur peut effectuer la plupart des instructions machine habituelles, avec certaines restrictions liées à son caractère embarqué (taille restreinte des mots machine, petite taille disponible, etc.). On note cependant quelques particularités.

Les capacités mathématiques sont en général particulièrement limitées, réduites à des additions, soustractions et décalages sur des octets pour les plus simples d'entre eux. Les calculs mathématiques évolués doivent donc être ramenés à une succession d'opérations simples portant seulement sur des octets. Des routines mathématiques (petits programmes permettant de réaliser les calculs complexes) ont été développées pour la plupart des microcontrôleurs populaires.

Les instructions d'entrée-sortie sont bien développées, de façon à pouvoir :

  • lire l'état d'un port d'entrée ;
  • écrire une information dans le registre d'un port de sortie, qui maintient l'information à la disposition des circuits extérieurs.

Les microcontrôleurs disposent généralement de nombreuses instructions dédiées aux opérations sur les bits, de façon à rendre les programmes plus compacts, notamment lorsqu'ils agissent sur une entrée-sortie donnée. Ainsi, un processeur généraliste peut avoir besoin de plusieurs instructions pour tester la valeur d'un bit d'un registre et effectuer un saut si le bit vaut vrai. Cette fonction courante est assurée par une seule instruction dans certains microcontrôleurs.

Les modes d'adressage utilisables sont en général semblables à ceux des autres processeurs.

De façon générale, les instructions et modes d'adressage disponibles varient fort selon les familles de microcontrôleurs.

Certains microcontrôleurs suivent une architecture Harvard : ils possèdent des bus séparés pour la mémoire de programme et la mémoire de données, ce qui permet aux accès d'avoir lieu en même temps (on parle d'accès concurrent). Lorsqu'on utilise une architecture Harvard, les mots de programme peuvent avoir une largeur (nombre de bits) différente de celle des mots de la mémoire de données et des registres. Par exemple, il peut y avoir des instructions de 12 bits et des registres de données de 8 bits.

Familles de microcontrôleurs

  • la famille Atmel AT91 ;
  • la famille Atmel AVR ;
  • le C167 de Siemens/Infineon ;
  • la famille Hitachi H8 ;
  • la famille Intel 8051, qui ne cesse de grandir ; de plus, certains processeurs récents utilisent un cœur 8051, qui est complété par divers périphériques (ports d’E/S, compteurs/temporisateurs, convertisseurs A/N et N/A, chien de garde, superviseur de tension, etc.) ;
  • l’Intel 8085, à l'origine conçu pour être un microprocesseur, a en pratique souvent été utilisé en tant que microcontrôleur ;
  • le Freescale 68HC11 ;
  • la famille Freescale 68HC08 ;
  • la famille Freescale 68HC12 ;
  • la famille des PIC de Microchip ;
  • la famille des dsPIC de Microchip ;
  • la famille des ST6, ST7, STM8, ST10, STR7, STR9, STM32 de STMicroelectronics ;
  • la famille ADuC d'Analog Devices ;
  • la famille PICBASIC de Comfile Technology;
  • la famille MSP430 de Texas Instruments ;
  • la famille 8080, dont les héritiers sont le microprocesseur Zilog Z80 (désormais utilisé en tant que contrôleur dans l'embarqué) et le microcontrôleur Rabbit ;
  • la famille PSoC de Cypress ;
  • la famille LPC21xx ARM7-TDMI de Philips ;
  • la famille V800 de NEC ;
  • la famille K0 de NEC.
Page générée en 0.086 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise