Anonim

Tels sont les aspects économiques brutaux de l'industrie des semi-conducteurs; il est remarquable que les fabricants de microcontrôleurs soient encore en mesure de gagner leur vie dans de telles circonstances.

Comment le monde 32 bits empiète sur le marché 8 bits

Deux grands fabricants de MCU établis, Freescale Semiconductor et NXP Semiconductors, illustrent bien la manière dont le MCU 32 bits élargit sa portée. Et les deux ont des approches complètement différentes pour les utilisateurs d'appareils 8 bits.

n

Freescale est agnostique sur les questions 8 et 32 ​​bits. Il reconnaît qu'il y aura toujours des applications mieux adaptées à un périphérique 8 bits et d'autres qu'un périphérique 8 bits serait totalement incapable de fonctionner.

Pour soutenir cette position, il a produit la famille de périphériques Flexis. Il s’agit d’une série d’appareils à 8 et 32 ​​bits compatibles avec les broches et les périphériques, basés sur leurs cœurs HCS08 et ColdFire.

Couplé au système de développement Futurebow Blox 'Crossbow' (voir figure 42) et à un compilateur commun, le concepteur peut désormais écrire un morceau de code et le tester sur l’un ou l’autre des processeurs pour évaluer celui qui convient le mieux. Avec ces pièces «croisées», le concepteur dispose désormais d'un accès facile à une vaste gamme de produits aux deux extrémités du spectre de performances.

Freescale a également conféré à son processeur d'entrée de gamme ColdFire v1 32 bits l'aspect d'une machine 8 bits: il dispose d'extensions permettant d'améliorer la gestion des opérandes 8 bits, tandis que les pipelines d'extraction et d'exécution à deux étapes lui confèrent de réelles performances 32 bits.

La stratégie de NXP, en revanche, consiste à offrir aux utilisateurs des performances 32 bits à un prix si compétitif qu’ils n’auront aucune raison de les concevoir avec un appareil 8 bits. Les périphériques d'entrée de gamme de la famille LPC2100, par exemple, se vendent à des prix similaires à ceux de nombreux MCU 8 bits, mais peuvent utiliser leur processeur à 75 MHz. Ils offrent au moins 8 kilo-octets de mémoire Flash dans de petits boîtiers QFP à 48 broches, tout en conservant la gamme habituelle de périphériques 8 bits tels que les UART, les convertisseurs analogique-numérique, les ports I2C, les interruptions multiples, etc. Comme pour les composants ColdFire, le noyau se présente comme un moteur 8 bits pour l'utilisateur, mais dispose de fonctionnalités 32 bits suffisantes pour générer des performances 32 bits.

NXP vise donc à offrir le meilleur des deux mondes: haute performance et bas prix.

Pourquoi les clients restent fidèles au MCU 8 bits

Alors, pourquoi les utilisateurs 8 bits existants n'ont-ils pas migré en masse vers des composants 32 bits à faible coût? L'expérience montre qu'il existe quatre raisons fondamentales de rester avec un MCU 8 bits:

  • Si ce n'est pas cassé, pourquoi le réparer?
  • La consommation électrique de 32 bits est trop élevée
  • Le code 32 bits est trop complexe
  • Les applications temps réel ultra-difficiles nécessitent un code strict avec des interruptions rapides

Fait intéressant, les fabricants de MCU 32 bits peuvent prétendre avoir une réponse à chacun de ces arguments.

Premièrement, ils diraient qu'il est vrai que les entreprises dont les produits évoluent lentement trouvent souvent judicieux de ne pas réinventer la roue et de prendre le risque de concevoir avec une nouvelle architecture. Mais cet argument comporte des risques: une adhésion stricte au statu quo peut signifier rater de nouveaux débouchés sur le marché et les entreprises.

Un concurrent qui adopte une approche plus agressive en matière d’innovation peut vous voler la vedette.

En ce qui concerne la consommation d’énergie, l’argument n’est pas aussi clair que le suggère une simple comparaison des pertes de courant au cœur du processeur. Tout d'abord, la consommation totale d'énergie du périphérique correspond à la somme du courant de commande des E / S, du courant principal et du courant périphérique.
En réalité, le courant d’E / S des MCU 8 et 32 ​​bits sera plus ou moins identique car ils piloteront tous les deux la même E / S et auront donc besoin de la même puissance.

