Comment choisir un microcontrôleur (3 / 23 étapes)

Étape 3: Réflexions sur les Architectures

Le « architecture » d’un microcontrôleur fait référence à la philosophie de l’implémentation interne, sorte de. Elle comprend les détails comme combien « registres » y sont, et comment « généraliste » ces registres sont, que ce soit code peut s’exécuter de mémoire de données, si les périphériques sont traités comme mémoire, registres, ou encore autre chose, s’il y a une pile et son fonctionnement et ainsi de suite.

Vous entendrez les gens parler de comment certaines architectures sont mieux que d’autres. Je suppose que c’est vrai. Mais je vais prétendre qu’il est en grande partie non pertinente pour l’amateur de typique. Si vous souhaitez éviter les caprices architectes d’une famille particulière de microcontrôleurs, vous pouvez utiliser un langage de haut niveau. Si vous êtes prêt à programmer dans l’assembleur, vous êtes à un niveau d’intérêt où apprentissage et surmonter les bizarreries est parti de l’étoffe que vous devriez apprendre. En outre, nous parlons pas ici d’évaluant une nouvelle architecture que certaine compagnie propose. Toutes les puces j’ai mentionner dans ce instructable ont été assez longtemps qu’ils ont prouvé que leurs architectures sont assez bonnes pour de nombreuses applications réelles.

Voici quelques « architecturales », vous pouvez lire et des explications sur ce qu’ils signifient.

CDIC/RISC. Complexe Instruction Set Computer. Reduced Instruction Set Computer.

Dans l’ancien temps, les concepteurs de CPU devenaient intelligents et voulaient leur CPU pour prendre en charge de fonctionnalités de langage de haut niveau au niveau matériel, conduisant à des instructions de manipulation cobol-comme chaîne qui accepte des arguments dans des blocs de 8 registres. IIRC, c’était à Berkeley et IBM qui a remarqué que rédacteurs de compilateur ne savaient pas vraiment comment utiliser ces instructions compliquées un compilateur, la quantité de silicium biens immobiliers utilisés par ces instructions devenait grande et en fait, la mise en œuvre du matériel parfois n’était pas aussi rapide que de faire la même chose dans le logiciel de toute façon. Alors ils ont dit "Je parie que nous pouvons faire le CPU aller beaucoup plus vite si nous laissons ces instructions complexes et consacrer le silicium à des registres plus ou la mémoire cache ou quelque chose" et a ainsi inventé le processeur RISC. Aujourd'hui « RISC » est largement utilisé par les départements de marketing pour signifier « nous n’avons pas beaucoup d’instructions », même si le reste de l’architecture n’est pas tout à fait comme les chercheurs RISC originales avaient imaginé.

Architecture de Harvard.

Dans une architecture de Harvard, la mémoire de l’instruction et la mémoire sont séparés, contrôlée par des bus différents et parfois ont des tailles différentes. Pour les microcontrôleurs, les instructions sont généralement stockées dans la mémoire de « lecture seule », et les données sont en RAM ou registres. Un exemple est la
Microcontrôleur PIC, où les instructions sont de 12, 14 ou 16 bits de large flash, et les données sont en 8 bits
RAM de large.

Architecture de von Neuman.

Dans un von Neuman espace de mémoire part Architecture, les données et les instructions, alors vous pourriez faire des choses comme la compilation dynamique pour générer des instructions dans la mémoire RAM et puis les exécuter. Le TI MSP430 est un exemple d’une architecture de von Neuman.

Accumulateur basé

Dans une architecture « accumulateur basé », il y a généralement un registre « spécial » où se produit la plupart du calcul réel (mathématiques, logique, etc.). Quelques efforts doit être dépensée pour entrer des opérandes dans l’accumulateur et les résultats retour à où vous en avez besoin. Le contraire est un processeur avec des registres « généraliste », où un de plusieurs registres peut être utilisé pour math/etc.

Load/Store

Une architecture load/store signifie généralement que les opérandes pour opérations ALU doivent dans les registres, afin que vous ayez à les charger dans la mémoire au préalable et les stocker à l’époque où les opérations sont terminées. L’inverse permet généralement des opérations entre un registre ou
accumulateur et un emplacement de mémoire directement. Architectures RISC tendent à être load/store, puisque beaucoup ou les processeurs CISCness du CDCI apparaît dans l’application complexes « modes d’adressage » pour accéder à des opérandes de mémoire. Dans une architecture RISC, toute cette complexité ne doit être mis en œuvre dans la charge et stocker des instructions (voire pas du tout.)

Les registres

Memory Mapped i/o

Articles Liés

Début microcontrôleurs partie 2: Création d’une Interface SPI du programmateur au microcontrôleur

Début microcontrôleurs partie 2: Création d’une Interface SPI du programmateur au microcontrôleur

Bonjour, nous espérons que vous avez apprécié la partie 1 de début de microcontrôleurs. Nous allons avancer dans la partie 2 et de commencer à parler sur les interfaces et comment obtenir votre microcontrôleur pour communiquer avec un ordinateur.Donc
Lien de microcontrôleur dans le monde entier pour moins de $20

Lien de microcontrôleur dans le monde entier pour moins de $20

contrôler votre thermostat maison du travail. Allumez une arroseuse de n'importe où dans le monde de chiquenaude d'un commutateur. Ce Instructable montre comment lier deux ou plusieurs microcontrôleurs 4 $ à l'aide de l'épine dorsale de l'internet et
Groovin ' Grover : Une marionnette microcontrôleur à base

Groovin ' Grover : Une marionnette microcontrôleur à base

Grover Groovin ' est une marionnette manipulée par quatre servos de passe-temps et un contrôleur de servo microcontrôleur à base de Pololu Maestro. Vous pouvez contrôler chacun des membres de Grover indépendamment et lui faire à pied, vague et plus d
Programmateur de microcontrôleur PIC 16F917

Programmateur de microcontrôleur PIC 16F917

dans ce instructable, je vais vous montrer comment construire un microcontrôleur PIC 16F917 circuit de programmation. Ce microcontrôleur est une forme très agréable du chip Microcontroller le fabricant de la célèbre puce Microchip.Ce microcontrôleur
Le portail « Toujours vivant » microcontrôleurs AVR

Le portail « Toujours vivant » microcontrôleurs AVR

encore un autre, mais instructable, axés sur le portail différent !Celui-ci vous montre comment à :  1) construire un appareil très bon marché qui joue une version 8 bits de Still Alive de portail2) sur le même matériel, mais avec une puce différente
Comment concevoir un boîtier de microcontrôleur

Comment concevoir un boîtier de microcontrôleur

Si vous avez besoin d'une enceinte, mais vous ne savez pas par où commencer. N'importe quel type de matériel vous avez besoin pour protéger, il y a quelques choses que vous voulez garder à l'esprit votre armoire du voyage.Ce Instructable couvrira les
Comment programme microcontrôleurs AVR, bon marchés et faciles

Comment programme microcontrôleurs AVR, bon marchés et faciles

Cette volonté instructable guide vous étape par étape comment faire pour exécuter un programme simple en un micro-contrôleur ATMEGA (uC). Si don´t vous savez tout sur comment votre code est stocké dans les microcontrôleurs, il existe essentiellement
Comment tester facilement un microcontrôleur avec un analyseur logique

Comment tester facilement un microcontrôleur avec un analyseur logique

Certains de mes projets dans le passé ont eu des problèmes en raison d'une mauvaise broche numérique. Si c'est jamais arrivé à vous, alors vous savez comment il peut être frustrant. Première réaction de la plupart des gens, c'est qu'il y a quelque ch
Comment faire pour lire binaire/hexadécimal molette avec un microcontrôleur AVR

Comment faire pour lire binaire/hexadécimal molette avec un microcontrôleur AVR

cette instructable va vous montrer comment lire le numéro sur un pushwheel binaire ou molette commutateur à l'aide de LED ou un microcontrôleur AVR (j'utilise un ATmega328p mais cela peut être adapté à n'importe quel AVR ou probablement un autre micr
Comment faire un 3D imprimés cas de microcontrôleur

Comment faire un 3D imprimés cas de microcontrôleur

L'appel à des choses impression 3D est assez apparent. Vous pouvez créer toutes sortes de choses dans diverses couleurs et leur incorporer vos propres styles de fantaisie. Si vous êtes une personne qui aime l'idée d'être en mesure de personnaliser vo
Comment faire des écrans personnalisés pour vos microcontrôleurs

Comment faire des écrans personnalisés pour vos microcontrôleurs

Microcontrôleurs comme Arduinos sont un excellent moyen de contrôler vos projets électronique personnalisé. Mais il faut toujours un moyen de connecter les composants externes à la Commission de microcontrôleur. Cavalier des fils peut travailler pour
Comment faire pour mesure courant CA à l’aide de capteur à effet Hall avec Arduino ou autres microcontrôleurs commune

Comment faire pour mesure courant CA à l’aide de capteur à effet Hall avec Arduino ou autres microcontrôleurs commune

S'il vous plaît voir une nouvelle approche plus simple iciObjectif : Ce Instructable montre comment faire une boîte d'interface qui, lorsque raccordé à une rallonge, permet de microcontrôleurs communs comme l'Arduino à mesure AC courant comme un sign
Comment conduire un grand nombre de LEDs de quelques pins de microcontrôleur.

Comment conduire un grand nombre de LEDs de quelques pins de microcontrôleur.

En utilisant le fait que de microcontrôleur NIP ont trois États (+ V, GND, ou« haute impédance », vous pouvez conduire N*(N-1) LEDs de pins N. Si le petit 8broche microcontrôleur comme un PIC12Fxxx ou un ATtiny11 pouvez conduire 20 del surses cinq di
Comment changer fusible bits de Atmega328p AVR - microcontrôleur 8 bits en utilisant Arduino

Comment changer fusible bits de Atmega328p AVR - microcontrôleur 8 bits en utilisant Arduino

Dans ce instructable vous apprendrez comment changer les bits de fusible du microcontrôleur Atmega328p. J'utilise Arduino mega comme programmeur au programme Atmega328P-PU sur maquette. Il est livré avec une valeur par défaut 1MHz interne calibré la