La consommation de courant pour le cœur d’un processeur ARM Cortex ou Freescale MCF51QE 32 bits est estimée à environ 0, 5 mA par mégahertz - c’est bien en territoire 8 bits dans sa forme actuelle, mais vous pouvez souvent exécuter la machine 32 bits plus lentement que une machine 8 bits pour offrir les mêmes performances; Donc, dans la pratique, la consommation d'énergie de base sera souvent similaire.

Les MCU 32 bits sont-ils donc plus complexes et difficiles à coder? La vision traditionnelle est que les processeurs 32 bits sont livrés avec des bagages tels que la gestion du cache, les pipelines à plusieurs étages et les unités de gestion de la mémoire.

En fait, les microcontrôleurs 32 bits à faible coût ont été dotés de fonctionnalités supprimées pour leur permettre de respecter des prix serrés. Ils ne sont donc pas aussi complexes que leurs cousins ​​haut de gamme. Et les fabricants ont également travaillé dur pour les rendre faciles à travailler. Ainsi, par exemple, ARM Cortex (de ST-Microelectronics) dispose d’un pipeline en trois étapes avec prédiction de branche. L'effet est de permettre à la CPU de traiter plus d'une instruction par horloge, mais le fonctionnement est effectivement caché au programmeur, de sorte que la complexité perçue est faible.

L'argument le plus convaincant en faveur du périphérique 8 bits est peut-être la dure performance en temps réel. Les fournisseurs 8 bits affirmeraient qu'un MCU 8 bits fonctionnant en boucle serrée, codé à la main dans Assembler, constitue le moyen d'obtenir les meilleures performances en temps réel.
Mais très peu d'applications nécessitent des performances temps réel extrêmes. Le dernier appareil ARM Cortex de STMicroelectronics revendique une latence d’interruption de 6 cycles d’horloge (inter-interruption), avec plus d’une instruction par horloge. Cela place les MCU 32 bits en toute sécurité dans le domaine en temps réel.

Le 8-bit riposte

Alors, que font les fournisseurs 8 bits pour contrer ces arguments? Certains fabricants commencent à équiper les MCU 8 bits de fonctionnalités que l’on ne trouve habituellement que dans les périphériques 32 bits, tels que les MAC Ethernet et les sous-systèmes d’émulation In-Circuit.

Les taux de synchronisation ont également été augmentés pour offrir des performances supérieures à celles d'un périphérique 8 bits. Le MC9S08QE128 basé sur Freescale HCS08, par exemple, fonctionne à 50 MHz. Et les pièces 8 bits commencent à se libérer d'une vieille camisole de force - leur incapacité à offrir plus de 64 Ko d'espace d'adressage.

Par exemple, dans le MC9S08QE128, Freescale a pour la première fois intégré 128 ko de mémoire programme sur un MCU 8 bits. Nous pouvons nous attendre à ce que cette approche se poursuive: en proposant plus de périphériques, plus de mémoire et des vitesses d'horloge plus élevées, les fournisseurs espèrent que les utilisateurs 8 bits choisiront l'option à faible risque - et respecteront les limitations - de rester fidèle à leur architecture actuelle.

Certains des nouveaux venus sur le marché adoptent une approche révolutionnaire (par opposition à une approche évolutive). Par exemple, Cypress Semiconductor avec sa famille PSoC 8 bits supprime le concept de périphériques fixes; Les dispositifs PSoC contiennent un cœur de processeur à 8 bits avec blocs de construction programmables numériques et analogiques.

Ces blocs permettent à l'utilisateur de reconfigurer de manière dynamique son propre ensemble de périphériques à la volée (voir figure 1) - une alternative fascinante au jeu de périphériques haute puissance mais fixe offert par les MCU 32 bits à faible coût. Soutenu par un noyau convivial "C" et d'excellents outils de conception, PSoC offre à l'utilisateur la possibilité d'adresser plusieurs spécifications de produit avec une seule pièce ou une seule famille de pièces.